web-dev-qa-db-fra.com

Qu'est-ce qui peut provoquer un "fichier binaire invalide" sans suivi de messagerie électronique via iTunes Connect?

J'essaie de soumettre une mise à jour d'une application existante au nom d'un de mes clients et j'obtiens des échecs "Binaire non valide" d'iTunes Connect sans aucune explication de l'erreur. Je pars en vacances 2 semaines sans accès 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 bugs mineurs. J'ai déjà envoyé des soumissions via iTunes Connect, mais je soumets cette mise à jour via Xcode comme le requiert Apple.

Je me suis défini comme contact technique pour ce client. Je reçois donc 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 binaire via l'organisateur Xcode, l'outil indique finalement que le fichier binaire est valide. Lorsque je soumets le fichier binaire via l'organiseur Xcode, celui-ci revient et indique que le fichier binaire a été téléchargé avec succès. Ces deux étapes prennent un certain temps (peut-être 15 minutes chacune), probablement parce que l’application contient 63 mégaoctets avec des milliers de ressources.

Au bout d'une heure ou deux, le portail iTunes Connect indique toujours que l'application est dans l'état "En attente de téléchargement". Je crois qu'une certaine latence est normale entre le moment où le téléchargement est terminé dans Xcode et le moment où l'état change dans iTunes Connect. Ces heures de latence semblent excessives, mais pas tout à fait surprenantes, je suppose, compte tenu de la taille de l'application.

Finalement, l'état passe silencieusement à "Binaire non valide" dans iTunes Connect. Je comprends qu'iTunes Connect est censé envoyer un courrier électronique expliquant l'erreur lorsque cela se produit, mais je ne reçois rien, pas plus que mon client. (Je suppose qu'il devrait être envoyé à tous les utilisateurs signalant la notification des changements d'état de l'application dans iTunes Connect. Cette hypothèse est-elle correcte?)

Voici les paramètres de construction copiés et collés à partir de ma configuration de distribution 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)/SharedPrecompiledHeaders
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 Distribution: 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 - Explication de la latence des changements d'état apparents

D'après l'historique de mon statut, il apparaît que le statut "Binaire non valide" est en train de s'établir en quelques minutes, mais iTunes Connect cache ce fait avec une stratégie de mise en cache mal conçue. 

Pour surveiller les changements 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 des statuts est enfin mis à jour, il est indiqué que l'application est passée à l'état "Invalid Binary" environ une heure avant.

A titre expérimental, j'ai essayé de changer mon ID d'application et de soumettre le binaire en tant que nouvelle application. Cette fois, j'ai cliqué sur la page "Afficher les détails" quelques minutes après la soumission du fichier binaire. Son statut indiquait "Télécharger reçu". Progrès apparent! Quelques minutes plus tard, j’ai cliqué sur Historique des statuts et l’application "Binaire non valide" ne s'affiche que quelques minutes après la fin du téléchargement. Ensuite, je suis revenu et j'ai rafraîchi ma page "Afficher les détails". Il affiche toujours «Télécharger le fichier reçu», bien que l’historique d’état indique «Binaire non valide». Cela montre assez clairement que toutes ces pages sont mises en cache et affichent des données obsolètes pendant de longues périodes. Je ne l’ai compris que lorsque j’ai soumis à nouveau le fichier binaire 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 de "binaire non valide", cela n'explique pas non plus pourquoi je ne reçois pas de courrier électronique, mais cela permet d'éviter certaines hypothèses.

38
cduhn

Merci à tous ceux qui ont proposé des solutions. En fin de compte, aucune de vos suggestions ne m'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 de Entitlements.plist a été modifié entre 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 l'ajouter à nouveau en utilisant le nouveau format . Sinon, Apple rejettera votre mise à niveau en tant que "fichier binaire non valide".

8
cduhn

après 16 heures d'essais et d'erreurs de recherche non-stop, et en tête d'affiche, j'ai trouvé une solution sur le forum du développeur Apple.

Apparemment, il existe un bogue qui permet à votre binaire de passer avec succès la vérification et le téléchargement, mais qui est ensuite rejeté par le système iTunes Connect. Et vous ne recevez aucun email vous expliquant ce qui s'est passé!

Si votre application s'adresse à la fois à l'iPhone et à l'iPad, le fichier Info.plist contient probablement quelque chose du genre:

screenshot before

