Qu’est-ce qui peut provoquer un «fichier binary invalide» sans suivi de courrier électronique depuis iTunes Connect?

J’essaie de soumettre une mise à jour d’une application existante pour le compte de l’un de mes clients, et j’obtiens des échecs “binarys non valides” depuis iTunes Connect sans explication de l’erreur. Je pars en vacances de deux semaines sans access au réseau demain, alors je suis un peu désespéré pour une solution. Toutes les idées sont grandement appréciées.

Cette mise à jour modifie le nom de l’application et corrige quelques bogues mineurs. J’ai fait des soumissions précédentes via iTunes Connect, mais je soumets cette mise à jour via Xcode, comme Apple l’exige maintenant.

Je me suis établi comme contact technique pour ce client, alors je reçois une notification lorsque je mets la nouvelle version dans un état “En attente de téléchargement” via iTunes Connect. Lorsque je valide ensuite le fichier binary via l’organiseur Xcode, l’outil signale finalement que le fichier binary est valide. Lorsque je soumets le fichier binary via l’organiseur Xcode, il revient finalement et indique que le fichier binary a été téléchargé avec succès. Ces deux étapes prennent du temps (peut-être 15 minutes chacune), probablement parce que le groupe d’applications contient 63 mégaoctets avec des milliers de ressources.

Pour l’heure suivante ou deux, le portail iTunes Connect indique toujours que l’application est en attente de téléchargement. Je pense qu’une certaine latence est normale entre le moment où le téléchargement se termine dans Xcode et le moment où l’état change dans iTunes Connect. Ces heures de latence semblent excessives, mais ce n’est pas vraiment surprenant compte tenu de la taille de l’application.

Finalement, l’état change en silence en “Invalid Binary” dans iTunes connect. Je comprends que iTunes Connect est censé envoyer un courrier électronique expliquant l’erreur lorsque cela se produit, mais je ne reçois rien et mon client n’est pas non plus. (Je suppose qu’il devrait être envoyé à tous les utilisateurs marqués pour notification des modifications de l’état de l’application dans iTunes Connect. Cette hypothèse est-elle correcte?)

Voici les parameters de génération copiés et collés à partir de la configuration de dissortingbution App Store:

