Step by Step guide to upload your LibGDX iOS project on Eclipse to the App Store.

68747470733a2f2f7261772e6769746875622e636f6d2f4d617473656d616e6e2f6c69626764782d6c6f6164696e672d73637265656e2f6d61737465722f4d61696e2f776f726b66696c65732f383030783438302e706e67

Uploading projects to the app store can be a pain, specially if you’re new to it and you are using something other than xCode… Id like to share a step by step script I made, and also keep it handy for the next time i need it right here.

  1. In Eclipse, open the file robovm.properties inside the iOS proyect and add .IOSLancher at the end of each of theese lines:
    app.id=com.[business-name].[app-name].IOSLauncher
    app.mainclass=com.[business-name].[app-name].IOSLauncher

     

  2. Go to https://developer.apple.com (im assuming you already paid for a Developer Account), > Identifiers & Profiles > Identifiers > App IDS and create a new App id using the same format of above:com.[business-name].[app-name].IOSLauncherIf you have created previos projects you should already have a iOS Production Certificate so you can skip this step. If this is your first project go to Certificates and create a new production certificate by choosing App Store and Ad Hoc. Generate it and download. When you click on it, it should be added to your MacOS keychain on your computer.
  3. In the Provisioning Profiles section create a new Distribution certificate:
    1. iOS Development
    2. App Store
    3. Choose app id:com.[business-name].[app-name].IOSLauncher
  4. Download the new created certificate and click on it. xCode should open.
  5. Add the following values inside Info.plist.xml (Check for duplicates):
    <key>UIRequiresFullScreen</key>
    <true/>
    <key>LSMinimumSystemVersion</key>
    <string>8.1</string>
    <key>MinimumOSVersion</key>
    <string>8.1</string>

     

  6.  Create inside the Android assets folder a subfolder with the name Images.xcassets and inside that, two more folders
    1.  AppIcon.appiconset <– Place your icons here.
    2. LaunchImage.launchimage <– Place your launch screens here.
  7. Optionally create inside Android assets a folder called Base.lproj and place there your storyboard if you are working with one.
  8. Refresh your android project by right clicking on it in Eclipse.
  9. Right click on the iOS proyect and choose RoboVM Tools > Package
  10. Confirm that both your signing identity and provisioning profile are the DISTRIBUTION ones and continue to generate a .ipa file.
  11. If you dont have a Distribution provisioning profile there, youll neet to either:
    1. Create a new one and download as described in step 3
    2. Export from a previous MacOS keychain the production certificate in .p12 format into your new MacOS.
  12. Go to itunesconnect.apple.com and create a new project by following the steps. On the app id part you should be able to choose com.[business-name].[app-name].IOSLauncher
  13. Open the Application Loader and follow the steps to upload the .ipa file generated in step 11.
    1. Theres a Application Loaded preinstalled with xCode. Open XCode: Xcode>open developer tool>Application Loader (This one somethimes gives a bit of trouble, its sketchy)
    2. You can download a working version of the Application Loader from here: https://itunesconnect.apple.com/apploader/ApplicationLoader_3.0.dmg
  14. If the upload fails, take a look at Handy Notes at the bottom of this article, it might help.
  15. Open iTunes Connect site again and edit your proyect. On the Build entry, click on the small (+) and add choose the build you just upladed.
  16. Thats it. Finish adding all the info apple requires, save and publish.

HANDY NOTES:

You’ll need these icons inside the AppIcon.appiconset folder previously created:

Icon-60@2x.png 120×120
Icon-60@3x.png 180×180
Icon-76.png 76×76
Icon-76@2x.png 152×152
Icon-Small.png 29×29
Icon-Small@2x.png 58×58
Icon-Small@3x.png 87×87
Icon-Small-40.png 40×40
Icon-Small-40@2x.png 80×80
Icon-Small-40@3x.png 120×120

Youll need these launcher screens inside the LaunchImage.launchimage folder:

-Nombres de las pantallas de inicio
Default@2x~iphone.png 640×960
Default-568h@2x~iphone.png 640×1136
Default-667h@2x~iphone.png 750×1334
Default-736h@3x~iphone.png 1242×2208
Default-Landscape@2x~ipad.png 2048×1536
Default-Landscape~ipad.png 1024×768
Default-Landscape-736h@3x~iphone.png 2208×1242
Default-Portrait@2x~ipad.png 1536×2048
Default-Portrait~ipad.png 768×1024

The minimum version in <key>MinimumOSVersion</key> if usually 2 versions before the current newest released iOS version, you might need to adjust that.

For the iTunes Connect entry, you’ll be promted for screenshots. Here are the resolutions:

iPhone 3+4 (3.5 Inch) 640 x 960
iPhone 5 (4 Inch) 640 x 1136
iPhone 6 (4.7 Inch) 750 x 1334
iPhone 6 Plus (5.5 Inch) 1242 x 2208

iPad (Air and Mini Retina) 1536 x 2048
Apple Watch 312 x 390 pixels
iPad Pro 2048 x 2732

One comment

  1. DavidBVal says:

    LSMinimumSystemVersion is a key for macOS, not for iOS, and will cause an error when you try to upload. Other than that, great article, thanks!

Leave a Reply

Your email address will not be published.