Vous devez supprimer complètement le paramètre CFBundleIconFiles~ipad et inclure l'icône iPad dans le tableau Icons files à la place, comme ici:

screenshot after fix

C'est tout les gens!

Faites-moi savoir si cela vous a aidé!

32
Sasho

J'ai eu la même erreur INVALID BINARY de iTunes Connect même si Application Loader acceptait mon fichier binaire. La solution était très simple ...

Ouvrez votre info.plist, faites un clic droit et vérifiez Afficher les clés/valeurs brutes:

  • CFBundleIconFile = Icon.png (icône de mon iPhone 57x57 PNG) 
  • CFBundleIconFile ~ ipad = Icon-72.png (icône de mon ipad 72x72 PNG) 
  • CFBundleIconFiles = tableau
    • Point 0 = Icon.png 
    • Objet 1 = [email protected] (icône de mon iPhone 4 114x114 PNG)
    • Point 2 = Icon-72.png

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

L'erreur a été causée par la saisie de 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: Foire aux questions techniques QA1686: Icônes d'application sur iPad et iPhone

10
rjobidon

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, il est donc dommage que Apple ne l'explique pas avec un courrier électronique.

Pour moi, la solution consistait à ne pas utiliser "Application Loader" du tout!

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

  • Sélectionnez votre application, allez à Construire> Construire et archiver 
  • Une fois cette opération terminée, accédez à Fenêtre> Organiseur.
  • Sélectionnez votre application sous "Applications archivées". 
  • Click'Valider ' 
  • Si la validation est réussie (comme la mienne):
  • cliquez sur 'Soumettre'.

Ceci soumettra ensuite l'application à Apple. Pour moi, après quelques secondes, le statut a été changé pour "En attente de révision" plutôt que "Binaire non valide".

7
Aaron

Utilisez les outils de compilation et d'archivage dans Xcode comme décrit dans une autre réponse ici.

Pour une raison quelconque, l'outil d'archivage a provoqué une demande par Apple de renvoyer un courrier électronique me disant ce qui n'allait pas (fichier PNG corrompu).

Mon problème? Xcode corrompt certains fichiers PNG lorsqu'il les compresse. Accédez à Paramètres de construction, consultez la section Empaquetage et définissez "Compresser les fichiers PNG" sur Non.

3
Lance Cleveland

Actuellement (8 mai 2013), cette erreur est générée si vous accédez à UDUD dans votre application. MKStoreKit (une bibliothèque open source populaire) le fait, et c’est ce qui m’a causé cela. Recherchez la méthode suivante ci-dessous dans vos fichiers (en supposant que ce ne soit pas dans un fichier binaire précompilé, auquel cas, allez sur Google comme vous avez et consultez leurs notes de publication)

[UIDevice currentDevice] .uniqueIdentifier

3

Dans XCode, cliquez sur le nom de votre application sur le côté gauche et accédez à l'onglet Paramètres de construction sur le côté droit. Faites défiler jusqu'à "Identité de signature de code" -> "Libérer"

Assurez-vous que votre profil de distribution est sélectionné. Je ne savais pas que je devais définir explicitement ceci et mon application a été vérifiée parfaitement, mais le fichier binaire est invalide. Mon paramètre était toujours sur le profil du développeur

3
Tony

Aucune des réponses ici ne m'a été utile… .. J'utilise des Cocoapods dans mon projet. Pour une raison quelconque, les paramètres du projet Cocoapods Base SDK et plates-formes prises en charge ont été définis sur OSX. (Version Cocoapods: 0.37.2) Je l’ai basculé sur iOS et cela a fonctionné .My Cocoapods Project Settings

2
Mahesh

Il peut s'agir d'un des problèmes suivants, que j'ai reçus après une soumission provenant d'une réponse automatisée d'iTunesConnect:

Droits d'accès aux notifications Push manquants - Votre application s'enregistre auprès du service de notifications push Apple, mais les droits de la signature de l'application n'incluent pas le droit requis "environnement-aps". Assurez-vous que vous avez activé Push Notification Services pour cette application et que vous avez téléchargé un profil d'approvisionnement de distribution qui inclut le droit "aps-environment".

Une fois le problème corrigé, retournez à la page de détails de la version de l'application dans le module Gérer vos applications d'iTunes Connect, puis cliquez sur le bouton Ready to Submit Binary. Cela vous mènera à travers le flux de soumission binaire et retournera le statut de version de votre application à Waiting for Upload. Vous pouvez ensuite utiliser Application Loader pour télécharger votre nouveau fichier binaire. Si vous rencontrez d'autres problèmes avec votre soumission, vous serez contacté.

