J'ai téléchargé un binaire sur iTunes Connect, il a été validé et accepté de publier à l'App Store. J'ai reçu un email d'Apple, affirmant que ma demande est un binaire non valide: p>
cher développeur, p>
Nous avons découvert un ou plusieurs problèmes avec votre récente livraison pour "Nom du projet". Pour traiter votre livraison, les problèmes suivants doivent être corrigé: p>
Optimisation de l'iPhone 5 Exigence d'optimisation forte> - Votre binaire n'est pas optimisé pour iPhone 5. À partir du 1er mai, toutes les nouvelles applications iPhone et applications Soumis doit prendre en charge l'affichage de 4 pouces sur iPhone 5. Toutes les applications doivent Inclure une image de lancement de la taille appropriée. En savoir plus sur Support iPhone 5 en examinant les directives d'interface humaine IOS. P> Bien que vous n'ayez pas obligé de réparer les problèmes suivants, nous voulions vous faire au courant: P>
binaire non-tache strong> - L'exécutable "xyz.app" n'est pas une position exécutable indépendante. Veuillez vous assurer que vos paramètres de construction sont configuré pour créer des exécutables à tarte. Une fois les corrections requises ont été faits, allez à la page de détail de la version et cliquez sur "Prêt à Télécharger binaire. "Continuez par le processus de soumission jusqu'à l'application Le statut est "en attente de téléchargement". Vous pouvez ensuite livrer la correction binaire. p> blockQuote> J'ai changé le
Ne crée pas la position Executables indépendants CODE> OPTION IN
CIBLE CODE>>
Build Réglages CODE> TO
Oui CODE> , mais je reçois toujours le même message ci-dessus. P>
3 Réponses :
Nous obtenons le même message sur toutes nos mises à jour de l'application cette semaine. Vous devrez définir "Ne pas créer de position exécutables indépendants" sur "Non" et "Générer du code dépendant de la position" à "Non", qui est la valeur par défaut. P>
La clé est que vous devrez définir "la cible de déploiement iOS" sur 4.3 ou la version ultérieure, ou les paramètres de tarte seront ignorés. P>
Vous pouvez tester l'application binaire avec cette commande et montrerra "tarte" à la fin de la ligne pour un EXE de tartre. Otool -Vh MyAppExe P>
Merci pour la réponse. avez-vous publier votre application iPhone avec succès sur iTune ou non. S'il vous plaît expliquer la dernière ligne de votre réponse. Pouvez-vous me dire si je définissais "la cible de déploiement iOS" à 4.3 ou plus tard, il ne sera applicable à la version inférieure d'IOS.
Si vous modifiez la "cible de déploiement iOS" sur 4.3, votre application ne sera plus compatible avec les versions iOS plus anciennes et celle-ci sera affichée dans iTunes. Nous n'avons pas fait changer de tarte car nous voulons toujours soutenir les anciennes versions iOS, mais rappelez-vous que les commentaires de Apple ne sont qu'un rappel et vous n'avez pas à faire ce changement ... pourtant.
Il existe maintenant un document d'Apple expliquant le problème et comment le résoudre: QA1788: Construire une position indépendante Exécutable , p>
Étapes pour construire votre application en tant que tarte h2>
en Xcode, sélectionnez votre cible dans la section "Cugets", puis cliquez sur l'onglet "Build Settings" pour afficher ses paramètres. P> LI>
pour les applications ios, définissez la cible de déploiement iOS code> à iOS 4.3 ou ultérieure b>. Pour les applications Mac, définissez la cible de déploiement
OS X code> sur OS X 10.7 ou version ultérieure B>. P> LI>
Vérifiez que
générer du code dépendant de la position code> est défini sur sur NO B>. P> LI>
Vérifiez que
Ne crée pas la position des exécutables indépendants code> est défini sur NO B>. P> LI> ol> blockQuote>
Merci pour cette aide. J'ai lu ci-dessus lien et postuler dans mon xcode et je teste ma construction dans mon otool -hv dans le dossier "/build/products/debug-iphonesImulator/dkpad.app/dkpad". Mais comme selon le drapeau de l'en-tête de lien ne montrent pas "tarte". Drapeau de l'en-tête est montré comme "Noundfs DyLDLink Twolevel MH_NO_HEAP_EXECUT". My Mac OSX Version 10.6.8 (Snow Leopad), Xcode version 4.0 et iOS version 4.3. S'il vous plaît donner une cause passable pour cela. Merci.
Si Otool montrent que votre application n'est pas une tarte, il est possible qu'une cible particulière remplace un paramètre de construction. Triple Vérifiez vos paramètres de construction. Tenez également l'option enfoncée et choisissez "Clean Build Dossier" dans le menu "Produit", éventuellement Xcode n'a pas reconstruit l'application.
@VincentageBable Comment réalisez-vous l'exécutable à la Pie lorsque ces paramètres sont explicitement définis sur Non? Ils semblent la forcer maintenant, les paramètres de construction sont définis pourtant, je reçois l'erreur.
@Antwanvanhoudt êtes-vous capable de résoudre ce problème? Je viens de recevoir cet avertissement maintenant
@ JaysonTamayo Apple semble avoir supprimé les constrictions sur ITC, mais je ne serais pas surpris que nous devrions mettre à jour Xcode pour résoudre ce problème à l'avenir.
Pourquoi l'option est-elle appelée Ne crée pas de position Executables indépendants CODE>? Les doubles négatifs sont déroutants.
Comme mentionné ici par Vincent, avoir une tarte-binaire: p>
otool -hv /path/to/myapp.app/myApp
Li>
ul>
Ceci dit, Apple ne vous oblige pas "encore" à avoir une application pie-binaire. La question est donc «va-t-elle forcer à le faire? Et quand?» P>
_oho p>
Plus d'info: http://blog.hoachuck.biz/blog/2013/06/28/non-pie-binar-app-on-ios-could-lead-a-security-issue/ a> p>
Et comment vérifieriez-vous si une bibliothèque tierce est compatible avec la PIE?