2017-06-15 7 views
0

J'ai terminé une application LibGDX au point où je suis prête à la mettre sur l'App Store d'Apple. Cependant, quand j'utilise le chargeur d'application qui vient avec XCode (XCode-> Ouvrir développeur Tool-> de chargeur d'application) pour le mettre sur iTunes Connect, je reçois ce journal d'erreur:Signature non valide. Une ressource scellée est manquante ou non valide (Utilisation de RoboVM avec Android Studio)

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." 

Les trois dernières erreurs sont les que je peux réparer et (pour autant que je sache, ne sont pas la cause de la première erreur, qui est celle qui m'inquiète).

J'ai les versions les plus récentes de XCode et le plugin RoboVM (juste réinstallé les deux aujourd'hui) et j'ai un profil iOS Provisioning (Distribution) montré here. L'ID de l'ensemble correspond à l'identifiant de l'application. En outre, tous mes certificats sont téléchargés et sur mon KeyChain.

Voici les paramètres que j'utilise pour créer l'API à l'aide de RoboVM d'Android Studio: image here Comme vous pouvez le voir, j'utilise (ce que je pense être) le bon certificat de signature et le bon profil de provisioning.

Voici quelques autres fichiers que j'ai qui peuvent être utiles:

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> 

Si vous devez d plus d'informations, s'il vous plaît commenter et je fournirai. Je suis complètement perdu quant à savoir pourquoi cela ne fonctionne pas. Merci pour l'aide.

+0

Avez-vous déjà trouvé une solution à ce problème? J'ai le même problème.- – lijas

+0

J'ai le même problème. Toute solution? –

Répondre

0

J'ai Xcode Version 9.2 (9C40b) et j'utilise 2 iMacs, une avec High Sierra 10.13.1 et une avec Sierra 10.12.6. Après avoir détruit tous les certificats et les avoir reconstruits pour tenter de résoudre cette erreur de blocage:

Signature non valide - Une ressource scellée est manquante ou non valide. Le fichier au chemin n'est pas correctement signé. Assurez-vous que vous avez signé votre demande avec un certificat de distribution, et non un certificat ad hoc ou un certificat de développement ..

J'ai déplacer mon projet de la principale PASA (système de fichiers Apple) partition à un HFS + partition dans mon iMac avec High Sierra (j'ai utilisé ma partition de sauvegarde mais vous pouvez aussi utiliser un stylet USB formaté HFS +). Je pense que c'est un bug Apple donc j'ai ajouté un rapport open radar bug.