1
Jmart

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

J'envoyais une image par défaut de 1024x768 mais j'ai trouvé dans cet article:

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

Qu'il faut que ce soit 1024x748 (pour un paysage par défaut) Et il semble que cela a fonctionné: iTunesconnect l'a pris après cela.

1
Yann Bouschet

Il peut s'agir d'un problème lié à la confidentialité dans iOS 10. Les développeurs doivent ajouter une description lorsqu'ils utilisent des données de confidentialité telles que "Ouvrir une photothèque", "Ouvrir une caméra", "Calendrier d'accès", etc. 

Veuillez vérifier chaque partie de vos codes inclus dans les frameworks tiers pour voir si elle pose des problèmes de confidentialité. Ajoutez la description au fichier Info.plist puis. Je l'ai résolu de cette façon ^ _ ^  enter image description here

1
Kueiapp

Si dans le cas de l'application kiosque à journaux. 

Assurez-vous que l'icône du kiosque est ajoutée. Dans mon cas, le problème est que j’oublie d’ajouter une icône de kiosque à journaux dans le bundle de projet, mais je la réfère en pliste.

Le chargeur d'application ne validera pas l'icône du kiosque à journaux, donc l'erreur «binaire non valide» ne s'affiche que dans «iTunes connect».

merci

0
Naveen Shan

j'ai eu ce problème. mon problème s'est avéré fixer la cible de déploiement à une valeur inférieure à 3,2, mais l'architecture étant toujours définie sur «optimisée pour armv7». cela utilise xcode 3.2.3. ce dernier paramètre doit être remplacé par «standard (armv6 et armv7)». Quand j'ai construit mon application de développement, j'ai dû la changer, car xcode s'est plaint lorsque j'ai essayé d'exécuter l'application sur un iTouch plus ancien, mais avec une version de distribution, il n'y a pas de périphérique sur lequel tourner (sauf si vous testez d'abord avec une application ad hoc). ), afin que vous ne remarquiez pas le problème jusqu'à ce que iTunes Connect rejette le binaire. 

0
ilyashev

2015  

Le problème Invalid Binary peut maintenant être causé si EMBEDDED_CONTENT_CONTAINS_Swift est true, mais ne parvient pas à inclure un code Swift dans le binaire.

Allez-y et falsifiez cette valeur dans les paramètres de construction de l'application.

Xcode avait également inclus les paramètres définis par l'utilisateur, y compris Word Swift - je me suis contenté de le cueillir aussi.

0
William George

Je viens de recevoir un courrier d'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.

N'oubliez donc pas d'ajouter arm64 en tant qu'architecture valide dans les paramètres de cible de projet ainsi que dans les paramètres de projet

enter image description here

Maintenant, ajoutez arm64 par 

enter image description here

Et ça va ressembler

enter image description here

0
Raon

Dans mon cas, je recevais le même Binaire non valide statut en quelques secondes pour mon application téléchargée, soit par Xcode-> Organizer ou Application Loader, sans les courriels d'Apple. J'ai remplacéPNGfichiers dans iconset dans mon application Mac OS X et le problème a été résolu.

"Charleston Software Associates" m'a fourni l'indice du fichier PNG corrompu, merci beaucoup.

0
zeeawan

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

0
Roshan

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

Si votre cas concerne des publicités, vous devez accepter in itunesconnect avant de télécharger . http://techcrunch.com/2014/04/11/Apple-developers-must-now-agree-to-ad-identifier- règles-ou-risque-app-store-rejection/

0
Esqarrouth

J'ai eu du mal avec ça pendant une demi-journée. Même essayé de réinstaller xcode. Pour moi, la réponse était de revenir au portail de provisioning dans iTunes Connect et de révoquer mon certificat, puis d'en créer un nouveau. Ensuite, créez un nouveau profil d'approvisionnement de distribution, puis reconstruisez-le et soumettez-le à nouveau. Quelle longue douleur non documentée au cou.

0
Tim

J'ai rencontré le même problème "binaire non valide" plusieurs fois aujourd'hui. Enfin, je l'ai résolu en vérifiant les messages de construction dans XCode. 4. Cliquez sur Afficher tous les messages pour le journal de construction, recherchez le signe de code et validez la partie, normalement en bas. Toute ma soumission échouée a une erreur de validation dans le journal de construction, mais a été transmise dans le bouton archive - valider.

0
LetBulletFlies

J'avais un pointeur sur un fichier d'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 email assez rapidement avec les détails pertinents, bien que les astuces ci-dessus me fassent sur la bonne voie avant cela, comme d'habitude.

0
Bill Cheswick

Une autre option possible, a reçu ce message d'erreur après avoir soumis à nouveau le binaire à quelques reprises:

Votre Info.plist contient la sous-propriété UINewsstandIcon sous CFBundleIcons, qui est destiné à être utilisé avec les fonctionnalités Newstand. Pour inclure les fonctionnalités du kiosque à journaux, Info.plist doit inclure la clé UINewsstandApp = true Info.plist.

Vérifiez votre info.plist - Je n'ai pas ajouté cette propriété moi-même et je n'ai rencontré aucune erreur lors des tests locaux ou de Testflight.

0
zzz

Le truc de l'icône IPad fonctionne.

Supprimez le fichier CFBundledIconFiles ~ ipad et ajoutez une icône 72x72 à la clé Icon Files

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

0
ppaulojr

Je viens d'avoir le même problème ici, et il semble que la solution consistait à ajouter l'écran de démarrage Retina 4 pouces manquant à mon projet (je l'ai supprimé exprès - les mises à jour précédentes étaient acceptables, mais il semble que ce ne soit pas le cas. ne l’aime plus), comme recommandé dans les journaux lors de l’archivage de l’application.

0
Benjamin Piette

Même problème, solution différente: mon schéma archive utilisait une configuration ad hoc build, alors qu'il aurait dû être publié.

Liste de contrôle pour les tentatives de correctifs ayant échoué sur mon blog Application Failed Vérification Code Code .

0
JOM

J'ai rencontré le même problème, essayé avec la plupart des solutions et enfin arriver à la solution ci-dessous.

Il suffit de vérifier les choses suivantes .. 

1) ajouter arm64 comme architecture valide dans les paramètres de cible de projet ainsi que les paramètres de projet 

2) Modifiez le fichier info.plist et ajoutez un tableau de fichiers d’icônes avec toutes les images requises ainsi que leur 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 . Configurez-le et essayez de télécharger à nouveau le binaire, cela résoudra votre problème. 

