CoreLocation stopped working for a couple of app users - objective-c

I have an app that relies on CoreLocation. In the last week I've had two users send me an email letting me know that location doesn't work anymore in the app. It's a fairly straightforward app that has the ability to display weather based on your current location.
The users swear that location services is enabled, even for the app specifically. In both cases, everything worked perfectly when they first purchased the app but stopped working all of a sudden (their words).
I've had them do several things for me like use other apps that use location services to see if they work or try from alternate locations. They've even uninstalled my app and re-installed to no avail.
Am I crazy or is the users? It just sounds farfetched to me, but I'm far from an expert at this. In both cases they're using an iPod Touch and/or iPad wifi only model. Both are running 5.0.x.
A re-install of the app should certainly reset things to default, right? Do remnants of an app linger around only to be used on a re-install?

In looking through my code I realized that I changed from StartUpdatingLocation to StartMonitoringSignificantLocationChanges which only works on the iPhone 3GS and up. Since it doesn't work on the iPad/iPod Touch this was creating my issue. I changed my code to start the app using StartUpdatingLocation and once a location is received switch over to StartMonitoringSignficantLocationChanges. This resolved the issue for all iOS devices.

Related

Updating app with new codebase results in blank screen

recently I've rewritten native iOS and Android apps (Swift, Java) to React Native. On testing, everything works fine, but when the application has been published to Appstore and Play Store, many (if not all, only judging by the users that contacted me before rollbacking to previous version) users were on update greeted with black screen. Once removing the app and installing it again, everything worked fine.
I can't really pinpoint any reason why this would happen. Has anyone met with this problem before?
Thanks
I think it is related to stored user data (user preferences).
It seems that you are depending/using the same old users' preferences keys/values which is tricky to pull off.

Mac App crashes when I add a Distribution Profile

I've created a Mac App for Mavericks that uses MapKit. It works fine during development and testing on Xcode 5.1. Now I'd like to submit it to the App Store and I need a Distribution Profile which I've created successfully. Trouble is, as soon as I add it to my project, the app doesn't run anymore - it crashes every time without fail with this error message:
When I change back to "no provisioning profile", or to the profile that Xcode created during development, the app runs again.
My question: Is this expected behaviour, or will the app be rejected by the review team? I know that iOS apps don't run with their distribution profiles, but I'm new to Mac Development. Any insights into this way too complex topic are appreciated!
My app was approved - and the crash was indeed no issue for the app review team.
I had a chat with Apple about this who were kind enough to call me back and explain the issue. Looks like this phenomenon is "kind of" expected behaviour: Mac Apps may or may not crash when run with a Distribution Profile.
To avoid this problem, we can add both a Development AND a Distribution Profile to our app, without one having to replace the other. This was news to me. Had I however opened my tired eyes a bit wider I would have perhaps spotted the little disclosure triangle myself:
Perhaps this helps those with the same issue.

Why the updation of mobile applications require installation of whole apps again?

I am new to mobile application development(basically android). I was just wondering that, whenever, we try to update an application, every time, the whole app has to get installed, which is frustrating. Just imagine, reinstalling whole apps for "minor bug fixes". Couldn't we just update that particular feature of the app. That would save a lot of time and money, especially for people in remote areas, where the internet speed is very low.
I searched for a proper answer but couldn't find any.
Thanks, in advance!!

App Wireless Distribution not working in iOS7. Internet Connection needed?

In iOS6 I used to install some of my apps over an adhoc network without internet sharing. So the iPad had no internet connection. Therefore I use a typical html and plist file. Everything was alright.
Now, in iOS7 the installation is not working anymore. It is just stuck in "Waiting" and nothing more happens. (Note: It is still working on my iOS6 iPad)
First I thought something might be wrong with my plist, but then I copied the files to my IIS Server and installed it from there. Here I had a internet connection on my iPad and everything worked out.
Is it possible that the wireless distribution now needs an internet connection in iOS7 e.g. to check the ipa in the app store or something like that? Because this is the only difference I can see.
The app is signed with a valid distribution profile.
Thanks for your help.
It turned out the installation of apps over the air in iOS 7 really needs an internet connection now. The iPad tries to contact at least the following URLs before installing the app.
ax.init.itunes.apple.com: The device obtains the current file-size limit for downloading apps over the cellular network.
ocsp.apple.com: The device contacts this site to check the status of the distribution certificate used to sign the provisioning profile.
It seems in iOS6 it was ok if those URLs were not reachable and now in iOS 7 they have to be reachable.
Well i just had the same problem and I figured it out. At least on my xcode this is what happened. Turns out the application target release code siging identities auto set to developer and not their current state, from xcode 4.x, which is distribution. So when I went to distribute my application I kept getting the same error you had. So Click on your project name in your project explorer then click on the application target, not the project, and make sure the code signing identity is not set to developer for your releases. I have no idea why the code signing identities were automatically set to the developer profile, maybe there was some sort of bug when updating from xcdoe 4.x to xcode 5 that caused this. But now other devices are able to install the program. Hope this helps.

Determine whether app has been previously installed

I'm about to implement some unlock-functionality In-App-Purchase in an app. The client would like the functionality to be available the first two weeks after installing the app, and then go away until the user pays up.
I need the app to determine whether it has been previously installed, deleted, and installed again. If I can't do that users can just reinstall the app and get two more weeks for free.
Any ideas?
It seems all data is deleted when the app itself is deleted, which kind of limits my options. There is a server backend to the app. Is my best option to log something there or is there another way?
You can make use of the keychain in iOS. It will not be removed even if you uninstall the app. But you have to make sure you use the same provisioning profile across different versions of your application.
And, have a look at this utility