I am trying to remove languages that are not supported in our app. In the project file in the info tab, I have removed all the languages under the Localizations.
Then I build the app and launch on my iPhone that is on iOS 13. In the System Settings, I find my app name and I can see Languages. When I click on it I can see the languages that are not supported anymore. Is there any other place I should remove something in order not to see those languages?
I found that erasing the simulator device and deleting the .lproj subdirectory wasn't enough, the deleted language was still showing up in the app settings. But restarting Xcode and cleaning the build folder seemed to do the trick.
Related
While developing with all my tools up to date, I noticed that on 8.3 and lower devices my extension seems to have disappeared and not show at all in the list from which users can enable it. I extracted the contents of the app file and the extension does get compiled and packaged.
On a few devices we decided to update, the extension immediately started showing up on iOS 8.4 devices (post update with no app reinstall required).
What's up with this? Has anyone else run into this issue? Is there anything I can do to fix it?
NB: I have to mention, the only thing that changed was updating our dev tools. The extension project was untouched. Dev environment is using Xamarin.
Make sure that the CFBundleDisplayName and CFBundleName values are both set in your Info.plist for the Share Extension. If my memory serves correctly, I've run into the same issue before and that's how I managed solved it.
After checking with Xamarin, the project template does not set the deployment target in the info.plist by default (or it might have gotten lost with updates to the tooling).
If the "Deployment Target" is not set, the extension will only show on devices running the latest os version that was supported at the time the app was packaged.
I've added a few new translations to my iOS 8 project. If I now let my app run on my simulator, the new translations won't be shown.
After I have changed the language to German and back to English, the new translations appeared.
Is this a normal behavior? What happens if the user download the update from the store?
Just guessing, mind you, but I've seen similar problems only with simulator and never with App Store update over an earlier app version.
Xcode and simulator seem to cache resource files, such as graphics and localisation, and sometimes fail to notice when they have been updated.
You can reset simulator from menu: "iOS Simulator" - "Reset Contents and Settings...", but that will wipe away everything. However now you should get all the latest resource files (which Xcode thinks are the latest).
Sometimes it's enough just to ask Xcode to clean the project and rebuild everything. Note that Xcode menu: Product - Clean is not enough. You have to do Product - Clean Build Folder (press ALT button while menu is open). Sometimes you have to go to menu: Window - Organiser - Projects and delete Derived Data folder.
A clean doesn't work. A reset does neither. What worked was that I've exported the translations, changed something and import it afterwards.
If doing this way, iPhone and simulators both will see the updates.
I test all translations on the device. The simulator is not reliable with respect to translations.
There are many issues in the iOS 8.x simulator runtimes related to CFPreferences, so your app is likely stuck on en_US as its language rather than respecting your settings. Please give the latest iOS 8.3 beta simulator runtime a try as it addresses some of these issues.
I'm trying to run an Apple WatchKit target with my Universal app, using Xcode 6.2
I'm probably doing something wrong, but I can't access to the simulator in the scheme menu
Any idea ?
Have you tried to attach it in the iOS simulator?
This appears to be a bug that at times affects some Build Schemes for some reason. Fortunately, it is easy to fix.
In the menu that appears in your screenshot, select "New Scheme".
Select your WatchKit App as the target, and give it a name. Click 'OK'.
In the new entry in the Schemes menu, you should now be able to open your WatchKit app in the simulator.
You can also correct this issue via "Manage Schemes" and removing and re-adding your existing WatchKit App.
No luck?
For those who are still having a headache after doing this list of things:
Creating new schemes
Hacking Targeted Device Family
Autocreating schemes
Clearing Derived Data and Module Cache cleaning Project
Restarting Xcode, Mac
History
It took me about 3 hours to get rid of no targets (my case was My Mac target), I copied the project somewhere to keep my current data and I did these things to inspect:
Deleting current targets (AppExtension and WatchKit)
Creating them again (for my surprise the iOS Simulator this time came up)
Opening Product->Scheme->Edit Scheme
Selecting a scheme which target is WatchKit App
Under Build I see that my old scheme had only its own target (WatchKit one) while the new that was generated from new targets had 3 targets (MainApp, WatchKit and WatchExtension)
I did the same thing to my old ones by adding target, and the simulator came up, ran it and worked perfectly
Solution
Open Product->Scheme->Edit Scheme
Select your WatchKit Scheme
Select Build and if you see only one target, that could be the case, add the other required target (in my case were MainApp and WatchKit Extension)
If it works, cheers :)
Hope it helps somebody
This is likely the issue reported in the Xcode Release Notes whereby Xcode can't communicate with the simulator service if you rename Xcode.app. Please reboot your system.
Renaming Xcode.app after running any of the Xcode tools in that bundle
may cause iOS Simulator to be no longer be available. Either rename
Xcode.app back to what it was when first launched or restart your Mac.
(16646772)
If you open the Watch Kit project in lower versions of Xcode (6.1 and below) you wont get the simulator options.
Not sure if you have done the same, but I just observed this today.
I have an iOS project that has several targets. Each target also has an embedded Today Extension.
All my build schemes have been created automatically, and recently refreshed.
However, when I try to Debug/Run my Today Extension on the actual device, Xcode deploys multiple apps/extensions to the device, not just the one in the selected Scheme.
For example, if I select this scheme:
...then not only is BusCheckerTodayExtension, and its containing app installed to the device and run, but also BusCheckerUKTodayExtension, BusCheckerWESTTodayExtension and both of their containing apps too.
Is this a bug to be reported in XCode or is this some obscure build/dependency setting that I've missed?
This was almost certainly a bug in Xcode and seems to be fixed in newer releases.
I have an app on App Store. When I try to deploy a build on a device which already has an older retail version of my app installed, it does not update the icon of the app unless the device is restarted. It only happens on FW 6.0+. Does anybody have any ideas on why it is happening or any suggestions to fix it?
What I noticed seemed to work for me last night was to remove any of the files from my project and the Finder folders for the same project that sit next to the main project file. I also had different names for the older and newer ones so I removed the older ones from the plist file too both under icons and iOS 5 icons. Finally I did a Command+Shift+K to clean the project. That all seemed to do it for me on the emulator and on my iPhone I just had to reboot.