iphone - development - itunesconnect apple com无法访问




什么可以导致“无效二进制”没有来自iTunes Connect的电子邮件跟进? (20)

IPad图标的技巧确实有效。

删除CFBundledIconFiles~ipad并在Icon Files键中添加72x72图标

请注意屏幕截图,此方法有时会创建Missing Screenshots Error

我正在尝试代表我的一个客户提交现有应用程序的更新,并且我从iTunes Connect收到“无效二进制”失败,但没有解释错误。 我将在明天没有网络访问的情况下离开2周的假期,所以我有点绝望的解决方案。 任何见解都非常感谢。

此更新更改了应用程序的名称并修复了一些小错误。 我之前通过iTunes Connect提交了提交内容,但我正在通过Xcode提交此更新,正如Apple现在所要求的那样。

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

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

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

以下是从App Store Distribution配置中复制和粘贴的构建设置:

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的内容:

任何见解都非常感谢。

编辑 - 解释了表观状态变化延迟

根据我的状态历史记录,似乎“无效二进制”状态实际上是在几分钟内建立的,但iTunes Connect通过设计糟糕的缓存策略隐瞒了这一事实。

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

作为实验,我尝试更改我的应用ID并将二进制文件作为新应用提交。 这一次,我在提交二进制文件几分钟后点击了“查看详细信息”页面。 它的状态显示“上传已收到”。 显然进步! 几分钟后,我点击了状态历史记录,在我上传完成后的几分钟内显示“无效二进制”。 然后我回去刷新了我的“查看详细信息”页面。 尽管状态历史显示“无效二进制”,它仍然显示“已接收上传”。 这是非常明确的证据,表明所有这些页面都被缓存并长时间显示陈旧数据。 当我将二进制文件重新提交为新应用程序时,我才发现这一点,因为我是第一次加载该应用程序的页面。

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


2015年

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

继续并在应用程序构建设置中伪造此值。

Xcode还包括用户定义的设置,其中包括Swift这个词 - 我只是继续前进并剔除了它。


刚刚遇到同样的问题,似乎解决方案是将缺少的Retina 4英寸启动画面添加到我的项目中(我故意将其删除 - 以前的更新都没问题,但似乎他们不再喜欢它了),如归档应用程序时在日志中的建议。


即使Application Loader接受了我的二进制文件,我也从iTunes Connect获得了相同的INVALID BINARY错误。 解决方案非常简单......

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

  • CFBundleIconFile = Icon.png(我的iPhone 57x57 PNG图标)
  • CFBundleIconFile~ipad = Icon-72.png(我的ipad 72x72 PNG图标)
  • CFBundleIconFiles =数组
    • Item 0 = Icon.png
    • 第1项 = [email protected](我的iPhone 4 114x114 PNG图标)
    • 第2项 = Icon-72.png

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

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

祝大家好运!

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


同样的问题,不同的解决方案:我的归档方案是在使用ad hoc 构建配置时应该已经发布。

我的博客申请失败的代码签名验证失败的修复尝试清单。


在XCode中,单击左侧的应用程序名称,然后转到右侧的构建设置选项卡。 向下滚动到“代码签名身份” - >“发布”

确保选择了您的分发配置文件。 我没有意识到我必须明确设置这个,我的应用程序验证得很好,但二进制文件无效。 我的设置仍在开发者资料中


如果是报刊亭应用程序。

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

应用程序加载器不会验证报亭图标,因此错误“无效二进制”仅显示在“iTunes连接”中。

谢谢


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

请检查您的代码的每个部分是否包含第三方框架,以确定它是否存在一些隐私问题。 然后将描述添加到Info.plist文件中。 我这样解决了^ _ ^


感谢所有提出解决方案的人。 事实证明,在我的案例中,你的建议都没有,但我确实解决了这个问题。 这对我有用:

从项目中删除Entitlements.plist。 然后执行Add - > New File并重新添加Entitlements.plist。

在SDK 3.1.3和3.2之间更改了Entitlements.plist的格式。 如果您的Entitlements.plist是使用早于3.2的SDK创建的,并且您现在正尝试使用SDK 3.2或更高版本更新您的应用,则您似乎必须删除Entitlements.plist并使用新格式重新添加它。 否则Apple将拒绝您升级为“无效二进制”。


我一直在努力解决同样的问题。 我今天早上发现团队代理关闭了所有通知,所以我把它们全部打开,最后在应用程序更改为“等待上传”时开始获取状态更改电子邮件,但当状态更改为“二进制无效”时仍然没有”。 经过几次尝试后,我终于将应用更新变为“等待审核”状态。 为我解决的是将目标的构建设置中的“iPhone OS部署目标”的值从iPhone OS 2.2.1(原始应用程序的设置)更改为iPhone OS 3.0。


我今天多次遇到同样的“无效二进制”问题。 最后,我通过检查XCode 4中的构建消息来解决它。单击显示构建日志的所有消息,查找代码签名并验证部分,通常在底部。 我的所有失败提交都在构建日志中存在验证错误,但在存档 - 验证按钮中传递。


我几天都遇到了同样的问题。 似乎这个错误可能是由许多不同的问题引起的,所以很遗憾Apple没有用电子邮件详细说明错误。

对我来说,解决方案是根本不使用“Application Loader”!

而是在Xcode中执行以下操作:

  • 选择您的应用程序转到Build> Build&Archive
  • 完成后,转到窗口>管理器
  • 在“存档应用程序”下选择您的应用程序
  • Click'Validate”
  • 如果验证成功(就像我的那样):
  • 点击“提交”。

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


我挣扎了半天。 甚至尝试重新安装xcode。 对我来说,答案是回到itunes中的配置门户连接并撤销我的证书然后再创建一个新证书。 然后创建新的分发配置文件,然后重建并重新提交。 脖子上长长的无证痛。



我有同样的问题。 确保您已在分发配置文件中选择“App Store”作为分发方法,而不是“Ad Hoc”。


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

我发送1024x768默认图像,但我在本文中找到:

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

它需要是1024x748(对于横向默认设置)而且我看起来有效:iTunesconnect在此之后接受了它。


我遇到了同样的问题,尝试了大多数解决方案,最后来到下面的解决方案。

只需检查以下内容..

1)在项目目标设置和项目设置中添加arm64作为有效架构

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

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


目前(2013年5月8日)如果您在应用中访问UDUD,则会引发此错误。 MKStoreKit(一个流行的开源库)确实如此,这就是导致它的原因。 在你的文件中搜索下面的方法(假设它不在预编译的二进制文件中,在这种情况下,go google你拥有的任何内容并查看他们的发行说明)

[UIDevice currentDevice] .uniqueIdentifier


谢谢..这是我项目中的图标文件的问题。 我按照Sasho的建议删除了那些。 最后改为等待审查。


这可能是以下问题,我在iTunesConnect自动回复提交后收到了以下问题:

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

更正问题后,请返回iTunes Connect管理您的应用程序模块中的应用程序版本详细信息页面,然后单击“准备提交二进制文件”按钮。 这将引导您完成二进制提交流程并将您的应用程序版本状态返回到等待上载。 然后,您可以使用Application Loader上传新的二进制文件。 如果您的提交中发现任何其他问题,我们会与您联系。







itunesconnect