I have completed a LibGDX app to the point where I am ready to put it on the Apple app store. However, when I use the Application Loader that comes with XCode (XCode->Open Developer Tool->Application Loader) to put it on iTunes Connect, I get this error log:

ERROR ITMS-90035: "Invalid Signature. A sealed resource is missing or invalid. The file at path [IOSLauncher.app/IOSLauncher] is not properly signed. Make sure you have signed your application with a distribution certificate, not an ad hoc certificate or a development certificate. Verify that the code signing settings in Xcode are correct at the target level (which override any values at the project level). Additionally, make sure the bundle you are uploading was built using a Release target in Xcode, not a Simulator target. If you are certain your code signing settings are correct, choose "Clean All" in Xcode, delete the "build" directory in the Finder, and rebuild your release target. For more information, please consult https://developer.apple.com/library/ios/documentation/Security/Conceptual/CodeSigningGuide/Introduction/Introduction.html" ERROR ITMS-90022: "Missing required icon file. The bundle does not contain an app icon for iPhone / iPod Touch of exactly '120x120' pixels, in .png format for iOS versions >= 7.0." ERROR ITMS-90023: "Missing required icon file. The bundle does not contain an app icon for iPad of exactly '76x76' pixels, in .png format for iOS versions >= 7.0." ERROR ITMS-90023: "Missing required icon file. The bundle does not contain an app icon for iPad of exactly '152x152' pixels, in .png format for iOS versions >= 7.0."

The last three errors are ones that I can fix and (as far as I know, aren't the cause of the first error, which is the one I am worried about).

I have the most recent versions of both XCode and the RoboVM plugin (just reinstalled both today) and I have an iOS Provisioning profile (Distribution) shown here. The bundle ID matches the app ID. Also, all of my Certificates are downloaded and on my KeyChain.

These are the settings that I use to build the IPA using RoboVM from Android Studio: image here As you can see, I use (what I think to be) the correct signing certificate and provisioning profile.

Here are some other files that I have that may be useful:

robovm.properties:

app.version=1.0 app.id=com.mcfadden.raindodge app.mainclass=com.samuel.doubledodge.IOSLauncher app.executable=IOSLauncher app.build=1 app.name=Rain Dodge

Info.plist.xml:

<?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>CFBundleDevelopmentRegion</key> <string>en</string> <key>CFBundleDisplayName</key> <string>${app.name}</string> <key>CFBundleExecutable</key> <string>${app.executable}</string> <key>CFBundleIdentifier</key> <string>${app.id}</string> <key>CFBundleInfoDictionaryVersion</key> <string>6.0</string> <key>CFBundleName</key> <string>${app.name}</string> <key>CFBundlePackageType</key> <string>APPL</string> <key>CFBundleShortVersionString</key> <string>${app.version}</string> <key>CFBundleSignature</key> <string>????</string> <key>CFBundleVersion</key> <string>${app.build}</string> <key>LSRequiresIPhoneOS</key> <true/> <key>MinimumOSVersion</key> <string>8.0</string> <key>UIRequiresFullScreen</key> <string>YES</string> <key>UIViewControllerBasedStatusBarAppearance</key> <false/> <key>UIStatusBarHidden</key> <true/> <key>UIDeviceFamily</key> <array> <integer>1</integer> <integer>2</integer> </array> <key>UIRequiredDeviceCapabilities</key> <array> <string>armv7</string> <string>opengles-2</string> </array> <key>UISupportedInterfaceOrientations</key> <array> <string>UIInterfaceOrientationPortrait</string> <string>UIInterfaceOrientationLandscapeLeft</string> <string>UIInterfaceOrientationLandscapeRight</string> </array> <key>CFBundleIcons</key> <dict> <key>CFBundlePrimaryIcon</key> <dict> <key>CFBundleIconFiles</key> <array> <string>Icon</string> <string>Icon-72</string> </array> </dict> </dict> </dict> </plist>

Robovm.xml:

<config> <executableName>${app.executable}</executableName> <mainClass>${app.mainclass}</mainClass> <os>ios</os> <arch>thumbv7</arch> <target>ios</target> <iosInfoPList>Info.plist.xml</iosInfoPList> <resources> <resource> <directory>../android/assets</directory> <includes> <include>**</include> </includes> <skipPngCrush>true</skipPngCrush> </resource> <resource> <directory>data</directory> </resource> </resources> <forceLinkClasses> <pattern>com.badlogic.gdx.scenes.scene2d.ui.*</pattern> <pattern>com.badlogic.gdx.graphics.g3d.particles.**</pattern> <pattern>com.android.okhttp.HttpHandler</pattern> <pattern>com.android.okhttp.HttpsHandler</pattern> <pattern>com.android.org.conscrypt.**</pattern> <pattern>com.android.org.bouncycastle.jce.provider.BouncyCastleProvider</pattern> <pattern>com.android.org.bouncycastle.jcajce.provider.keystore.BC$Mappings</pattern> <pattern>com.android.org.bouncycastle.jcajce.provider.keystore.bc.BcKeyStoreSpi</pattern> <pattern>com.android.org.bouncycastle.jcajce.provider.keystore.bc.BcKeyStoreSpi$Std</pattern> <pattern>com.android.org.bouncycastle.jce.provider.PKIXCertPathValidatorSpi</pattern> <pattern>com.android.org.bouncycastle.crypto.digests.AndroidDigestFactoryOpenSSL</pattern> <pattern>org.apache.harmony.security.provider.cert.DRLCertFactory</pattern> <pattern>org.apache.harmony.security.provider.crypto.CryptoProvider</pattern> </forceLinkClasses> <libs> <lib>z</lib> </libs> <frameworkPaths> <path>libs</path> </frameworkPaths> <frameworks> <framework>UIKit</framework> <framework>OpenGLES</framework> <framework>QuartzCore</framework> <framework>CoreGraphics</framework> <framework>CoreMotion</framework> <framework>OpenAL</framework> <framework>AudioToolbox</framework> <framework>AVFoundation</framework> <framework>GLKit</framework> <framework>CoreTelephony</framework> <framework>CoreMedia</framework> <framework>CoreVideo</framework> <framework>MessageUI</framework> <framework>CFNetwork</framework> <framework>MobileCoreServices</framework> <framework>EventKit</framework> <framework>EventKitUI</framework> <framework>AdSupport</framework> <framework>StoreKit</framework> <framework>SystemConfiguration</framework> <framework>GoogleMobileAds</framework> </frameworks> </config>

If you need any more info, please comment and I will provide. I am completely lost as to why this isn't working. Thank you for the help.