Just got my game approved and listed in the app store.
One thing that bothers me is that my listing says that my game supports a huge array of languages, even though my game is only in English. In my descriptor, I only provided an English name and description.
And I'm looking through the other AIR-written apps, and I'm seeing the same thing. Looking at the iTunes Connect listing, it appears that the supported language-list is coming from a manifest inside the game, the game itself (specifically the "iphone-bundle-localisations" identifier).
Is there a way to set this in your iOS descriptor XML?
You can modify the languages in the XML, but it seems that it makes no difference!
Really weird, I though it is just internal, but as you said it is displayed in itc and therefore it should be changeable from flash.
Thanks for raising the issue. As per page 64 & 65 of https://itunesconnect.apple.com/docs/iTunesConnect_DeveloperGuide.pdf, you should be able to delete languages. Could you give it a try?
I just tried that and got an error that you cannot change your app's languages while your app is live in the app store or under review. In any case, I think those localizations you set via the iTunes Connect page are just for your listing (i.e. you could add a French description and screenshots to your listing so that French users would see a localized listing).
Best I can tell, the languages list is being pre-populated from the .IPA file itself. If you open your .IPA file in a zip program, you'll see .lproj folders for 14 languages, and I'm thinking that that's where iTunes Connect is making the assumptions about the languages you support.
You can't change those in iTunesConnect!
These info (as John said) is just for changing the description info within iTunes and is therefore separated from the languages in the app.
It seems that there is an error/bug and (from what I can see what the ipa holds), because language infos are inside the folders if they are selected from within the XML, if not there are still the language sets, but without content.
I have to push this one again, since I just read comments from customers of an app a friend has made with air and they are complaining that they can't change the language though the description in iTunes claims it is a multilanguage app.
Is there anyone being able to just publish to one language with air 2.6 or 2.7?
This seems to be a major bug if this is not changeable and I am wondering how long Apple will accept those apps...
That's good to hear. However, I think you should think about a new release cycle. Since there are some bugs that need to be fixed really soon - and I think that just will happen if other aspects of air for different hardware will be done too. Waiting one or two more month for such an update would be hard, especially if apps don't work out because of that...
Hi my app was released a week ago and has the same problem.
Just wondering if there is anything I can do to make English the only language, or is there no way around this bug?
there is nothing you can do. Sadly this is a bug since 2.6 and I think not a lot people are really aware of problems that this might cause. If you could use the language settings it would be great and I hope that this bug is caused by tests to do so (right now, I think you just might be able to use individual names to be displayed on the device), but you can't publish for different selected localizations. You will need to do that within a selection from within your app.
I really hope that a fixed update will come soon, since it is just a matter of time until you can't longer publish apps that claim to support all languages, but in reality don't do that...
This is a shocker. I was happy to get our app approved and didn't notice that we were offering every language until a colleague pointed it out. As there isn't a work-around, then we're stuck with this situation until Adobe fixes it. My problems are; 1. we are all effectively doing false advertising, and 2, if Apple's attention gets focussed on this it's another reason for them to be restrictive around the dev stacks they'll accept apps from. I really hope this gets urgent attention at Adobe.
Yep my thoughts exactly. Was probably going to add something to the app's meta description along the lines of *Note: Only available in english.
Hopefully this will be enough to save our *** from getting sued!
I'm having the same problem with my app - and it's a DICTIONARY so I think it's pretty important that it be clear it's only available in English!
Any update on when this will be resolved? I feel like it really need an urgent fix.
Am I the only one who feels like Apple is constantly teetering on the edge of banning apps made with any program other than XCode and things like this might just send them over the edge? Or am I overthinking it?
While we are actively working on this, Following is the workaround for you which will work only on Mac.
1. Generate the ipa using your favorite tool (FB, Flash Pro, ADT)
2. Rename .ipa to .zip and extract it.
3. you will now see a folder called Payload
4. Inside Payload you will find <binary>.app right click and select show package contents.
5. Delete all such x.lproj where x is not the language that you support
6. Run the following command
/usr/bin/codesign -f -s "iPhone Developer: Your Name (XXXXXXXXX)" "--resource-rules=./Payload/binary.app/ResourceRules.plist" "./Payload/binary.app"
7. In above command iPhone Developer: Your Name (XXXXXXXXX) is a string you see in your Keychain. (Make sure you install your p12 into keychain before running above command.)
8. Right click on Payload and select compress
9. Rename the .zip file to .ipa
10. install this new ipa to see its installing. (If there are some errors in codesign-ing you will get error while installing the app)
Hopefully!! You should get what you needed!
I tried this and something similar, it does work to use this on an own device, but have you been able to upload it to iTunesConnect?
When I was trying it, I got a codesign error, though everything was ok with the developer infos. I compared them with the original files via the Terminal...
Application launcher always gives me errors with this solution. However, I have been heading in the same direction with a little different Terminal script. When I have time to figure out if the app really gets accepted, I will post it here...
To create the binary to upload on iTunes. There are some changes.
In step 1. while generating the ipa use the distribution mobileprovision (NOT the development mobileprovision)
In codesign step the value of -s would become "iPhone Distribution: Your Name" (Make sure you distribution certificate(p12) is installed in Keychain)
I just tried to upload an update v1.1 of my App "Dragon Party" ( http://itunes.apple.com/de/app/die-olchis-ein-drachenfest/id464300466? mt=8 ) to iTunes Connect.
I compiled the IPA as usual (distribution profile, app store mobile provisioning).
I wanted to kill the additional languages and used the step-by-step procedure described above, resulting in my last codesigning step:
/usr/bin/codesign -f -s "iPhone Distribution: Verlag Friedrich Oetinger GmbH" "--resource-rules=./Payload/App_Drachenfest_53_MULTI_AIR30.app/Resour ceRules.plist" "./Payload/App_Drachenfest_53_MULTI_AIR30.app"
It worked like a charm, terminal told me:
./Payload/App_Drachenfest_53_MULTI_AIR30.app: replacing existing signature
I looked into the app and truly, the CodeResources in the payload were updated.
Afterwards i compressed and renamed the app again and installed the IPA on my iPad without any problems.
Then I tried to upload the app using the newest Application Loader 2.4.1 (190).
This is the result:
I don't understand these errors - I used the same Distribution Zertificate and App Store mobile provisioning as usual when I upload my other apps to the App Store.
I now uploaded my v1.1 update to iTunes Connect without first patching the languages and it worked fine, no problems with the Application Loader.
1. My app is fine, the Distribution Certificate and App Store mobileprovisioning profile are valid and match with the ID, the correct name from the keychain was used etc. etc.
2. Proof of this is: I could upload the unmodified app with Application Loader to iTunes Connect
3. But when I change the app content, delete the additional language directories and the resign the app WITH THE CORRECT PROFILES etc., I couldn't upload the app anymore
Can you please try following additional step and see if you can put binary on Application Loader.
Use the command as:
codesign -f -s "iPhone Distribution: Your Name" "--resource-rules=./Payload/binary.app/ResourceRules.plist" --entitlements "/path/to/Entitlements.plist" "./Payload/binary.app"
Where your Entitlements.plist is:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>application-identifier</key> <string>XXXXXXXXX.com.your.id</string> <key>keychain-access-groups</key> <array> <string>XXXXXXXX.com.your.id</string> </array> </dict> </plist>
In this file XXXXXXX is the AppIdentifierPrefix which you can see by opening mobile provision file in textEdit look for 'ApplicationIdentifierPrefix'
com.your.id is the same id of your app(which is used for mobile provision and is given as id in app descriptor)
This is Mandatory for putting app on the store. Sorry for not mentioning earlier.
THANK YOU VERY MUCH!
I rejected my own update v1.1 and tried again (after deleting all the languages I didn't need, see posts above), using the new codesign string and with an Entitlements.plist file.
And then ... I uploaded the new IPA using the Application Loader ... and the IPA was accepted, my update is now waiting for review.
This bug is a bad one, but your workaround rocks!
One more interesting thing: After uploading the IPA I got a warning - have you encountered anything like this before (just curious...):
I didn't get this after uploading the original v1.0 version, and there's almost no difference to the just uploaded version v1.1
No I havent seen this message.
So you dont get this message when uploading the ipa without resigning? I think this warning is added with the new uploader. In earlier version of uploader it dint even check for API usage on client side.
This doesnt look anything serious BTW.
We are working on solving this problems, So, yes you will get a much simpler,better way to do this through AIR itself in near future
The method in this thread is just a workaround in case someone is facing urgent issues, this should not be needed in future.
Hi Appandrew (and Saumitra),
I went out to the Apple preview of your app and I see all of the languages listed still for version 1.2 of your app. In the meta data description you have
This is the English version!
So did the workaround that Saumitra suggested really work? We need to fix this for a couple of iOS apps we have out there and want to verify. Hopefully Saumitra is right and I hope Adobe/Saumitra will have an easier fix/solution soon!
Thank you so much,
I didn't fix it yet for the "Kuckuck" and "Frankie Frog" apps, I will wait till there is some other stuff to update.
Have a look at "Dragon Party", there you'll find only the German and English languages listed:
Really, the workaround works like a charm. :-)
Hi, I'm following these steps to update our app and get the language descriptions fixed. However I got stuck on the entitlements file. I created an Entitlements.plist as outlined by Saumitra, made sure it was a plain text file, but I consistently get the following errors:
Entitlements.plist: unrecognized blob type (accepting blindly)
Entitlements.plist: invalid length in entitlement blob
Any pointers as to what may be wrong? I verified that the Entitlements.plist file is plain text and it is openable by XCode.
I place the modified .app file on my desktop. Then I create a text file on my desktop called appname.xcent. Place this in that file:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
With my modified .app and the .xcent file on my desktop I run this line in terminal.
codesign -f -s "iPhone Distribution: Developer Name" "--resource-rules=/Users/yourname/Desktop/myappname.app/ResourceRules .plist" --entitlements "/Users/yourname/Desktop/myappname.xcent" "/Users/matthutton/Desktop/myappname.app"
After that, I zip the file and send it to Apple. So far it's worked for me. I've done this now to 5 apps successfully.