I'm trying to submit an update of an existing application on behalf of one of my clients, and I'm getting "Invalid Binary" failures from iTunes Connect with no explanation of the error. I'm leaving on a 2 week vacation without network access tomorrow, so I'm a bit desperate for a solution. Any insights are greatly appreciated.
我正试图代表我的一个客户提交一个现有应用程序的更新,而我正在从iTunes Connect中获取“无效的二进制”失败,并没有解释错误。我明天要休假两周,没有网络连接,所以我有点迫切地想要一个解决方案。任何见解都将受到极大的赞赏。
This update changes the name of the application and fixes a few minor bugs. I did previous submissions via the iTunes Connect, but I'm submitting this update via Xcode as Apple now requires.
这个更新更改了应用程序的名称,并修复了一些小错误。我之前是通过iTunes Connect提交的,但是我现在是按照苹果现在的要求通过Xcode提交更新。
I set myself up as the technical contact for this client, so I receive a notification when I put the new version into a "Waiting for Upload" state via iTunes Connect. When I then validate the binary via the Xcode organizer, the tool eventually reports that the binary is valid. When I submit the binary via the Xcode organizer, it eventually comes back and says that the binary has been successfully uploaded. Both of these steps take a while (maybe 15 minutes each), probably because the app bundle is 63 megabytes with thousands of resources.
我将自己设置为这个客户的技术联系人,所以当我通过iTunes Connect将新版本放入“等待上传”状态时,我收到了一个通知。然后,当我通过Xcode组织者验证二进制文件时,该工具最终报告二进制文件是有效的。当我通过Xcode组织者提交二进制文件时,它最终返回并说二进制文件已被成功上传。这两个步骤都需要花费一些时间(可能每个需要15分钟),这可能是因为应用程序包是63兆字节,有数千个资源。
For the next hour or two the iTunes Connect portal still reports that the application is in a "Waiting for Upload" state. I believe some latency is normal between the time when the upload completes in Xcode and when the state changes in iTunes Connect. These hours of latency seem excessive, but not entirely surprising I suppose, given the size of the app.
在接下来的一两个小时内,iTunes Connect门户仍然会报告应用程序处于“等待上传”状态。我认为,从Xcode中上传完成到iTunes Connect中状态改变之间,有些延迟是正常的。考虑到应用程序的大小,这些时间的延迟似乎有些过度,但我认为这并不完全令人惊讶。
Eventually the state just silently changes to "Invalid Binary" in iTunes connect. I understand that iTunes Connect is supposed to send out an email explaining the error when this happens, but I'm not receiving anything, nor is my client. (I assume it should go out to all users flagged for notification of app state changes in iTunes Connect. Is this assumption correct?)
最终,状态会在iTunes connect中无声地变为“无效二进制”。我知道iTunes Connect应该在发生这种情况时发送邮件解释错误,但我没有收到任何东西,我的客户也没有收到。(我认为它应该向所有被标记为在iTunes Connect中通知app状态变化的用户开放。这个假设是正确的吗?)
Here are the build settings copied and pasted from my App Store Distribution configuration:
这里是复制和粘贴的构建设置,从我的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
Here are the contents of my Info.plist:
以下是我的信息。
Any insights are greatly appreciated.
任何见解都将受到极大的赞赏。
EDIT - Apparent status change latency explained
编辑-外观状态更改延迟解释。
Based on my status history, it appears that the "Invalid Binary" status is actually being established within minutes, but iTunes Connect is concealing this fact with a poorly designed caching strategy.
根据我的状态历史,看起来“无效的二进制”状态实际上是在几分钟内建立的,但是iTunes Connect用一个设计糟糕的缓存策略来隐藏这个事实。
To monitor for a change in state, I've been refreshing and clicking around between four pages: "Manage Your Applications", the "App Information" page, "View Details", and "Status History". When the status history finally updates, it shows that the app went into an "Invalid Binary" state around an hour prior.
为了监视状态的变化,我在4个页面之间进行了刷新和点击:“管理应用程序”、“应用程序信息”页面、“查看详细信息”和“状态历史”。当状态历史最终更新时,它显示应用程序在一个小时前进入“无效二进制”状态。
As an experiment, I tried changing my app ID and submitting the binary as a new app. This time, I clicked into the "View Details" page a few minutes after submitting the binary. Its status showed, "Upload Received". Apparent progress! A couple minutes later I clicked into Status History, and it showed "Invalid Binary" mere minutes after my upload finished. Then I went back and refreshed my "View Details" page. It still shows "Upload Received", despite the fact that the Status History shows "Invalid Binary". This is pretty clear evidence that all these pages are being cached and showing stale data for long periods of time. I only caught this when I resubmitted the binary as a new app because I was loading the pages for that app for the first time.
作为一个实验,我尝试改变我的app ID,并提交二进制文件作为一个新的应用。这次,我在提交二进制文件几分钟后点击了“查看详情”页面。它的状态显示为“上传收到”。明显的进步!几分钟后,我点击进入状态历史,在上传完成后的几分钟,它显示了“无效的二进制”。然后我返回并刷新了“查看详细信息”页面。它仍然显示“上载接收”,尽管状态历史显示“无效二进制”。这是非常明显的证据,表明所有这些页面都被缓存,并且长时间显示陈旧的数据。当我重新将二进制文件作为一个新应用提交时,我才发现这一点,因为我是第一次为那个应用加载页面。
This doesn't solve my "Invalid Binary" problem, nor does it explain why I'm not getting any emails, but it does help rule out some hypotheses.
这并不能解决我的“无效二进制”问题,也不能解释为什么我没有收到任何电子邮件,但它确实有助于排除一些假设。
29 个解决方案
#1
32
after 16 hours of non stop research trial and error, and headbanging I have found a solution in apple developer's forum.
经过16个小时不断的研究尝试和错误,我在苹果开发者论坛上找到了一个解决方案。
Apparently there is a bug allowing your binary to pass verification and upload, but then to get rejected by iTunes Connect system. And you don't get any email explaining you what happened!
显然,存在一个允许二进制文件通过验证和上传的错误,但随后被iTunes Connect系统拒绝。你不会收到任何解释你所发生事情的邮件!
If your App is for both iPhone and iPad, you probably have something like this in the Info.plist file:
如果你的应用同时适用于iPhone和iPad,你可能在信息中有类似的东西。plist文件:
You should completely remove the CFBundleIconFiles~ipad
parameter and include the iPad icon in the Icons files
array instead like here:
您应该完全删除CFBundleIconFiles~ipad参数,将ipad图标包含在图标文件数组中,如下所示:
That's all folks!
这是所有人!
Let me know if that helped you!
如果对你有帮助,请告诉我!
#2
10
I had the same INVALID BINARY error from iTunes Connect even if Application Loader accepted my binary. The solution was very simple...
即使应用程序加载程序接受了我的二进制文件,我还是从iTunes Connect获得了相同的无效二进制错误。解决办法很简单……
Open your info.plist, right-click and check Show Raw Key/Values:
打开你的信息。plist,右键单击并检查显示原始键/值:
- CFBundleIconFile = Icon.png (my iPhone 57x57 PNG icon)
- CFBundleIconFile =图标。png(我的iPhone 57x57 png图标)
- CFBundleIconFile~ipad = Icon-72.png (my ipad 72x72 PNG icon)
- ipad CFBundleIconFile ~ =图标- 72。png(我的ipad 72x72 png图标)
-
CFBundleIconFiles = array
- Item 0 = Icon.png
- 项0 =程序
- Item 1 = Icon@2x.png (my iPhone 4 114x114 PNG icon)
- 项目1 = Icon@2x。png(我的iPhone 4 114x114 png图标)
- Item 2 = Icon-72.png
- 项目- 72. - 2 =图标png
- CFBundleIconFiles =数组项0 =图标。png项目1 = Icon@2x。png(我的iPhone 4 114x114 png图标
Save, clean all targets, build and analyze, compress in Finder and resubmit!
保存,清理所有目标,建立和分析,压缩在查找和重新提交!
The error was caused because I typed the key "Icon Files". In Raw view, this has mapped to "Icon Files" instead of CFBundleIconFiles. I have Xcode 3.2.3, I guess Xcode 3.2.4 better maps this key identifier.
错误是由于我输入了“图标文件”键而引起的。在Raw视图中,它已经映射到“图标文件”而不是CFBundleIconFiles。我有Xcode 3.2.3,我想Xcode 3.2.4更好地映射这个键标识符。
Good Luck everybody!
每个人都好运!
Source: Technical Q&A QA1686: App Icons on iPad and iPhone
来源:技术问答,QA1686: iPad和iPhone上的应用图标
#3
8
Thanks to everyone who proposed solutions. As it turns out, none of your suggestions helped in my case, but I did solve the problem. Here's what worked for me:
感谢所有提出解决方案的人。事实证明,你的建议对我没有任何帮助,但我确实解决了问题。以下是对我有用的:
Delete Entitlements.plist from your project. Then do Add -> New File and re-add Entitlements.plist.
删除的权利。plist从您的项目。然后添加->新文件并重新添加权限。
The format of the Entitlements.plist changed between SDK 3.1.3 and 3.2. If your Entitlements.plist was created with an SDK earlier than 3.2, and you're now trying to update your app using SDK 3.2 or greater, it appears that you have to delete the Entitlements.plist and re-add it using the new format. Otherwise Apple will reject your upgrade as an "Invalid Binary".
权利的格式。plist在SDK 3.1.3和3.2之间发生了变化。如果你的权利。plist是在3.2之前由SDK创建的,现在您正在尝试使用SDK 3.2或更高版本更新您的应用程序,看来您必须删除授权。plist并使用新的格式重新添加。否则,苹果将拒绝你的升级为“无效二进制”。
#4
7
I've been having the same problem for a few days. It seems as though this error can be caused by so many different issues, so it's a shame Apple don't elaborate the error with an email.
这几天我一直有同样的问题。看起来这个错误可能是由很多不同的问题造成的,所以很遗憾苹果公司没有在电子邮件中详细说明这个错误。
For me, the solution was to not use "Application Loader" at all!
对我来说,解决方案是完全不使用“应用程序加载程序”!
Instead do the following within Xcode:
而是在Xcode中执行以下操作:
- Select your application go to Build > Build & Archive
- 选择您的应用程序去构建>构建和归档
- Once this is complete, go to Window > Organizer
- 完成后,转到窗口>管理器
- Select your application under "Archived Applications"
- 在“归档应用程序”下选择应用程序
- Click'Validate'
- 点击'Validate”
- If the validation is a success (as mine was):
- 如果验证成功(如我的):
- click 'Submit'.
- 点击“提交”。
This will then submit the application to apple. For me, after a few seconds the status was changed to 'Waiting for review' rather than 'Invalid Binary'.
然后,它将把应用程序提交给苹果。对我来说,几秒钟后状态被更改为“等待检查”而不是“无效二进制”。
#5
3
In XCode, click on your app name on the left side and go to the build settings tab on the right side. Scroll down to "Code Signing Identity" -> "Release"
在XCode中,单击左侧的app名称,进入右侧的build settings选项卡。向下滚动到“代码签名标识”->“发布”
Be sure that your distribution profile is selected. I didn't realize I had to explicitly set this and my app was verified just fine, but the binary invalid. My setting was still on the developer profile
请确保选择了您的发行版概要文件。我没有意识到我必须显式地设置这个,我的应用被验证得很好,但是二进制无效。我的设置仍然在开发人员配置文件中。
#6
3
Use the build & archive tools in Xcode as described in another response here.
使用Xcode中的构建和归档工具,正如这里的另一个响应所描述的那样。
For some reason the archive tool triggered something at Apple to send back email telling me what was actually wrong (corrupt PNG file).
出于某种原因,这个存档工具在苹果引发了一些事情,让它发送回电子邮件,告诉我究竟哪里出了问题(PNG格式文件有问题)。
My issue? Xcode corrupts some PNG files when it compresses them. Go to Build Settings, look in the Packaging section and set "Compress PNG Files' to no.
我的问题吗?Xcode在压缩一些PNG文件时会使它们腐败。转到Build Settings,查看Packaging部分并将“Compress PNG Files”设置为no。
#7
3
Currently (May 8 2013) this error is thrown if you access UDUD in your app. MKStoreKit (a popular open source library) does, and that was what was causing it for me. Search for the following method below in your files (assuming it's not in a precompiled binary, in which case, go google whatever you have and check their release notes)
当前(2013年5月8日)如果您访问应用程序中的UDUD,就会抛出这个错误。在您的文件中搜索下面的方法(假设它不在预编译的二进制文件中,在这种情况下,无论您有什么,都可以使用谷歌并检查它们的发行说明)
[UIDevice currentDevice].uniqueIdentifier
[UIDevice currentDevice].uniqueIdentifier
#8
2
None of the Answers here were helpful to me. I use Cocoapods in my project. For some reason the Cocoapods project settings Base SDK, and Supported platforms was set to OSX. (Cocoapods version: 0.37.2) I switched it over to iOS and it worked.
这里没有一个答案对我有帮助。我在项目中使用可可粉。出于某种原因,Cocoapods项目设置基础SDK,支持平台设置为OSX。(Cocoapods版本:0.37.2)我把它切换到iOS系统,效果不错。
#9
1
I had the same problem and it was apparently tied to the size of the Default startupscreen image shipped with the app.
我也遇到了同样的问题,很明显,它与应用附带的默认startupscreen图像的大小有关。
I was sending 1024x768 default image but I have find in this article :
我发送了1024x768的默认图像,但是我在本文中发现:
http://weston-fl.com/blog/?p=840/
http://weston-fl.com/blog/?p=840/
That it needs to be 1024x748 (for a landscape default) and I seems it worked : iTunesconnect took it after that.
它需要是1024x748(对于一个横向默认),我认为它是可行的:iTunesconnect在那之后采用了它。
#10
1
This may be an issue of the following, which I received after a submission from an automated response from iTunesConnect:
这可能是以下问题,我是在收到iTunesConnect的自动回复后收到的:
Missing Push Notification Entitlement - Your app registers with the Apple Push Notification Service, but the application signature's entitlements do not include the required "aps-environment" entitlement. Make sure you have enabled Push Notification Services for this app, and that you have downloaded a Distribution provisioning profile that includes the "aps-environment" entitlement.
丢失的推送通知权限-你的应用程序注册了苹果推送通知服务,但是应用程序签名的权利不包括所需的“ap -environment”权限。确保您已经为这个应用程序启用了Push Notification服务,并且您已经下载了包含“aps-environment”授权的分发准备配置文件。
Once you have corrected the issue, please return to the application's version details page in the iTunes Connect Manage Your Applications module and click on the Ready to Submit Binary button. This will take you through the binary submission flow and return your application version status to Waiting for Upload. You can then use Application Loader to upload your new binary. If any other issues are found with your submission you will be contacted.
一旦你纠正了这个问题,请返回到应用程序的版本细节页面,在iTunes Connect管理你的应用程序模块,并点击准备提交二进制按钮。这将带您通过二进制提交流,并返回您的应用程序版本状态等待上载。然后可以使用应用程序加载程序上传新的二进制文件。如果您的提交中发现其他问题,我们将与您联系。
#11
1
It might be a privacy-related issue in iOS 10. It requires developers add description when using user privacy data such "Open Photo Library", "Open Camera", "Access Calendar"... and so on.
在iOS 10中,这可能是一个与隐私相关的问题。它要求开发人员在使用用户隐私数据时添加描述,如“打开照片库”、“打开相机”、“访问日历”……等等。
Please go check every part of your codes included 3rd-party frameworks to see if it has some privacy issues. Add the description to Info.plist file then. I solved it by this way ^_^
请检查你的代码的每个部分,包括第三方的框架,看看它是否有隐私问题。将描述添加到Info。plist文件。我通过这种方式解决了^ _ ^
#12
0
The trick of the IPad icon do work.
IPad图标的技巧是有用的。
Remove the CFBundledIconFiles~ipad and add a 72x72 icon to the Icon Files key
删除CFBundledIconFiles~ipad,并向图标文件键添加一个72x72图标
Beware with the screenshots, this method sometimes, creates the Missing Screenshots Error
注意截屏,这个方法有时会造成截屏错误
#13
0
I've been struggling with the same problem for quite a while now. I discovered this morning that the team agent had all the notifications turned off, so I turned them all on and finally started getting state change emails when the app changed to "Waiting For Upload", but still nothing when the state changed to "Binary Invalid". After a few more attempts, I finally got the app update into the "Waiting For Review" state. What solved it for me was changing the value of "iPhone OS Deployment Target" in the target's build settings from iPhone OS 2.2.1 (the setting for the original app) to iPhone OS 3.0.
我已经和同样的问题斗争了很长一段时间了。今天早上我发现team agent关闭了所有的通知,所以我打开了所有的通知,当app变成“等待上传”时,我终于开始收到状态更改邮件,但是当状态变为“二进制无效”时,仍然没有任何通知。经过几次尝试之后,我终于将应用程序更新到“等待评审”状态。解决这个问题的方法是将目标的构建设置中的“iPhone OS部署目标”的值从iPhone OS 2.2.1(原应用的设置)更改为iPhone OS 3.0。
#14
0
i had this problem. my issue turned out to be setting the deployment target to something less than 3.2, but having the architecture still set to 'optimized for armv7.' this is using xcode 3.2.3. the latter setting should be changed to 'standard (armv6 and armv7).' when i'd built my development app, i had to change it, because xcode complained when i tried to run the app on an older itouch, but with a distribution build there's no device to run on (unless you test with an ad hoc first), so you don't notice the problem until itunes connect rejects the binary.
我有这个问题。我的问题是将部署目标设置为小于3.2,但仍然将架构设置为“为armv7进行优化”。这是使用xcode 3.2.3。后一种设置应改为“standard (armv6和armv7)”。当我建立我的开发应用,我必须改变它,因为xcode抱怨当我试图在一个年长的itouch上运行应用程序,但与分布建立没有设备上运行(除非你先测试一个特设),所以你没有注意到这个问题,直到itunes connect拒绝二进制。
#15
0
I have the same problem. I tried the entitlements thing first, as it seemed like it fit my situation.
我也有同样的问题。我首先尝试了福利项目,因为它似乎适合我的情况。
Boy are they different: OLD entitlement plist:
他们是不同的吗?
<plist version="1.0">
<dict>
<key>get-task-allow</key>
<false/>
</dict>
New one... (xcode 3.2.5, 4.2 target and min iOS)
新的……(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>
#16
0
I struggled with this for half a day. Even tried reinstalling xcode. For me the answer was going back to the provisioning portal in itunes connect and revoking my certificate then making a new one. Then making a new distribution provisioning profile, then rebuilding and resubmitting. What a long undocumented pain in the neck.
我为此挣扎了半天。甚至试着重新安装xcode。对我来说,答案是返回到itunes connect的设置门户,然后取消我的证书,然后再创建一个新的。然后创建一个新的发行版配置文件,然后重新构建和重新提交。脖子上有多长的无证疼痛啊。
#17
0
In my case, I had generated provisioning profiles using a different CSR & not using the original CSR which was created the first time to access the provisioning portal. Code signing & submitting the apps with provisioning profiles generated of the original CSR resolved my issue.
在我的例子中,我使用不同的CSR生成配置文件,而不是使用第一次创建的原始CSR来访问配置门户。代码签名和提交应用程序与原始CSR生成的配置文件解决了我的问题。
#18
0
I encountered same "invalid binary" issue for several times today. Finally I solved it by checking build messages in XCode 4. click show all messages for build log, find code sign and validate part, normally on the bottom. All of my failed submission has validation error in build log, but passed in archive - validate button.
我今天遇到了好几次相同的“无效二进制”问题。最后,我通过在XCode 4中检查构建消息来解决这个问题。单击“显示构建日志的所有消息”,找到代码签名并验证部分,通常在底部。我所有的失败提交都在构建日志中有验证错误,但是在存档- validate按钮中传递。
#19
0
Same problem, different solution: my archive scheme was using ad hoc build configuration, when it should have been release.
同样的问题,不同的解决方案:我的归档方案使用的是临时构建配置,而它本应该是发布的。
Checklist for my failed fix attempts at my blog Application Failed Codesign Verification.
在我的博客应用程序中失败的修复尝试的检查表失败了Codesign验证。
#20
0
I have same issue. Make sure you have choosen "App Store" as distribution method in distribution provisioning profile, not "Ad Hoc".
我有同样的问题。确保在分发准备配置文件中选择“App Store”作为分发方法,而不是“Ad Hoc”。
#21
0
I had a pointer to an extract icon file that no longer existed. I deleted the pointer, and the upload seems acceptable, so far. They did send an email fairly promptly that gave relevant details, though the hints above put me on the right track before that, as usual.
我有一个指针指向一个不再存在的提取图标文件。我删除了指针,到目前为止上传似乎是可以接受的。他们确实及时地发送了一封邮件,给出了相关的细节,尽管上面的提示让我像往常一样走上了正确的道路。
#22
0
Thanks.. it was a problem with the icon files in my project. I have removed those as suggested by Sasho. Finally changed to waiting for review.
谢谢. .这在我的项目中是一个图标文件的问题。我已经删除了Sasho的建议。最后改变了等待审查。
#23
0
If in case of newsstand app.
如果是报摊应用。
Ensure the newsstand icon is added. In my case the issue is I forget to add newsstand icon in project bundle, but I refer it in plist.
确保添加了newsstand图标。在我的例子中,问题是我忘记在项目包中添加newsstand图标,但是我在plist中引用它。
Application loader will not validate newsstand icon so the error 'invalid binary' shown only in 'iTunes connect'.
应用程序加载程序不会验证newsstand图标,因此错误“无效二进制”只显示在“iTunes connect”中。
thanks
谢谢
#24
0
Just had the same problem here, and it seems the solution was to add the missing Retina 4 inches startup screen to my project (I removed it on purpose - previous updates were OK with that, but it seems they don't like it any more), as recommended in the logs when archiving the application.
有同样的问题,这个解决方案似乎是失踪的视网膜4英寸启动屏幕添加到我的项目(我故意删除它——以前的更新就好了,但似乎他们不喜欢它),推荐在日志归档应用程序。
#25
0
I got this error when I recently added Flurry Ad in my application.
我最近在我的应用程序中添加Flurry广告时出现了这个错误。
If your case is about advertisements, you must accept in itunesconnect before uploading. http://techcrunch.com/2014/04/11/apple-developers-must-now-agree-to-ad-identifier-rules-or-risk-app-store-rejection/
如果你的案子是关于广告的,你必须在上传之前接受itunesconnect。http://techcrunch.com/2014/04/11/apple-developers-must-now-agree-to-ad-identifier-rules-or-risk-app-store-rejection/
#26
0
I just got mail from 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.
So please remember to add arm64 as valid architecture in project target settings as well as project settings
因此,请记住在项目目标设置和项目设置中添加arm64作为有效的体系结构
Now add arm64 by
现在添加arm64
And it will look like
它看起来是这样的。
#27
0
2015
2015年
The Invalid Binary
issue can now be caused if EMBEDDED_CONTENT_CONTAINS_SWIFT
is true
, but fail to actually include any Swift
code in the binary.
如果EMBEDDED_CONTENT_CONTAINS_SWIFT为真,但是在二进制文件中没有包含任何Swift代码,那么现在可能会导致无效的二进制问题。
Go ahead and falsify this value in the application build settings.
继续并在应用程序构建设置中伪造这个值。
Xcode had also included User-Defined Settings that included the word Swift
- I just went ahead and culled that too.
Xcode也包括了用户定义的设置,其中包括Swift这个词——我只是继续,并剔除了它。
#28
0
I faced the same problem, tried with most of the solutions and finally come to below solution.
我遇到了同样的问题,尝试了大部分的解决方案,最后得出了下面的解决方案。
Just Check following things..
只是检查以下事情. .
1) add arm64 as valid architecture in project target settings as well as project settings
1)在项目目标设置和项目设置中添加arm64作为有效的体系结构。
2) Modify info.plist file and add Icons files array with all required images with name.
2)修改信息。plist文件和添加图标文件数组与所有要求的图像名称。
3) Most important -- because of rejection you changed the version number of application in plist file but not on iTunes portal.
You need to set/manage same version number in app and on iTunes portal. Set this and try to upload binary again,this will resolve your problem.
3)最重要的是——因为被拒绝,你在plist文件中更改了应用程序的版本号,但在iTunes portal中没有更改。您需要在app和iTunes门户中设置/管理相同的版本号。设置并尝试再次上传二进制文件,这将解决您的问题。
#29
0
In my case, I was getting same Invalid Binary status within a couple of seconds for my uploaded app either by Xcode->Organiser or Application Loader with no emails from apple. I replaced PNG files in iconset in my Mac OS X app and issue got resolved.
在我的例子中,我在我上传的应用程序中,通过Xcode->的组织程序或应用程序加载程序,在几秒钟内获得了相同的无效二进制状态,没有苹果的电子邮件。我在Mac OS X app的iconset中替换了PNG文件,问题得到了解决。
I got the corrupt PNG file clue from 'Charleston Software Associates', thanks a lot.
我从“查尔斯顿软件协会”得到了有关PNG文件的线索,非常感谢。
#1
32
after 16 hours of non stop research trial and error, and headbanging I have found a solution in apple developer's forum.
经过16个小时不断的研究尝试和错误,我在苹果开发者论坛上找到了一个解决方案。
Apparently there is a bug allowing your binary to pass verification and upload, but then to get rejected by iTunes Connect system. And you don't get any email explaining you what happened!
显然,存在一个允许二进制文件通过验证和上传的错误,但随后被iTunes Connect系统拒绝。你不会收到任何解释你所发生事情的邮件!
If your App is for both iPhone and iPad, you probably have something like this in the Info.plist file:
如果你的应用同时适用于iPhone和iPad,你可能在信息中有类似的东西。plist文件:
You should completely remove the CFBundleIconFiles~ipad
parameter and include the iPad icon in the Icons files
array instead like here:
您应该完全删除CFBundleIconFiles~ipad参数,将ipad图标包含在图标文件数组中,如下所示:
That's all folks!
这是所有人!
Let me know if that helped you!
如果对你有帮助,请告诉我!
#2
10
I had the same INVALID BINARY error from iTunes Connect even if Application Loader accepted my binary. The solution was very simple...
即使应用程序加载程序接受了我的二进制文件,我还是从iTunes Connect获得了相同的无效二进制错误。解决办法很简单……
Open your info.plist, right-click and check Show Raw Key/Values:
打开你的信息。plist,右键单击并检查显示原始键/值:
- CFBundleIconFile = Icon.png (my iPhone 57x57 PNG icon)
- CFBundleIconFile =图标。png(我的iPhone 57x57 png图标)
- CFBundleIconFile~ipad = Icon-72.png (my ipad 72x72 PNG icon)
- ipad CFBundleIconFile ~ =图标- 72。png(我的ipad 72x72 png图标)
-
CFBundleIconFiles = array
- Item 0 = Icon.png
- 项0 =程序
- Item 1 = Icon@2x.png (my iPhone 4 114x114 PNG icon)
- 项目1 = Icon@2x。png(我的iPhone 4 114x114 png图标)
- Item 2 = Icon-72.png
- 项目- 72. - 2 =图标png
- CFBundleIconFiles =数组项0 =图标。png项目1 = Icon@2x。png(我的iPhone 4 114x114 png图标
Save, clean all targets, build and analyze, compress in Finder and resubmit!
保存,清理所有目标,建立和分析,压缩在查找和重新提交!
The error was caused because I typed the key "Icon Files". In Raw view, this has mapped to "Icon Files" instead of CFBundleIconFiles. I have Xcode 3.2.3, I guess Xcode 3.2.4 better maps this key identifier.
错误是由于我输入了“图标文件”键而引起的。在Raw视图中,它已经映射到“图标文件”而不是CFBundleIconFiles。我有Xcode 3.2.3,我想Xcode 3.2.4更好地映射这个键标识符。
Good Luck everybody!
每个人都好运!
Source: Technical Q&A QA1686: App Icons on iPad and iPhone
来源:技术问答,QA1686: iPad和iPhone上的应用图标
#3
8
Thanks to everyone who proposed solutions. As it turns out, none of your suggestions helped in my case, but I did solve the problem. Here's what worked for me:
感谢所有提出解决方案的人。事实证明,你的建议对我没有任何帮助,但我确实解决了问题。以下是对我有用的:
Delete Entitlements.plist from your project. Then do Add -> New File and re-add Entitlements.plist.
删除的权利。plist从您的项目。然后添加->新文件并重新添加权限。
The format of the Entitlements.plist changed between SDK 3.1.3 and 3.2. If your Entitlements.plist was created with an SDK earlier than 3.2, and you're now trying to update your app using SDK 3.2 or greater, it appears that you have to delete the Entitlements.plist and re-add it using the new format. Otherwise Apple will reject your upgrade as an "Invalid Binary".
权利的格式。plist在SDK 3.1.3和3.2之间发生了变化。如果你的权利。plist是在3.2之前由SDK创建的,现在您正在尝试使用SDK 3.2或更高版本更新您的应用程序,看来您必须删除授权。plist并使用新的格式重新添加。否则,苹果将拒绝你的升级为“无效二进制”。
#4
7
I've been having the same problem for a few days. It seems as though this error can be caused by so many different issues, so it's a shame Apple don't elaborate the error with an email.
这几天我一直有同样的问题。看起来这个错误可能是由很多不同的问题造成的,所以很遗憾苹果公司没有在电子邮件中详细说明这个错误。
For me, the solution was to not use "Application Loader" at all!
对我来说,解决方案是完全不使用“应用程序加载程序”!
Instead do the following within Xcode:
而是在Xcode中执行以下操作:
- Select your application go to Build > Build & Archive
- 选择您的应用程序去构建>构建和归档
- Once this is complete, go to Window > Organizer
- 完成后,转到窗口>管理器
- Select your application under "Archived Applications"
- 在“归档应用程序”下选择应用程序
- Click'Validate'
- 点击'Validate”
- If the validation is a success (as mine was):
- 如果验证成功(如我的):
- click 'Submit'.
- 点击“提交”。
This will then submit the application to apple. For me, after a few seconds the status was changed to 'Waiting for review' rather than 'Invalid Binary'.
然后,它将把应用程序提交给苹果。对我来说,几秒钟后状态被更改为“等待检查”而不是“无效二进制”。
#5
3
In XCode, click on your app name on the left side and go to the build settings tab on the right side. Scroll down to "Code Signing Identity" -> "Release"
在XCode中,单击左侧的app名称,进入右侧的build settings选项卡。向下滚动到“代码签名标识”->“发布”
Be sure that your distribution profile is selected. I didn't realize I had to explicitly set this and my app was verified just fine, but the binary invalid. My setting was still on the developer profile
请确保选择了您的发行版概要文件。我没有意识到我必须显式地设置这个,我的应用被验证得很好,但是二进制无效。我的设置仍然在开发人员配置文件中。
#6
3
Use the build & archive tools in Xcode as described in another response here.
使用Xcode中的构建和归档工具,正如这里的另一个响应所描述的那样。
For some reason the archive tool triggered something at Apple to send back email telling me what was actually wrong (corrupt PNG file).
出于某种原因,这个存档工具在苹果引发了一些事情,让它发送回电子邮件,告诉我究竟哪里出了问题(PNG格式文件有问题)。
My issue? Xcode corrupts some PNG files when it compresses them. Go to Build Settings, look in the Packaging section and set "Compress PNG Files' to no.
我的问题吗?Xcode在压缩一些PNG文件时会使它们腐败。转到Build Settings,查看Packaging部分并将“Compress PNG Files”设置为no。
#7
3
Currently (May 8 2013) this error is thrown if you access UDUD in your app. MKStoreKit (a popular open source library) does, and that was what was causing it for me. Search for the following method below in your files (assuming it's not in a precompiled binary, in which case, go google whatever you have and check their release notes)
当前(2013年5月8日)如果您访问应用程序中的UDUD,就会抛出这个错误。在您的文件中搜索下面的方法(假设它不在预编译的二进制文件中,在这种情况下,无论您有什么,都可以使用谷歌并检查它们的发行说明)
[UIDevice currentDevice].uniqueIdentifier
[UIDevice currentDevice].uniqueIdentifier
#8
2
None of the Answers here were helpful to me. I use Cocoapods in my project. For some reason the Cocoapods project settings Base SDK, and Supported platforms was set to OSX. (Cocoapods version: 0.37.2) I switched it over to iOS and it worked.
这里没有一个答案对我有帮助。我在项目中使用可可粉。出于某种原因,Cocoapods项目设置基础SDK,支持平台设置为OSX。(Cocoapods版本:0.37.2)我把它切换到iOS系统,效果不错。
#9
1
I had the same problem and it was apparently tied to the size of the Default startupscreen image shipped with the app.
我也遇到了同样的问题,很明显,它与应用附带的默认startupscreen图像的大小有关。
I was sending 1024x768 default image but I have find in this article :
我发送了1024x768的默认图像,但是我在本文中发现:
http://weston-fl.com/blog/?p=840/
http://weston-fl.com/blog/?p=840/
That it needs to be 1024x748 (for a landscape default) and I seems it worked : iTunesconnect took it after that.
它需要是1024x748(对于一个横向默认),我认为它是可行的:iTunesconnect在那之后采用了它。
#10
1
This may be an issue of the following, which I received after a submission from an automated response from iTunesConnect:
这可能是以下问题,我是在收到iTunesConnect的自动回复后收到的:
Missing Push Notification Entitlement - Your app registers with the Apple Push Notification Service, but the application signature's entitlements do not include the required "aps-environment" entitlement. Make sure you have enabled Push Notification Services for this app, and that you have downloaded a Distribution provisioning profile that includes the "aps-environment" entitlement.
丢失的推送通知权限-你的应用程序注册了苹果推送通知服务,但是应用程序签名的权利不包括所需的“ap -environment”权限。确保您已经为这个应用程序启用了Push Notification服务,并且您已经下载了包含“aps-environment”授权的分发准备配置文件。
Once you have corrected the issue, please return to the application's version details page in the iTunes Connect Manage Your Applications module and click on the Ready to Submit Binary button. This will take you through the binary submission flow and return your application version status to Waiting for Upload. You can then use Application Loader to upload your new binary. If any other issues are found with your submission you will be contacted.
一旦你纠正了这个问题,请返回到应用程序的版本细节页面,在iTunes Connect管理你的应用程序模块,并点击准备提交二进制按钮。这将带您通过二进制提交流,并返回您的应用程序版本状态等待上载。然后可以使用应用程序加载程序上传新的二进制文件。如果您的提交中发现其他问题,我们将与您联系。
#11
1
It might be a privacy-related issue in iOS 10. It requires developers add description when using user privacy data such "Open Photo Library", "Open Camera", "Access Calendar"... and so on.
在iOS 10中,这可能是一个与隐私相关的问题。它要求开发人员在使用用户隐私数据时添加描述,如“打开照片库”、“打开相机”、“访问日历”……等等。
Please go check every part of your codes included 3rd-party frameworks to see if it has some privacy issues. Add the description to Info.plist file then. I solved it by this way ^_^
请检查你的代码的每个部分,包括第三方的框架,看看它是否有隐私问题。将描述添加到Info。plist文件。我通过这种方式解决了^ _ ^
#12
0
The trick of the IPad icon do work.
IPad图标的技巧是有用的。
Remove the CFBundledIconFiles~ipad and add a 72x72 icon to the Icon Files key
删除CFBundledIconFiles~ipad,并向图标文件键添加一个72x72图标
Beware with the screenshots, this method sometimes, creates the Missing Screenshots Error
注意截屏,这个方法有时会造成截屏错误
#13
0
I've been struggling with the same problem for quite a while now. I discovered this morning that the team agent had all the notifications turned off, so I turned them all on and finally started getting state change emails when the app changed to "Waiting For Upload", but still nothing when the state changed to "Binary Invalid". After a few more attempts, I finally got the app update into the "Waiting For Review" state. What solved it for me was changing the value of "iPhone OS Deployment Target" in the target's build settings from iPhone OS 2.2.1 (the setting for the original app) to iPhone OS 3.0.
我已经和同样的问题斗争了很长一段时间了。今天早上我发现team agent关闭了所有的通知,所以我打开了所有的通知,当app变成“等待上传”时,我终于开始收到状态更改邮件,但是当状态变为“二进制无效”时,仍然没有任何通知。经过几次尝试之后,我终于将应用程序更新到“等待评审”状态。解决这个问题的方法是将目标的构建设置中的“iPhone OS部署目标”的值从iPhone OS 2.2.1(原应用的设置)更改为iPhone OS 3.0。
#14
0
i had this problem. my issue turned out to be setting the deployment target to something less than 3.2, but having the architecture still set to 'optimized for armv7.' this is using xcode 3.2.3. the latter setting should be changed to 'standard (armv6 and armv7).' when i'd built my development app, i had to change it, because xcode complained when i tried to run the app on an older itouch, but with a distribution build there's no device to run on (unless you test with an ad hoc first), so you don't notice the problem until itunes connect rejects the binary.
我有这个问题。我的问题是将部署目标设置为小于3.2,但仍然将架构设置为“为armv7进行优化”。这是使用xcode 3.2.3。后一种设置应改为“standard (armv6和armv7)”。当我建立我的开发应用,我必须改变它,因为xcode抱怨当我试图在一个年长的itouch上运行应用程序,但与分布建立没有设备上运行(除非你先测试一个特设),所以你没有注意到这个问题,直到itunes connect拒绝二进制。
#15
0
I have the same problem. I tried the entitlements thing first, as it seemed like it fit my situation.
我也有同样的问题。我首先尝试了福利项目,因为它似乎适合我的情况。
Boy are they different: OLD entitlement plist:
他们是不同的吗?
<plist version="1.0">
<dict>
<key>get-task-allow</key>
<false/>
</dict>
New one... (xcode 3.2.5, 4.2 target and min iOS)
新的……(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>
#16
0
I struggled with this for half a day. Even tried reinstalling xcode. For me the answer was going back to the provisioning portal in itunes connect and revoking my certificate then making a new one. Then making a new distribution provisioning profile, then rebuilding and resubmitting. What a long undocumented pain in the neck.
我为此挣扎了半天。甚至试着重新安装xcode。对我来说,答案是返回到itunes connect的设置门户,然后取消我的证书,然后再创建一个新的。然后创建一个新的发行版配置文件,然后重新构建和重新提交。脖子上有多长的无证疼痛啊。
#17
0
In my case, I had generated provisioning profiles using a different CSR & not using the original CSR which was created the first time to access the provisioning portal. Code signing & submitting the apps with provisioning profiles generated of the original CSR resolved my issue.
在我的例子中,我使用不同的CSR生成配置文件,而不是使用第一次创建的原始CSR来访问配置门户。代码签名和提交应用程序与原始CSR生成的配置文件解决了我的问题。
#18
0
I encountered same "invalid binary" issue for several times today. Finally I solved it by checking build messages in XCode 4. click show all messages for build log, find code sign and validate part, normally on the bottom. All of my failed submission has validation error in build log, but passed in archive - validate button.
我今天遇到了好几次相同的“无效二进制”问题。最后,我通过在XCode 4中检查构建消息来解决这个问题。单击“显示构建日志的所有消息”,找到代码签名并验证部分,通常在底部。我所有的失败提交都在构建日志中有验证错误,但是在存档- validate按钮中传递。
#19
0
Same problem, different solution: my archive scheme was using ad hoc build configuration, when it should have been release.
同样的问题,不同的解决方案:我的归档方案使用的是临时构建配置,而它本应该是发布的。
Checklist for my failed fix attempts at my blog Application Failed Codesign Verification.
在我的博客应用程序中失败的修复尝试的检查表失败了Codesign验证。
#20
0
I have same issue. Make sure you have choosen "App Store" as distribution method in distribution provisioning profile, not "Ad Hoc".
我有同样的问题。确保在分发准备配置文件中选择“App Store”作为分发方法,而不是“Ad Hoc”。
#21
0
I had a pointer to an extract icon file that no longer existed. I deleted the pointer, and the upload seems acceptable, so far. They did send an email fairly promptly that gave relevant details, though the hints above put me on the right track before that, as usual.
我有一个指针指向一个不再存在的提取图标文件。我删除了指针,到目前为止上传似乎是可以接受的。他们确实及时地发送了一封邮件,给出了相关的细节,尽管上面的提示让我像往常一样走上了正确的道路。
#22
0
Thanks.. it was a problem with the icon files in my project. I have removed those as suggested by Sasho. Finally changed to waiting for review.
谢谢. .这在我的项目中是一个图标文件的问题。我已经删除了Sasho的建议。最后改变了等待审查。
#23
0
If in case of newsstand app.
如果是报摊应用。
Ensure the newsstand icon is added. In my case the issue is I forget to add newsstand icon in project bundle, but I refer it in plist.
确保添加了newsstand图标。在我的例子中,问题是我忘记在项目包中添加newsstand图标,但是我在plist中引用它。
Application loader will not validate newsstand icon so the error 'invalid binary' shown only in 'iTunes connect'.
应用程序加载程序不会验证newsstand图标,因此错误“无效二进制”只显示在“iTunes connect”中。
thanks
谢谢
#24
0
Just had the same problem here, and it seems the solution was to add the missing Retina 4 inches startup screen to my project (I removed it on purpose - previous updates were OK with that, but it seems they don't like it any more), as recommended in the logs when archiving the application.
有同样的问题,这个解决方案似乎是失踪的视网膜4英寸启动屏幕添加到我的项目(我故意删除它——以前的更新就好了,但似乎他们不喜欢它),推荐在日志归档应用程序。
#25
0
I got this error when I recently added Flurry Ad in my application.
我最近在我的应用程序中添加Flurry广告时出现了这个错误。
If your case is about advertisements, you must accept in itunesconnect before uploading. http://techcrunch.com/2014/04/11/apple-developers-must-now-agree-to-ad-identifier-rules-or-risk-app-store-rejection/
如果你的案子是关于广告的,你必须在上传之前接受itunesconnect。http://techcrunch.com/2014/04/11/apple-developers-must-now-agree-to-ad-identifier-rules-or-risk-app-store-rejection/
#26
0
I just got mail from 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.
So please remember to add arm64 as valid architecture in project target settings as well as project settings
因此,请记住在项目目标设置和项目设置中添加arm64作为有效的体系结构
Now add arm64 by
现在添加arm64
And it will look like
它看起来是这样的。
#27
0
2015
2015年
The Invalid Binary
issue can now be caused if EMBEDDED_CONTENT_CONTAINS_SWIFT
is true
, but fail to actually include any Swift
code in the binary.
如果EMBEDDED_CONTENT_CONTAINS_SWIFT为真,但是在二进制文件中没有包含任何Swift代码,那么现在可能会导致无效的二进制问题。
Go ahead and falsify this value in the application build settings.
继续并在应用程序构建设置中伪造这个值。
Xcode had also included User-Defined Settings that included the word Swift
- I just went ahead and culled that too.
Xcode也包括了用户定义的设置,其中包括Swift这个词——我只是继续,并剔除了它。
#28
0
I faced the same problem, tried with most of the solutions and finally come to below solution.
我遇到了同样的问题,尝试了大部分的解决方案,最后得出了下面的解决方案。
Just Check following things..
只是检查以下事情. .
1) add arm64 as valid architecture in project target settings as well as project settings
1)在项目目标设置和项目设置中添加arm64作为有效的体系结构。
2) Modify info.plist file and add Icons files array with all required images with name.
2)修改信息。plist文件和添加图标文件数组与所有要求的图像名称。
3) Most important -- because of rejection you changed the version number of application in plist file but not on iTunes portal.
You need to set/manage same version number in app and on iTunes portal. Set this and try to upload binary again,this will resolve your problem.
3)最重要的是——因为被拒绝,你在plist文件中更改了应用程序的版本号,但在iTunes portal中没有更改。您需要在app和iTunes门户中设置/管理相同的版本号。设置并尝试再次上传二进制文件,这将解决您的问题。
#29
0
In my case, I was getting same Invalid Binary status within a couple of seconds for my uploaded app either by Xcode->Organiser or Application Loader with no emails from apple. I replaced PNG files in iconset in my Mac OS X app and issue got resolved.
在我的例子中,我在我上传的应用程序中,通过Xcode->的组织程序或应用程序加载程序,在几秒钟内获得了相同的无效二进制状态,没有苹果的电子邮件。我在Mac OS X app的iconset中替换了PNG文件,问题得到了解决。
I got the corrupt PNG file clue from 'Charleston Software Associates', thanks a lot.
我从“查尔斯顿软件协会”得到了有关PNG文件的线索,非常感谢。