ADDITIONAL_SDKS = ARCHS = $(ARCHS_STANDARD_32_BIT) SDKROOT = iphoneos4.0 ONLY_ACTIVE_ARCH = YES VALID_ARCHS = armv6 armv7 SYMROOT = /Users/cduhn/Documents/workspace/xcode_build_output OBJROOT = $(SYMROOT) CONFIGURATION_BUILD_DIR = $(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) CONFIGURATION_TEMP_DIR = $(PROJECT_TEMP_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) SHARED_PRECOMPS_DIR = $(CACHE_ROOT)/SharedPrecomstackdHeaders BUILD_VARIANTS = normal DEBUG_INFORMATION_FORMAT = dwarf-with-dsym ENABLE_OPENMP_SUPPORT = NO GENERATE_PROFILING_CODE = NO PRECOMPS_INCLUDE_HEADERS_FROM_BUILT_PRODUCTS_DIR = YES RUN_CLANG_STATIC_ANALYZER = NO SCAN_ALL_SOURCE_FILES_FOR_INCLUDES = NO VALIDATE_PRODUCT = NO CODE_SIGN_ENTITLEMENTS = Entitlements.plist CODE_SIGN_IDENTITY = CODE_SIGN_IDENTITY[sdk=iphoneos*] = iPhone Dissortingbution: Capturing Moments CODE_SIGN_RESOURCE_RULES_PATH = OTHER_CODE_SIGN_FLAGS = STRIPFLAGS = ALTERNATE_GROUP = $(INSTALL_GROUP) ALTERNATE_OWNER = $(INSTALL_OWNER) ALTERNATE_MODE = $(INSTALL_MODE_FLAG) ALTERNATE_PERMISSIONS_FILES = DEPLOYMENT_LOCATION = NO DEPLOYMENT_POSTPROCESSING = NO INSTALL_GROUP = $(GROUP) INSTALL_OWNER = $(USER) INSTALL_MODE_FLAG = u+w,go-w,a+rX DSTROOT = /tmp/$(PROJECT_NAME).dst INSTALL_PATH = $(HOME)/Applications MACOSX_DEPLOYMENT_TARGET = $(inherited) SKIP_INSTALL = YES COPY_PHASE_STRIP = YES STRIP_INSTALLED_PRODUCT = STRIP_STYLE = all TARGETED_DEVICE_FAMILY = 1 SEPARATE_STRIP = NO IPHONEOS_DEPLOYMENT_TARGET = 3.0 MODULE_NAME = MODULE_START = MODULE_STOP = MODULE_VERSION = BUNDLE_LOADER = STANDARD_C_PLUS_PLUS_LIBRARY_TYPE = dynamic DYLIB_COMPATIBILITY_VERSION = DYLIB_CURRENT_VERSION = LINKER_DISPLAYS_MANGLED_NAMES = NO PRESERVE_DEAD_CODE_INITS_AND_TERMS = NO LD_DYLIB_INSTALL_NAME = EXPORTED_SYMBOLS_FILE = INIT_ROUTINE = LINK_WITH_STANDARD_LIBRARIES = YES MACH_O_TYPE = mh_execute LD_OPENMP_FLAGS = -fopenmp ORDER_FILE = OTHER_LDFLAGS = -all_load -ObjC LD_MAP_FILE_PATH = $(TARGET_TEMP_DIR)/$(PRODUCT_NAME)-LinkMap-$(CURRENT_VARIANT)-$(CURRENT_ARCH).txt GENERATE_MASTER_OBJECT_FILE = NO PREBINDING = NO PRELINK_LIBS = KEEP_PRIVATE_EXTERNS = NO LD_RUNPATH_SEARCH_PATHS = SEPARATE_SYMBOL_EDIT = NO PRELINK_FLAGS = SECTORDER_FLAGS = UNEXPORTED_SYMBOLS_FILE = WARNING_LDFLAGS = LD_GENERATE_MAP_FILE = NO COMPRESS_PNG_FILES = YES APPLY_RULES_IN_COPY_FILES = NO EXECUTABLE_EXTENSION = EXECUTABLE_PREFIX = INFOPLIST_EXPAND_BUILD_SETTINGS = YES GENERATE_PKGINFO_FILE = YES FRAMEWORK_VERSION = A INFOPLIST_FILE = iRevealMaui-Info.plist INFOPLIST_OTHER_PREPROCESSOR_FLAGS = INFOPLIST_OUTPUT_FORMAT = binary INFOPLIST_PREPROCESSOR_DEFINITIONS = INFOPLIST_PREFIX_HEADER = INFOPLIST_PREPROCESS = NO COPYING_PRESERVES_HFS_DATA = NO PRIVATE_HEADERS_FOLDER_PATH = $(CONTENTS_FOLDER_PATH)/PrivateHeaders PRODUCT_NAME = iRevealMaui PLIST_FILE_OUTPUT_FORMAT = binary PUBLIC_HEADERS_FOLDER_PATH = $(CONTENTS_FOLDER_PATH)/Headers STRINGS_FILE_OUTPUT_ENCODING = binary WRAPPER_EXTENSION = app ALWAYS_SEARCH_USER_PATHS = NO FRAMEWORK_SEARCH_PATHS = HEADER_SEARCH_PATHS = ${SDKROOT}/usr/include/libxml2/** ../three20/Build/Products/three20 LIBRARY_SEARCH_PATHS = $(inherited) "$(SRCROOT)/../desiccant/Classes/External/google-analytics" REZ_SEARCH_PATHS = EXCLUDED_RECURSIVE_SEARCH_PATH_SUBDIRECTORIES = *.nib *.lproj *.framework *.gch (*) CVS .svn *.xcodeproj *.xcode *.pbproj *.pbxproj INCLUDED_RECURSIVE_SEARCH_PATH_SUBDIRECTORIES = OTHER_TEST_FLAGS = TEST_HOST = TEST_RIG = CURRENT_PROJECT_VERSION = VERSION_INFO_FILE = $(PRODUCT_NAME)_vers.c VERSION_INFO_EXPORT_DECL = VERSION_INFO_PREFIX = VERSION_INFO_SUFFIX = VERSIONING_SYSTEM = VERSION_INFO_BUILDER = $(USER) GCC_FAST_OBJC_DISPATCH = YES GCC_AUTO_VECTORIZATION = NO GCC_OBJC_CALL_CXX_CDTORS = YES GCC_ENABLE_SSE3_EXTENSIONS = NO GCC_ENABLE_SSE41_EXTENSIONS = NO GCC_ENABLE_SSE42_EXTENSIONS = NO GCC_ENABLE_SUPPLEMENTAL_SSE3_INSTRUCTIONS = NO GCC_STRICT_ALIASING = NO GCC_FEEDBACK_DIRECTED_OPTIMIZATION = Off GCC_ENABLE_FIX_AND_CONTINUE = NO GCC_GENERATE_DEBUGGING_SYMBOLS = YES GCC_DYNAMIC_NO_PIC = YES GCC_GENERATE_TEST_COVERAGE_FILES = NO GCC_INLINES_ARE_PRIVATE_EXTERN = YES GCC_MODEL_TUNING = G4 GCC_INSTRUMENT_PROGRAM_FLOW_ARCS = NO GCC_ENABLE_KERNEL_DEVELOPMENT = NO GCC_DEBUGGING_SYMBOLS = default GCC_REUSE_STRINGS = YES GCC_NO_COMMON_BLOCKS = NO GCC_ENABLE_OBJC_GC = unsupported GCC_OPTIMIZATION_LEVEL = s GCC_FAST_MATH = NO GCC_ENABLE_SYMBOL_SEPARATION = YES GCC_THREADSAFE_STATICS = YES GCC_SYMBOLS_PRIVATE_EXTERN = YES GCC_UNROLL_LOOPS = NO GCC_MODEL_PPC64 = NO GCC_CHAR_IS_UNSIGNED_CHAR = NO GCC_ENABLE_ASM_KEYWORD = YES GCC_C_LANGUAGE_STANDARD = c99 GCC_CHECK_RETURN_VALUE_OF_OPERATOR_NEW = NO GCC_CW_ASM_SYNTAX = YES GCC_INPUT_FILETYPE = automatic GCC_ALTIVEC_EXTENSIONS = NO GCC_ENABLE_CPP_EXCEPTIONS = YES GCC_ENABLE_CPP_RTTI = YES GCC_LINK_WITH_DYNAMIC_LIBRARIES = YES GCC_ENABLE_OBJC_EXCEPTIONS = YES GCC_ENABLE_TRIGRAPHS = NO GCC_ENABLE_FLOATING_POINT_LIBRARY_CALLS = NO GCC_USE_INDIRECT_FUNCTION_CALLS = NO GCC_USE_REGISTER_FUNCTION_CALLS = NO GCC_INCREASE_PRECOMPILED_HEADER_SHARING = NO OTHER_CPLUSPLUSFLAGS = $(OTHER_CFLAGS) GCC_PRECOMPILE_PREFIX_HEADER = YES GCC_PREFIX_HEADER = iRevealMaui_Prefix.pch GCC_ENABLE_BUILTIN_FUNCTIONS = YES GCC_ENABLE_PASCAL_STRINGS = YES GCC_FORCE_CPU_SUBTYPE_ALL = NO GCC_SHORT_ENUMS = NO GCC_ONE_BYTE_BOOL = NO GCC_USE_STANDARD_INCLUDE_SEARCHING = YES GCC_PREPROCESSOR_DEFINITIONS = GCC_PREPROCESSOR_DEFINITIONS_NOT_USED_IN_PRECOMPS = GCC_WARN_CHECK_SWITCH_STATEMENTS = NO GCC_WARN_EFFECTIVE_CPLUSPLUS_VIOLATIONS = NO GCC_WARN_FOUR_CHARACTER_CONSTANTS = NO GCC_WARN_ABOUT_GLOBAL_CONSTRUCTORS = NO GCC_WARN_SHADOW = NO GCC_WARN_64_TO_32_BIT_CONVERSION = NO GCC_WARN_ALLOW_INCOMPLETE_PROTOCOL = YES GCC_WARN_INHIBIT_ALL_WARNINGS = NO GCC_WARN_INITIALIZER_NOT_FULLY_BRACKETED = NO GCC_WARN_ABOUT_RETURN_TYPE = YES GCC_WARN_MISSING_PARENTHESES = NO GCC_WARN_ABOUT_MISSING_FIELD_INITIALIZERS = NO GCC_WARN_ABOUT_MISSING_PROTOTYPES = NO GCC_WARN_ABOUT_MISSING_NEWLINE = NO GCC_WARN_MULTIPLE_DEFINITION_TYPES_FOR_SELECTOR = NO GCC_WARN_NON_VIRTUAL_DESTRUCTOR = NO WARNING_CFLAGS = GCC_WARN_HIDDEN_VIRTUAL_FUNCTIONS = NO GCC_WARN_PEDANTIC = NO GCC_WARN_ABOUT_POINTER_SIGNEDNESS = YES GCC_WARN_PROTOTYPE_CONVERSION = NO GCC_WARN_SIGN_COMPARE = NO GCC_WARN_STRICT_SELECTOR_MATCH = NO GCC_TREAT_IMPLICIT_FUNCTION_DECLARATIONS_AS_ERRORS = NO GCC_TREAT_NONCONFORMANT_CODE_ERRORS_AS_WARNINGS = NO GCC_TREAT_WARNINGS_AS_ERRORS = NO GCC_WARN_TYPECHECK_CALLS_TO_PRINTF = YES GCC_WARN_UNDECLARED_SELECTOR = NO GCC_WARN_UNINITIALIZED_AUTOS = NO GCC_WARN_UNKNOWN_PRAGMAS = NO GCC_WARN_UNUSED_FUNCTION = NO GCC_WARN_UNUSED_LABEL = NO GCC_WARN_UNUSED_PARAMETER = NO GCC_WARN_UNUSED_VALUE = NO GCC_WARN_UNUSED_VARIABLE = YES GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = YES GCC_WARN_ABOUT_INVALID_OFFSETOF_MACRO = YES IBC_FLATTEN_NIBS = YES IBC_OTHER_FLAGS = IBC_PLUGIN_SEARCH_PATHS = IBC_PLUGINS = IBC_ERRORS = YES IBC_NOTICES = YES IBC_WARNINGS = YES 

Voici le contenu de mon Info.plist:

Toutes les idées sont grandement appréciées.

EDIT – Latence de changement de statut apparent expliquée

En fonction de mon historique de statut, il apparaît que le statut “Invalid Binary” est en fait établi en quelques minutes, mais iTunes Connect cache ce fait avec une stratégie de mise en cache mal conçue.

Pour surveiller un changement d’état, j’ai actualisé et cliqué entre quatre pages: “Gérer vos applications”, la page “Informations sur l’application”, “Afficher les détails” et “Historique du statut”. Lorsque l’historique du statut est enfin mis à jour, cela montre que l’application est entrée dans un état “Invalid Binary” environ une heure avant.

A titre expérimental, j’ai essayé de modifier mon identifiant d’application et de soumettre le binary en tant que nouvelle application. Cette fois, j’ai cliqué sur la page “Afficher les détails” quelques minutes après avoir envoyé le fichier binary. Son statut indiquait “Upload Received”. Progrès apparent! Quelques minutes plus tard, j’ai cliqué sur Status History, et cela montrait “Invalid Binary” quelques minutes seulement après la fin de mon téléchargement. Puis je suis retourné et actualisé ma page “Afficher les détails”. Il affiche toujours “Upload Received”, malgré le fait que l’historique de l’état affiche “Invalid Binary”. Cela montre clairement que toutes ces pages sont mises en cache et affichent des données obsolètes pendant de longues périodes. Je n’ai compris que lorsque je soumettais à nouveau le fichier binary en tant que nouvelle application car je chargeais les pages de cette application pour la première fois.

Cela ne résout pas mon problème “Invalid Binary”, ni n’explique pourquoi je ne reçois aucun email, mais cela aide à éliminer certaines hypothèses.

Après 16 heures d’essais et d’erreurs de recherche non-stop, j’ai trouvé une solution dans le forum des développeurs Apple.

Apparemment, il existe un bug permettant à votre binary de passer la vérification et le téléchargement, mais de se faire rejeter par le système iTunes Connect. Et vous ne recevez aucun email vous expliquant ce qui s’est passé!

Si votre application est à la fois pour iPhone et iPad, vous avez probablement quelque chose comme ceci dans le fichier Info.plist:

capture d'écran avant

Vous devez supprimer complètement le paramètre CFBundleIconFiles~ipad et inclure l’icône de l’iPad dans le tableau des Icons files comme ici:

capture d'écran après correction

C’est tout!

Faites-moi savoir si cela vous a aidé!

J’ai eu la même erreur INVALID BINARY d’iTunes Connect même si Application Loader a accepté mon fichier binary. La solution était très simple …

Ouvrez votre info.plist, cliquez avec le bouton droit de la souris et sélectionnez Afficher les clés / valeurs brutes :

  • CFBundleIconFile = Icon.png (icône PNG de mon iPhone 57×57)
  • CFBundleIconFile ~ ipad = Icon-72.png (mon icône ipad 72×72 PNG)
  • CFBundleIconFiles = array
    • Item 0 = Icon.png
    • Item 1 = Icon@2x.png (icône PNG de mon iPhone 4 114×114)
    • Item 2 = Icon-72.png

Enregistrez, nettoyez toutes les cibles, créez et parsingz, compressez dans le Finder et soumettez de nouveau!

L’erreur a été causée parce que j’ai tapé la clé “Icon Files”. En mode Raw, cela a été mappé sur “Icon Files” au lieu de CFBundleIconFiles. J’ai Xcode 3.2.3, je suppose que Xcode 3.2.4 mappe mieux cet identifiant de clé.

Bonne chance à tous!

Source: Questions techniques QA1686: Icônes d’applications sur iPad et iPhone

Merci à tous ceux qui ont proposé des solutions. En fin de compte, aucune de vos suggestions n’a aidé dans mon cas, mais j’ai résolu le problème. Voici ce qui a fonctionné pour moi:

Supprimez Entitlements.plist de votre projet. Ensuite, ajoutez -> Nouveau fichier et rajoutez Entitlements.plist.

Le format du fichier Entitlements.plist a été modifié entre les SDK 3.1.3 et 3.2. Si votre Entitlements.plist a été créé avec un SDK antérieur à 3.2 et que vous essayez maintenant de mettre à jour votre application à l’aide du SDK 3.2 ou version ultérieure, il semble que vous deviez supprimer Entitlements.plist et le rappend en utilisant le nouveau format. . Sinon, Apple rejettera votre mise à niveau en tant que “binary non valide”.

J’ai le même problème depuis quelques jours. Il semble que cette erreur puisse être causée par tant de problèmes différents, alors dommage qu’Apple ne donne pas l’erreur avec un email.

Pour moi, la solution était de ne pas utiliser “Application Loader” du tout!

Au lieu de cela, procédez comme suit dans Xcode:

  • Sélectionnez votre application allez dans Construire> Construire et archiver
  • Une fois cette opération terminée, accédez à Fenêtre> Organiseur
  • Sélectionnez votre application sous “Applications archivées”
  • Cliquez sur ‘Valider’
  • Si la validation est un succès (comme le mien était):
  • cliquez sur “Envoyer”.

Cela soumettra ensuite l’application à apple. Pour moi, après quelques secondes, le statut a été remplacé par «En attente de révision» plutôt que par «Invalid Binary».

Dans XCode, cliquez sur le nom de votre application sur le côté gauche et accédez à l’onglet des parameters de construction sur le côté droit. Faites défiler jusqu’à “Identité de signature de code” -> “Libérer”

Assurez-vous que votre profil de dissortingbution est sélectionné. Je n’avais pas réalisé que je devais définir cela explicitement et que mon application était vérifiée, mais que le binary n’était pas valide. Mon paramètre était toujours sur le profil du développeur

Utilisez les outils de génération et d’archivage dans Xcode, comme décrit dans une autre réponse ici.

Pour une raison quelconque, l’outil d’archivage a déclenché quelque chose chez Apple pour renvoyer un courrier électronique indiquant ce qui était réellement faux (fichier PNG corrompu).

Mon problème? Xcode corrompt certains fichiers PNG lorsqu’il les compresse. Allez dans Build Settings, regardez dans la section Packaging et réglez “Compress PNG Files” sur non.

Actuellement (8 mai 2013), cette erreur est renvoyée si vous accédez à UDUD dans votre application. MKStoreKit (une bibliothèque open source populaire) le fait, et c’était ce qui le causait pour moi. Recherchez la méthode suivante ci-dessous dans vos fichiers (en supposant que ce ne soit pas dans un fichier binary précompilé, auquel cas, allez sur Google tout ce que vous avez et vérifiez leurs notes de publication)

[UIDevice currentDevice] .uniqueIdentifier

Aucune des réponses ici ne m’a été utile. J’utilise des Cocoapods dans mon projet. Pour une raison quelconque, les parameters du projet Cocoapods Base SDK et les plates-formes sockets en charge ont été définis sur OSX. (Version Cocoapods: 0.37.2) Je suis passé sur iOS et ça a fonctionné. Mes paramètres de projet Cocoapods

J’ai eu le même problème et il a apparemment été lié à la taille de l’image d’écran de démarrage par défaut fournie avec l’application.

J’envoyais une image par défaut 1024×768 mais j’ai trouvé dans cet article:

http://weston-fl.com/blog/?p=840/

Que cela doit être 1024×748 (pour un paysage par défaut) et il me semble que cela a fonctionné: iTunesconnect l’a pris après ça.

Cela peut être un problème de ce qui suit, que j’ai reçu après une soumission d’une réponse automatisée de iTunesConnect:

Droit de notification push manquant – Votre application s’enregistre auprès du service de notification push d’Apple, mais les droits de la signature de l’application n’incluent pas le droit “aps-environment” requirejs. Assurez-vous d’avoir activé Push Notification Services pour cette application et que vous avez téléchargé un profil de dissortingbution qui inclut le droit “aps-environment”.

Une fois le problème corrigé, retournez à la page des détails de la version de l’application dans le module iTunes Connect Manage Your Applications et cliquez sur le bouton Ready to Submit Binary. Cela vous guidera à travers le stream de soumission binary et renverra le statut de la version de votre application à En attente de téléchargement. Vous pouvez ensuite utiliser Application Loader pour télécharger votre nouveau fichier binary. Si vous rencontrez d’autres problèmes avec votre soumission, vous serez contacté.

Il peut s’agir d’un problème lié à la confidentialité dans iOS 10. Il oblige les développeurs à append une description lors de l’utilisation des données de confidentialité des utilisateurs, telles que “Open Photo Library”, “Open Camera”, “Access Calendar”, etc.

S’il vous plaît aller vérifier chaque partie de vos codes inclus les frameworks tiers pour voir si elle a des problèmes de confidentialité. Ajoutez la description au fichier Info.plist. Je l’ai résolu de cette façon ^ _ ^ entrer la description de l'image ici

Le truc de l’icône IPad fonctionne.

Supprimez l’ipad CFBundledIconFiles ~ et ajoutez une icône 72×72 à la clé Icon Files

Méfiez-vous des captures d’écran, cette méthode crée parfois l’erreur Missing Screenshots

Je suis aux sockets avec le même problème depuis un bon moment maintenant. J’ai découvert ce matin que l’agent de l’équipe avait désactivé toutes les notifications, alors je les ai toutes allumées et j’ai finalement commencé à recevoir des e-mails de changement d’état lorsque l’application passait à “En attente de téléchargement”. ” Après quelques tentatives supplémentaires, j’ai finalement obtenu la mise à jour de l’application dans l’état “En attente de révision”. Pour moi, ce qui a été résolu, c’est de changer la valeur de «iPhone OS Deployment Target» dans les parameters de construction de la cible, de iPhone OS 2.2.1 (paramètre de l’application originale) à iPhone OS 3.0.

J’ai eu ce problème. Mon problème a été de définir la cible de déploiement à un niveau inférieur à 3.2, mais l’architecture est toujours définie sur «optimisé pour armv7». ceci utilise xcode 3.2.3. ce dernier paramètre devrait être remplacé par «standard (armv6 et armv7)». Lorsque j’ai créé mon application de développement, je devais la changer, car xcode se plaignait lorsque j’essayais d’exécuter l’application sur un itouch plus ancien, mais avec une dissortingbution, il n’y a pas de périphérique sur lequel exécuter (à moins de tester avec une première ad hoc) ), vous ne remarquez donc pas le problème jusqu’à ce que iTunes Connect rejette le binary.

J’ai le même problème. J’ai d’abord essayé les droits, car cela semblait correspondre à ma situation.

Les garçons sont-ils différents?

   get-task-allow   

Nouveau … (xcode 3.2.5, cible 4.2 et min iOS)

    application-identifier $(AppIdentifierPrefix)$(CFBundleIdentifier) keychain-access-groups  $(AppIdentifierPrefix)$(CFBundleIdentifier)     

J’ai lutté avec ça pendant une demi-journée. Même essayé de réinstaller xcode. Pour moi, la réponse était de retourner au portail de provisionnement dans iTunes Connect et de révoquer mon certificate, puis d’en créer un nouveau. Ensuite, créer un nouveau profil de provisioning de dissortingbution, puis reconstruire et resoumettre. Quelle longue douleur non documentée dans le cou.

Dans mon cas, j’avais généré des profils de provisionnement utilisant un CSR différent et n’utilisant pas le CSR d’origine créé la première fois pour accéder au portail d’approvisionnement. La signature du code et la soumission des applications avec les profils de configuration générés par le CSR original ont résolu mon problème.

J’ai rencontré le même problème “binary invalide” à plusieurs resockets aujourd’hui. Finalement, j’ai résolu le problème en vérifiant les messages de compilation dans XCode 4. Cliquez sur Afficher tous les messages pour le journal de génération, recherchez la signature de code et validez la partie, normalement en bas. Toutes mes soumissions échouées comportent une erreur de validation dans le journal de la compilation, mais transmises dans le bouton archive – validate.

Même problème, solution différente: mon schéma d’archivage utilisait une configuration de construction ad hoc, alors qu’il aurait dû l’être.

Liste de vérification de mes tentatives de réparation ayant échoué sur mon blog Vérification de l’application de code d’échec de l’application .

J’ai le même problème. Assurez-vous que vous avez choisi “App Store” comme méthode de dissortingbution dans le profil d’approvisionnement de la dissortingbution, et non “Ad Hoc”.

J’avais un pointeur sur un fichier icône d’extraction qui n’existait plus. J’ai supprimé le pointeur et le téléchargement semble acceptable jusqu’à présent. Ils ont envoyé un e-mail assez rapidement qui donnait des détails pertinents, bien que les indices ci-dessus me mettent sur la bonne voie avant cela, comme d’habitude.

Merci .. c’était un problème avec les fichiers d’icons dans mon projet. J’ai supprimé ceux suggérés par Sasho. Finalement changé pour attendre l’examen.

Si en cas d’application kiosque à journaux

Assurez-vous que l’icône du kiosque à journaux est ajoutée. Dans mon cas, le problème est que j’oublie d’append une icône de kiosque à journaux dans le lot de projets, mais je le renvoie dans plist.

Le chargeur d’application ne validera pas l’icône du kiosque à journaux de sorte que l’erreur “binary invalide” affichée uniquement dans “iTunes se connecte”.

Merci

Juste eu le même problème ici, et il semble que la solution a été d’ append l’écran de démarrage Retina 4 pouces manquant à mon projet (je l’ai supprimé volontairement – les mises à jour précédentes étaient OK, mais il semble qu’ils ne l’aiment plus ), comme recommandé dans les journaux lors de l’archivage de l’application.

J’ai eu cette erreur lorsque j’ai récemment ajouté Flurry Ad dans mon application.

Si votre affaire concerne des publicités, vous devez accepter dans itunesconnect avant de télécharger. http://techcrunch.com/2014/04/11/apple-developers-must-now-agree-to-ad-identifier-rules-or-risk-app-store-rejection/

Je viens de recevoir du courrier de Apple

 Missing 64-bit support - Beginning on February 1, 2015 new iOS apps submitted to the App Store must include 64-bit support and be built with the iOS 8 SDK. Beginning June 1, 2015 app updates will also need to follow the same requirements. To enable 64-bit in your project, we recommend using the default Xcode build setting of “Standard architectures” to build a single binary with both 32-bit and 64-bit code. 

Donc, s’il vous plaît n’oubliez pas d’append arm64 comme architecture valide dans les parameters cibles du projet ainsi que les parameters du projet

entrer la description de l'image ici

Maintenant, ajoutez arm64 par

entrer la description de l'image ici

Et ça va ressembler

entrer la description de l'image ici

2015

Le problème Invalid Binary peut maintenant être provoqué si EMBEDDED_CONTENT_CONTAINS_SWIFT est true , mais ne parvient pas à inclure réellement de code Swift dans le binary.

Continuez et falsifiez cette valeur dans les parameters de génération d’application.

Xcode avait également inclus les parameters définis par l’utilisateur qui incluaient le mot Swift – je suis juste allé de l’avant et j’ai aussi éliminé cela.

J’ai fait face au même problème, j’ai essayé la plupart des solutions et je suis finalement arrivé à la solution.

Il suffit de vérifier les choses suivantes ..

1) append arm64 comme architecture valide dans les parameters cibles du projet ainsi que les parameters du projet

2) Modifiez le fichier info.plist et ajoutez un tableau de fichiers icons avec toutes les images requirejses avec le nom.

3) Le plus important – à cause du rejet, vous avez changé le numéro de version de l’application dans le fichier plist mais pas sur le portail iTunes.
Vous devez définir / gérer le même numéro de version dans l’application et sur le portail iTunes. Définissez ceci et essayez de télécharger à nouveau le binary, cela résoudra votre problème.

Dans mon cas, j’obtenais le même état binary invalide en quelques secondes pour mon application téléchargée par Xcode-> Organizer ou Application Loader, sans aucun courrier électronique d’Apple. J’ai remplacé les fichiers PNG dans iconset dans mon application Mac OS X et le problème a été résolu.

Je suis très reconnaissant de l’indice de fichier PNG corrompu de «Charleston Software Associates».