什么会导致“无效的二进制”没有电子邮件后续从iTunes连接?

我试图代表我的一个客户提交一个现有的应用程序的更新,我从iTunes Connect中收到“无效的二进制”失败,没有解释错误。 我明天就要离开两周的假期,没有networking接入,所以我有点绝望的解决scheme。 任何见解都非常感谢。

此更新更改了应用程序的名称并修复了一些小错误。 我通过iTunes Connect完成了以前提交的内容,但是我现在需要通过Xcode提交此更新。

我将自己设置为该客户端的技术联系人,因此当我通过iTunes Connect将新版本置于“正在等待上传”状态时,我收到通知。 当我通过Xcode组织者validation二进制文件时,该工具最终会报告该二进制文件是有效的。 当我通过Xcode组织者提交二进制文件时,它最终会回来,并说二进制文件已经成功上传。 这两个步骤都需要一段时间(可能每个15分钟),可能是因为应用程序包是63兆字节,数千资源。

在接下来的一两个小时内,iTunes Connect门户仍会报告应用程序处于“等待上传”状态。 我相信Xcode上传完成的时间与iTunes Connect中状态更改的时间间隔是正常的。 这些小时的延迟看起来过多,但是考虑到应用程序的大小,我想这并不令人惊讶。

最后状态只是在iTunes连接中悄无声息地变成“无效二进制”。 我知道iTunes Connect应该发送一封电子邮件来解释发生这种情况时的错误,但我没有收到任何东西,我的客户也没有收到。 (我认为它应该发布给所有标记为在iTunes Connect中通知应用程序状态更改的用户,这个假设是否正确?)

以下是从我的App Store发行版configuration中复制和粘贴的构build设置:

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 

这里是我的Info.plist的内容:

http://img.skitch.com/20100808-tgm9s4nxssnijs26jy8a6uq75u.png

任何见解都非常感谢。

编辑 – 解释明显的状态改变延迟

根据我的状态logging,看起来“无效二进制”状态实际上是在几分钟内build立起来的,但iTunes Connect隐藏了这个事实,devise不佳的caching策略。

为了监控状态的变化,我一直在刷新,并在四个页面之间点击:“pipe理您的应用程序”,“应用程序信息”页面,“查看详细信息”和“状态历史logging”。 当状态logging最终更新时,显示应用程序在大约一个小时前进入“无效二进制”状态。

作为一个实验,我尝试更改我的应用程序ID并提交二进制文件作为一个新的应用程序。 这一次,在提交二进制文件几分钟后,我点击进入“查看详情”页面。 其状态显示“上传已收到”。 明显的进展! 几分钟后,我点击进入状态历史logging,在上传完成后仅仅几分钟就显示“无效二进制”。 然后我回去刷新我的“查看详情”页面。 尽pipe状态历史logging显示“无效二进制”,但它仍显示“上传已收到”。 这是非常明显的证据,表明所有这些页面都被caching并显示过时的陈旧数据。 当我重新提交这个二进制文件作为一个新的应用程序时,我只是抓到了这个,因为我是第一次加载这个应用程序的页面。

这不能解决我的“无效的二进制”问题,也不解释为什么我没有收到任何电子邮件,但它确实有助于排除一些假设。

经过16个小时的不停的研究试错,并且在苹果开发者论坛上find了一个解决scheme。

显然有一个错误,允许您的二进制文件通过validation和上传,但然后被拒绝的iTunes Connect系统。 而你没有得到任何电子邮件解释你发生了什么!

如果您的应用程序适用于iPhone和iPad,则可能在Info.plist文件中有这样的内容:

截图之前

您应该完全删除CFBundleIconFiles~ipad参数,并将iPad图标包含在Icons files数组中,而不是像这样:

修复后的截图

这就是所有人!

让我知道这是否帮助你!

即使应用程序加载器接受了我的二进制文件,我也有与iTunes Connect相同的INVALID BINARY错误。 解决scheme非常简单

打开你的info.plist,右键单击并选中Show Raw Key / Values

  • CFBundleIconFile = Icon.png(我的iPhone 57×57 PNG图标)
  • CFBundleIconFile〜ipad = Icon-72.png(我的ipad 72×72 PNG图标)
  • CFBundleIconFiles =数组
    • 项目0 = Icon.png
    • 第1项 = Icon@2x.png(我的iPhone 4 114×114 PNG图标)
    • 项目2 = Icon-72.png

保存,清理所有目标,build立并分析,在Finder中压缩并重新提交!

错误是由于我input密钥“图标文件”造成的。 在原始视图中,这已映射到“图标文件”,而不是CFBundleIconFiles。 我有Xcode 3.2.3,我猜Xcode 3.2.4更好地映射这个关键标识符。

