I have an app that does not currently use a Setting.bundle to display setting in the iPhone Settings app.
I am releasing an update that does.
On a fresh install, the settings are added to the Setting App as expected, but upon updating from the old install, the bundle is not added.
Is there some sort of trick to get the Settings App to show my Settings.bundle?
It turns out a full clean did the trick. I think the bundle gets cached somehow and even on changes, Xcode doesn't recognize it changed sometimes.
Related
I'm currently adding iCloud support for my app, but i noticed that in the iCloud -> manage storage settings my app's icon is missing. I've added the Icon-Small.png/Icon-Small-50.png plus their #2x versions in the xcode project in the "Resources" folder, then added their names in Info.plist but it still shows white.
What am i doing wrong?
Once you show up in Settings, a little like registering your device for push notifications, there's some caching happening. You should try resetting all settings and installing fresh. Also if it's a physical device, not the simulator, try to delete the app, set the date forward by over a day, install fresh, and it should bypass that cache.
Did you build the app, compile it, and added the icon very later on? This is usually a caché issue. The best way to go around this is to uninstall the app from your device and do a clean build.
I was trying to try out and create a .app file for my application and so I followed a tutorial.
After doing this and running the app again on the simulator it always runs with the old code that I have. Why is this? I tried reverting everything back again, but it just won't.
I tried printing something when the app loads, but the app that runs didn't print anything
UPDATE:
I found a fix which is to revert back my bundle identifier to the old one. Why does this work? What if I want to create a binary again to be distributed in the app store, what should I do from this point?
You probably have two apps with the same bundle identifier on the simulator, and Xcode starts the wrong one.
Try to delete everything from the simulator.
Open the iOS Simulator menu in the main menu and select Reset Content and Settings...
I've had the same problem before and for some reason it just didn't update all the files in the bundle that it deployed to the device/simulator. Just delete the app from the device/simulator and redeploy. When it happened to me it didn't create a second app it just didn't completely update the bundle.
I previously used the Settings bundle on in my iPhone app but am finding it an increasingly annoying overhead to my code and have decided to move all the settings to inside my app.
When I next issue an updated app is there a way to have the old Settings Bundle removed without having to somehow ask users to re-install?
Just to let you know, I have also removed the Settings bundle from my app (settings are now accessible in-app).
I too was wandering what would happen when users updated, as the app remains in the settings menu when developing.
I can confirm, however, that the app successfully disappears from the settings menu once it's updated from the App Store, without having to delete and reinstall.
I have just installed the latest update to the iPhone.
I also have deleted my app from the iPhone and noticed that a previous install of my app has left the Settings bundle on my phone after I dis-installed the app. Now, I have a Settings bundle without the related app.
This should not be possible as the older version sandbox should have been cleaned up or deleted when I dis-installed the previous (older version ) of my app.
What's going on? How did this happen? What programmatically happen that could even allow the Settings bundle to persist?
In order to solve this situation, I did a full restore to the original factory settings and this eliminates the app Settings bundle that had no related app. Restoring your contacts, etc did not cause an issue.
Having said this, it still seems strange that you can un-install an app and have the settings bundle remain. But, it is a good design for their to be different sandboxes for different installs of the same app which keeps everything ring fenced.
Application Settings.bundle contains a version number, which is automatically generated during build. From build log I can see that new value is written there, also when looking inside the file itself in MacOS X Finder I see correct updated value.
Settings in iPhone simulator or in real iPhone shows me the old value. Removing application and reinstalling is so far the only way I've managed to get the new updated value visible.
Question: how can I force iPhone Settings application to read my new latest updated bundle file?
Some background info, which might or might not be related: I install application only via Xcode into both simulator and iPhone. Is this the problem? Just found this in Apple docs, not sure what it actually says. Seems to contradict itself (last chapter)...
Each time you reinstall your application, iPhone OS performs a clean install, which deletes any previous preferences. In other words, building or running your application from Xcode always installs a new version, replacing any old contents. To test preference changes between successive executions, you must run your application directly from the simulator interface and not from Xcode.
So Xcode always replaces old content, but to test changes I cannot use Xcode? What was that? Done both (after installation via Xcode) and didn't see new values in settings. Any ideas how does it actually work? Do I always have to make non-Xcode installation?
Try cleaning and building. It seems that xcode caches dates and doesn't notice the change that your script is making. I've had similar things happen, clean always fixes it, but it is indeed a nuisance.
Make sure to shut down the Settings app running in the background on device. It looks like Settings caches settings while it's running - but pulls the updated values when the Settings app is re-launched.
In my case, it seems that my modified root.plist, created/edited via the Xcode property list editor, just wasn't being saved.
There was no problem at all with the Settings Bundle being copied over to the iPad. A quick cmd-S followed by a rebuild and go/debug updated Settings on the iPad straight away - no app uninstall/reinstall even needed. You'd think there'd at least be a haven't-saved-it warning from Xcode, as there always is for code source files.
I just tried this and it worked.
In Xcode go to : Window->Organizer,
then view installed apps on the connected iPad/iPhone, remove the app, then recompile and run your app on the device.
I think the issue has something to do with the iPad's cache.