我正在尝试将应用程序上传到iPhone应用商店,但从iTunes连接收到以下错误消息:
您上传的二进制文件无效。签名无效,或者没有使用Apple提交证书签名。
注意:原始问题的详细信息已被删除,因为此页面已变成一个存储库,其中包含有关该特定错误消息的可能原因的所有信息。
有关将iPhone应用程序提交到App Store的一般信息,请参阅Steps to upload an iPhone application to the AppStore。
发布于 2008-09-30 22:20:05
根据我的经验,Xcode有时会对使用哪个签名证书感到困惑。
发布于 2009-10-13 01:40:49
我只想提一下,我也有从命令行压缩的问题。问题出在默认情况下它处理符号链接的方式。使用:
zip -y -r myapp.zip myapp.app
解决了这个问题。
发布于 2009-06-05 15:28:44
我也遇到了同样的问题,并以这种方式解决了它:
属性证书安装在我的开发机器上,mobileprovision.embedded包含在分发存档中。经过大约一个小时的谷歌搜索和挖掘,我找到了错误的来源。在Xcode中,我复制了发布配置并创建了一个新的分发配置,然后将签名身份更改为我的分发证书。但是,即使在GUI中进行了更新,项目文件也没有正确更新。
如果您遇到相同的错误,请在您的ProjectName.xcodeproj目录中查找project.pbxproj文件,并在您喜欢的编辑器中打开它。查找“分发”部分。我的坏掉的那个看起来像这样:
C384C90C0F9939FA00E76E41 /* Distribution */ = {
isa = XCBuildConfiguration;
buildSettings = {
ARCHS = "$(ARCHS_STANDARD_32_BIT)";
CODE_SIGN_ENTITLEMENTS = "";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]” = “iPhone Distribution: Edward McCreary”;
GCC_C_LANGUAGE_STANDARD = c99;
GCC_WARN_ABOUT_RETURN_TYPE = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
PREBINDING = NO;
“PROVISIONING_PROFILE[sdk=iphoneos*]” = “F00D3778-32B2-4550-9FCE-1A4090344400″;
SDKROOT = iphoneos2.2.1;
};
name = Distribution;
};
C384C90D0F9939FA00E76E41 /* Distribution */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
CODE_SIGN_IDENTITY = “iPhone Developer: Edward McCreary”;
“CODE_SIGN_IDENTITY[sdk=iphoneos*]” = “iPhone Developer: Edward McCreary”;
COPY_PHASE_STRIP = YES;
GCC_PRECOMPILE_PREFIX_HEADER = YES;
GCC_PREFIX_HEADER = GenPass_Prefix.pch;
INFOPLIST_FILE = Info.plist;
PRODUCT_NAME = GenPass;
PROVISIONING_PROFILE = “DB12BCA7-FE72-42CA-9C2B-612F76619788″;
“PROVISIONING_PROFILE[sdk=iphoneos*]” = “DB12BCA7-FE72-42CA-9C2B-612F76619788″;
};
name = Distribution;
};
您可以在第二部分中看到签名身份和配置配置文件不正确。编辑它以匹配第一部分,即rebuild,您就应该可以开始工作了。最后一个看起来像这样:
C384C90C0F9939FA00E76E41 /* Distribution */ = {
isa = XCBuildConfiguration;
buildSettings = {
ARCHS = "$(ARCHS_STANDARD_32_BIT)";
CODE_SIGN_ENTITLEMENTS = "";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]” = “iPhone Distribution: Edward McCreary”;
GCC_C_LANGUAGE_STANDARD = c99;
GCC_WARN_ABOUT_RETURN_TYPE = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
PREBINDING = NO;
“PROVISIONING_PROFILE[sdk=iphoneos*]” = “F00D3778-32B2-4550-9FCE-1A4090344400″;
SDKROOT = iphoneos2.2.1;
};
name = Distribution;
};
C384C90D0F9939FA00E76E41 /* Distribution */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
CODE_SIGN_IDENTITY = “iPhone Distribution: Edward McCreary”;
“CODE_SIGN_IDENTITY[sdk=iphoneos*]” = “iPhone Distribution: Edward McCreary”;
COPY_PHASE_STRIP = YES;
GCC_PRECOMPILE_PREFIX_HEADER = YES;
GCC_PREFIX_HEADER = GenPass_Prefix.pch;
INFOPLIST_FILE = Info.plist;
PRODUCT_NAME = GenPass;
PROVISIONING_PROFILE = “F00D3778-32B2-4550-9FCE-1A4090344400″;
“PROVISIONING_PROFILE[sdk=iphoneos*]” = “F00D3778-32B2-4550-9FCE-1A4090344400″;
};
name = Distribution;
};
guids改变是为了保护无辜的人
https://stackoverflow.com/questions/47941
复制相似问题