祝大家好运!

来源: 技术问答QA1686:iPad和iPhone上的应用程序图标

感谢所有提出解决scheme的人。 事实certificate,你的build议没有任何帮助,但我确实解决了这个问题。 以下是对我有用的东西:

从您的项目中删除Entitlements.plist。 然后执行添加 – >新build文件并重新添加Entitlements.plist。

Entitlements.plist的格式在SDK 3.1.3和3.2之间改变。 如果您的Entitlements.plist是使用3.2以前版本的SDK创build的,而您现在正尝试使用SDK 3.2或更高版本来更新您的应用程序,则似乎必须删除Entitlements.plist并使用新格式重新添加它。 否则,苹果会拒绝你的升级为“无效二进制”。

我几天来一直有这个问题。 似乎这个错误可能是由许多不同的问题引起的,所以这是一个耻辱苹果公司并没有详细说明错误的电子邮件。

对我来说,解决scheme是根本不使用“应用程序加载器”!

相反,在Xcode中执行以下操作:

  • select您的应用程序去生成>生成和存档
  • 完成后,转到“窗口”>“pipe理器”
  • 在“存档应用程序”下select您的应用程序
  • Click'Validate”
  • 如果validation是成功的(就像我的一样):
  • 点击“提交”。

这将然后提交申请到苹果。 对我来说,几秒钟之后,状态变成了“等待审核”,而不是“无效的二进制”。

在XCode中,点击左侧的应用程序名称,然后转到右侧的构build设置选项卡。 向下滚动到“Code Signing Identity” – >“Release”

确保您的分配configuration文件已被选中。 我没有意识到,我不得不明确地设置这个,我的应用程序被证实很好,但二进制无效。 我的设置仍在开发者档案中

使用Xcode中的构build和归档工具,如另一个响应中所述。

出于某种原因,归档工具在苹果公司触发了一些事情,发回电子邮件告诉我什么是真正的错误(损坏的PNG文件)。

我的问题? Xcode在压缩时会破坏一些PNG文件。 转到生成设置,查看包装部分,并设置“压缩PNG文件”为no。

目前(2013年5月8日),如果您在应用程序中访问UDUD,则会引发此错误。 MKStoreKit(一个stream行的开源库)确实如此,这正是导致它的原因。 在你的文件中search下面的方法(假设它不在预编译的二进制文件中,在这种情况下,不pipe你有什么,并检查他们的发行说明)

[UIDevice currentDevice] .uniqueIdentifier

这里的答案都没有帮助我。 我在我的项目中使用Cocoapods。 出于某种原因,Cocoapods项目设置基本SDK和支持的平台设置为OSX。 (Cocoapods版本:0.37.2)我把它切换到iOS,它的工作。 我的Cocoapods项目设置

我有同样的问题,它显然是与应用程序随附的默认启动屏幕图像的大小相关联。

我发送的是1024×768的默认图片,但我在这篇文章中find:

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

它需要是1024×748(为一个风景默认),我似乎工作:iTunesconnect之后采取了。

这可能是以下问题,我从iTunesConnect的自动响应提交后收到:

缺less推送通知权利 – 您的应用程序向Apple推送通知服务注册,但应用程序签名的权利不包括所需的“aps-environment”权利。 确保您已为此应用启用了推送通知服务,并且您已经下载了包含“aps-environment”权利的发布configuration文件。

一旦纠正了问题,请返回iTunes Connectpipe理您的应用程序模块中的应用程序版本详细信息页面,然后单击准备提交二进制文件button。 这将带您通过二进制提交stream程并将您的应用程序版本状态返回到等待上传。 然后可以使用Application Loader来上传新的二进制文件。 如果在您的提交中发现任何其他问题,您将被联系。

这可能是iOS 10中与隐私相关的问题。它要求开发人员在使用用户隐私数据(如“打开照片库”,“打开相机”,“访问日历”等)时添加说明。

请检查您的代码包括第三方框架的每个部分,看看它是否有一些隐私问题。 然后将描述添加到Info.plist文件中。 我用这种方法解决了这个问题^ _ ^ 在这里输入图像说明

iPad图标的窍门确实奏效。

删除CFBundledIconFiles〜ipad并将一个72×72图标添加到图标文件键

谨防截图,有时这种方法,创造失踪截图错误

我现在一直在努力解决同样的问题。 我今天早上发现,团队代理closures了所有的通知,所以我把它们全部打开,最后在应用程序更改为“等待上传”时开始获取状态更改电子邮件,但状态更改为“Binary Invalid ”。 经过几次尝试后,我终于将应用程序更新到“等待审核”状态。 解决这个问题的方法是将iPhone OS 2.2.1(原始应用程序的设置)中的“iPhone操作系统部署目标”的值更改为iPhone OS 3.0。

