Xcode Display Name and Danish Characters causes Xcode to fail - ios

I'm developing an app with Swift + Spritekit with the project name as simple as "learningApp".
A good step and several hours into the development my team decided to name the app (with danish letters) "Lær Toner" (which in English means to learn tones).
However, when doing so - the entire project fails in Xcode. The .swift and .sks scene-files are not able to communicate and the console outputs this message:
2019-10-31 00:09:47.549357+0100 Lær Toner[18206:292858] Unable to load custom class 'LaunchScreen' from module '(null)'
Just to be clear, here's images:
So if I change the name to "Learn Tones" there are no issues at all and the app works as intended. As soon as I change it back to "Lær Toner" and run the app the console outputs the message above.
I tried to change it via "Build Settings" also - I also tried to reboot Xcode, clean the build folder, but nothing have helped so far.
I can see in the Danish App store that multiple applications have Danish letters like Æ, Ø and Å in the name, so that leads to think it's (hopefully) a minor thing I've missed.
I've searched the world wide web till the end, but I have not found anything close to a solution to this issue.
If anyone has any input, or knows how to deal with this, I'd be a happy developer.
Thanks in advance.

I found the same issue when i have changed the display name from the 'General' tab of my target settings.
The solution is;
Go back to the previous name by discarding the changes you have made, and make sure the app is running correctly.
Uninstall the app from your device or simulator.
Clean the project.
The important thing is to add a new key on your info.plist
<key>CFBundleDisplayName</key>
<string>Lær Toner</string>
And it will be ok.

Related

Custom font disappears on App Store version, but worked 100% during development builds. Spritekit

I've installed a custom font into my spritekit game. Tested it in simulator & iPhone5,7,11 pro. No problem. Works 100%.
So I finished my app and uploaded it to App Store connect. No problem.
Waited the normal time for apple to review my app. Got approved. No Problem.
So I go ahead and download my app for the first time from App Store. - CUSTOM FONT IS GONE!
I've done the following to make it work during development:
Made sure the added font's target membership is checked
Made sure the font's name is added to the info.plist (Fonts provided by application).
Made sure I'm using the correct font name.
Made sure the font is included in the "Copy bundle Resources" under Build phases.
-- All is good. Tests 100%.
What I've tried since realising the Font is not correct on the App Store version. (And by the way, I have to wait for Apple to review my new version every time to see whether the little changes I made had an effect.)
Added a ghost label to Scene.sks . (The Font name is found in the dropdown list)
Used a different Custom Font.
-- Same issue
I'm suspecting an issue on Apple's side.
Is there by any chance someone that has come across this issue before?

Why Xcode shows "This app could not be installed at this time." pop-up?

When I run the project and add the app in simulator for the first time, everything is okay. But when I run it again, Xcode prompts this message as a pop-up window at the end of compilation:
This app could not be installed at this time.
I already checked the relevant question, and tried all the advised ways to solve this issue; checking mentioned logs, cleaning project, restarting simulator, changing it, erasing all content and settings in it. Nothing works. I must erase the app and recompile it every time to open the app. Did you get the same message before? Is there any way to detect problem and resolve it? Btw, I use Xcode 9.2 at High Sierra.
This error pop-up may come up for different reasons. There is no specific reason to see it for now. In my case, a JSON file that I added to Bundle in order to provide mock data triggered this issue. This file was containing a Turkish letter in one of the keys. After I fix it, the pop-up is gone. Interestingly, earlier simulators (<=9.1) work properly if JSON file contains Turkish letter but 9.2 simulators cannot tolerate it.
Worked for me when I rebuild the project after deleting the derived data folder.
I think I may have found a solution. This all started a short time after I let Xcode update my project settings. Specifically on my CocoaPod-Subproject. I removed the pods and reinstalled them and now I am no longer getting the pop-up.

iTunes Connect: Can't save app information after uploading new binary