0
Umesh Sawant

J'ai le même problème. J'ai d'abord essayé la méthode des droits, car cela semblait correspondre à ma situation. 

Garçon sont-ils différents: ANCIEN plist droit:

<plist version="1.0">
<dict>
    <key>get-task-allow</key>
    <false/>
</dict>

New one ... (xcode 3.2.5, 4.2 cible et iOS minimum)

<plist version="1.0">
<dict>
    <!--- Required entitlements (in most cases shouldn't be changed) --->
    <key>application-identifier</key>
    <string>$(AppIdentifierPrefix)$(CFBundleIdentifier)</string>
    <key>keychain-access-groups</key>
    <array>
        <string>$(AppIdentifierPrefix)$(CFBundleIdentifier)</string>
    </array>

<!--- Custom entitlements below --->


</dict>
</plist>
0
Tom Andersen

Je suis aux prises avec le même problème depuis un certain temps maintenant. J'ai découvert ce matin que toutes les notifications avaient été désactivées par l'agent de l'équipe. Je les ai donc toutes activées et j'ai finalement commencé à recevoir des courriels de changement d'état lorsque l'application est passée à "En attente de téléchargement". ". Après quelques tentatives supplémentaires, j'ai finalement mis la mise à jour de l'application dans l'état "En attente de révision". Ce qui a résolu le problème pour moi a été de changer la valeur de "Cible de déploiement iPhone OS" dans les paramètres de construction de la cible à partir d'iPhone OS 2.2.1 (le paramètre de l'application d'origine) en iPhone OS 3.0.

0
Steve

J'ai le même problème. Assurez-vous que vous avez choisi "App Store" comme méthode de distribution dans le profil d'approvisionnement de distribution, et non pas "Ad Hoc". 

0
tesmojones

Merci .. c'était un problème avec les fichiers d'icônes dans mon projet. J'ai enlevé ceux suggérés par Sasho. Enfin changé en attente de révision.

0
Ram G.