我有这个问题。 我的问题竟然是将部署目标设置为小于3.2,但是仍然将架构设置为“为armv7优化”。 这是使用Xcode 3.2.3。 后者的设置应该改为“标准(armv6和armv7)”。 当我build立我的开发应用程序,我不得不改变它,因为Xcode抱怨,当我试图运行应用程序在一个较旧的ITouch,但与分布构build有没有设备上运行(除非你先testing特设),所以你没有注意到这个问题,直到iTunes连接拒绝二进制。

我也有同样的问题。 我首先尝试了权利的东西,因为它看起来适合我的情况。

男孩是他们不同的:旧权利plist:

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

新的…(xcode 3.2.5,4.2 target和min iOS)

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

我为此奋斗了半天。 甚至尝试重新安装xcode。 对我来说,答案是回到配给门户在iTunes连接和撤销我的证书,然后作出一个新的。 然后制作新的分发configuration文件,然后重build和重新提交。 多长时间没有logging的颈部疼痛

在我的情况下,我使用不同的CSR生成了供应configuration文件,而不是使用首次创build的原始CSR访问供应门户。 使用原始CSR生成的configuration文件进行代码签名和提交应用程序解决了我的问题。

今天我遇到了几次同样的“无效二进制”问题。 最后,我通过在XCode 4中检查构build消息来解决它。单击显示所有消息生成日志,find代码签名和validation部分,通常在底部。 我所有失败的提交在构build日志中都有validation错误,但在归档 – validationbutton中传递。

同样的问题,不同的解决scheme:我的归档scheme使用ad hoc 构buildconfiguration ,当它应该已经被释放。

在我的博客应用程序失败的代码签名validation失败的修复尝试清单。

我有同样的问题。 确保您在分发configuration文件中select了“App Store”作为分发方法,而不是“Ad Hoc”。

我有一个指向不再存在的提取图标文件的指针。 我删除了指针,到目前为止,上传似乎是可以接受的。 他们确实发送了一封电子邮件,提供了相关的详细信息,尽pipe上面的提示让我像往常一样走在了正确的道路上。

谢谢..这是我的项目中的图标文件的问题。 我已经删除了Sasho的build议。 最后改为等待审查。

如果在报亭应用程序的情况下。

确保报亭图标已添加。 在我的情况下,问题是我忘了在项目包中添加报刊亭图标,但我把它指向plist。

应用程序加载器不会validation报刊亭图标,所以错误“无效的二进制”只显示在“iTunes连接”。

谢谢

刚刚在这里有同样的问题,似乎解决scheme是添加缺lessRetina 4英寸启animation面到我的项目(我故意删除它 – 以前的更新是可以的,但似乎他们不喜欢它了),如归档应用程序时的日志中所build议的那样。

当我最近在我的应用程序中添加了Flurry Ad时,我得到了这个错误。

如果您的情况是关于广告,您必须在上传之前在itunesconnect中接受。 http://techcrunch.com/2014/04/11/apple-developers-must-now-agree-to-ad-identifier-rules-or-risk-app-store-rejection/

我刚刚收到苹果的邮件

 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. 

所以请记得在项目目标设置和项目设置中添加arm64作为有效的体系结构

在这里输入图像说明

现在通过添加arm64

在这里输入图像说明

它会看起来像

在这里输入图像说明

2015年

如果EMBEDDED_CONTENT_CONTAINS_SWIFTtrue ,现在可能会导致Invalid Binary问题,但实际上Swift在二进制文件中包含任何Swift代码。

继续并在应用程序构build设置中伪造这个值。

Xcode还包括了用户定义的设置,其中包括Swift这个词 – 我只是继续并挑选了这个。

我面临同样的问题,尝试了大部分的解决scheme,最后得出了解决scheme。

只是检查下面的事情..

1)在项目目标设置和项目设置中添加arm64作为有效的体系结构

2)修改info.plist文件,并添加图标文件数组与名称所需的所有图像。

3)最重要的 – 由于拒绝,您更改了plist文件中的应用程序的版本号 ,而不是iTunes门户。
您需要在应用程序和iTunes门户中设置/pipe理相同的版本号。 设置此并尝试再次上传二进制文件,这将解决您的问题。

在我的情况下,通过Xcode-> Organizer或Application Loader,我的上传的应用程序在几秒钟内得到了同样的无效二进制状态,而没有苹果的电子邮件。 我用我的Mac OS X应用程序中的iconsetreplacePNG文件,问题得到解决。

我从“查尔斯顿软件协会”得到了腐败的PNG文件线索,非常感谢。