I'm trying to upload an iOS app for review using Xcode's Organizer and I've encountered two problems:
Case 1
Binary uploads but when I press Submit for Review iTunes Connect gives the error:
Your app information could not be saved. Try again. If the problem
persists, contact us.
Case 2
After getting the first error message, I tried uploading a new binary, but got the following error message in Organizer:
ERROR ITMS-9000: "Redundant Binary Upload. There already exists a
binary upload with build version '1.1' for train '1.1'"
I tried uploading other binaries changing the version number but still I can't get my app to go in the review state. I also can't see any way to delete old binaries that were uploaded.
Another observation: My app should be around 30MB but when I look at the uploaded binary it is only 1.46MB. I guess there might be something wrong from the binary but I've built it using the same technique several times before and never had any issues.
Any ideas?
For me, I was filling out the form in Safari and getting the error. I logged out, then switched to Chrome and signed in. This fixed the error, and I was able to submit.
Sign out and Sign In again should work as it worked for me!
I solved this by increasing the number in Build (Select the Target, then Xcode -> General -> Build, see picture) by adding .1 so the build was 3.75 -> 3.75.1.
But only for the Build, the Version is still 3.75 and also appears like that in iTunesConnect.
Then the new binary uploaded and I could select it for review. In the picture below you may see the old and the new binary listed in iTunesConnect. Then I finally just had to select the new binary and submit for review.
Open web inspector, you will find that Apple said: We've got a server error ... 500
That's the real reason. :)
Update:
Inspired by #phantom, I try to use dotjs to run a javascript script to auto click submit button per 15 seconds, but still get the 500 error all the time.
#Geaka's answer is working for me. Because my product name is Chinese,I change my product name to english(DO NOT include whitespace! It maybe causes another error on building path error.)
I debug the apple website and find a js script named submit_for_review_cntrl.js which controls the whole submit progress. From line 123 to line 129(formatted by {} button in chrome) that setting the http headers, there is a field named X-Original-Filename, the value is given by $scope.addCcatFileToJson method in line 138, the param of this method is given by ajax callback, i guess there's a bug for encoding the product name field of the back-end code.
WTF Apple!
We just solved our version of the problem (generic error message)...
After hitting submit for review I was trying to upload a file for the ERN since my app uses encryption. It finally worked when I used a zip file that contains an image of the ERN response and a txt file describing what encryption is being used.
The problem unfortunately still occurs. My solution when this happens is removing the binary, clicking on the save button then adding the binary again. Then save and follow the standart procedure. That solves the problem for me without changing the build version or doing anything extra.
Finally find the solution:
Steps:
If your app version and build version is 1.0, keep version 1.0 and change build version as 1.1(bigger than last build version), then upload it.
If your app name is English, choose this build and submit to review, it would be change to review.
If your app name is not English, Chinese for example, you need to name it in Bundle display name,
Do not name it in TARGETS directly.
Maybe is also works for Japanese and Korean.
I solved this by switching over to Chrome instead of using Safari. Presto, worked right away!
I have met this problem this morning and have solved it. I change my product name from Chinese to English, and write the Chinese name in the Bundle display name, which solve this problem.
You can change the Bundle display name in the info.plist, and change the product name in the General tab in the project.
that's an erratic error. Probably some apple infrastructure problems You may have done something and then it worked - switching your browser, increasing build numbers and the like. But you could've hit several times submit as well. At least, after a while, my submission has been successful.
I opened the iTunes connect on my iPhone , and was able to submit sucessfully via iOS safari. I don't know why.
You will need to change the Build version. Create 1.2 build for version 1.1 of your app. Then upload your binary. After few minutes (on processing) you'll find new build to submit for rewiew.
I spent 2 hours !!!
Finally, i found the solutions. The main culprits is your PRODUCT NAME, it must be in English!
Go to build setting --> packaging --> change your product name into English
Change your "BUndle Display Name" to your desire localized name
Increase your build version and re-upload
This time you're fine!!!
I was plagued with these errors over and over when adding new screenshots.
Nothing seemed to help.
Then I visited iTunes connect in Safari (I normally use Chrome) and somehow all errors went away.
Maybe related to a Chrome browser extension like AdBlock?
TLDR; use Safari for iTunes Connect
I experienced this submitting an update today to my app. For about 30 minutes I retried and received the same error. I tried, removing the binary, signing out, I also rebuilt the binary with an incremented "Bundle Version String".
None of these steps made any difference, but I continued to retry, continued to get the same error, and eventually it accepted the submission.
I don't believe any of these solutions I tried made any difference. I believe there was some internal error on itunesconnect. As the message suggests, I think all you should do is try again later...
I only need to clear all my cookies, instead of switching browser.
Switch the browser you are using & then remove the build, save that once & then again add the build to it & then again save it. After that click on submit for review & it will work perfectly.
After 3 day, Itunes accept my first binary. I have tried to change my Bundle Display Name to English then tried to change to keep version 1.0 and change build versiyon to 1.2. Tried a lot of think and after 3 days surprise!!! Apple accept
I also got this error. Solution I found was to change contents in "Name" section of app description in iTunes Connect.
There was no need to change app name to English language (as some suggest), I just removed ":" character from app name - and then I could submit it to review! My localized versions of application still contained non-English names.
Had the same problem since my application name contains ":". The iTunes connect server returns 500 error because of it. I've just temporary removed ":" from English app title, submitted app and returned ":" back.
I think it ended up being a combination of several factors, but one thing that was definitely wrong was that I hadn't clicked the box about posting info to the Korean store. This was off by default and needed to be clicked. After doing this and several version changes (ended up submitting 1.2 instead of 1.0!) my app finally went into "waiting for review...".
Tried all possible solutions Chrome and Safari; none of them worked.
Then I switched to Firefox and magically it went through.
I found the simple solution. Just go to detail of the version, remove the current build then save.
Then click on the blue add button and add the current build again, save again. Then submit again.
It work for my case. Hope it helps
Log out from the iTunes from the current browser. and Login to iTunes from the another browser and try to submit the app.
Hope it works!
And Make sure that there should not be the Redundant binary (in other words the build number of the binary should not same).
I've just had the same problem.
Switching browsers to Chrome fixed it for me straight away, so will try clearing out Safari, and re-booting in order to get back to submitting with Safari.
#rayg - and for the sake of others - the Korean checkbox doesn't have to be checked in order to succeed in getting the app up for review. Maybe under certain circumstance it does have to be selected, so I'm not saying your solution to your scenario is wrong, but the post gave the impression that it's a requirement for every submitted app, which it isn't.
I have tried above all recommended solutions but none of them worked for me .
Then I select build version from my mac system and logged itunes connect using firefox from window system and it worked for me.
Or you can try itunes connect login from another Window/Mac system.

app won't run on device & meta

I'm searched both here and at apple's devforums and followed all suggestions and am still stuck.
Basically, my app runs in the Simulator but won't run when switched to the device (an iPod touch). No errors - I get a 'finished running' message from Xcode.
The trick is that another of my apps does run on the device. Hmm.
Incidentally (this is the 'meta' part) this bug is very confusing. I haven't a clue where to look/what to read. It makes me think that there's a document somewhere that I've missed. Any ideas about solving these types of bugs in general?
Holy camoley I figured it out.
I switched the following entry in the plist:
Main storyboard file base name (iPhone)
to this:
Main storyboard file base name
That did it. I'm running on an iPod touch, but either way that seems like a bug as Xcode could just check that the plist entry matches the device being run on...

info plist seems outdated and cannot validate App with App Store

I took a project I did recently where the app was universal and I copy-pasted the project. With the copy, I've done a Lite version where I don't support iPad.
I've changed everything I think necessary to make this project as unique, independently that it was a copy from another project: changed the bundleID (matches with the first version on the store), project name, display name, etc. I've removed the iPad storyboard and all the iPad icons. I've also removed the iPad icons from the plist.
Now the App is ready to go and i'm trying to validate it with Apple. Then it gives me the following error:
Icon specified in the Info.plist not found under the top level app wrapper: Icon-72#2x.png (-19007)
but for all the "missing" icons. Before I tried to validate, the debugger said nothing but after the validation attempt, it now give me 6 warnings, which say the same as the error above. One warning per "missing Icon".
I've tried to delete derived data from xcode, clean the project, restart Xcode, etc. But it keeps telling me the same.
Any idea? Thanks in advance!
If you change from universial to iPhone-only via project interface, the iPad-Icon and the iPad-Storyboard are still in the info.plist.
Just open the info.plist as Propertylist and delete the wrong entries.

Resources