简体   繁体   English

iTunes Connect上的签名无效(无效二进制)

[英]Invalid Signature (Invalid Binary) on iTunes Connect

I know is a duplicate question, but on all other questions i cant find a solution, so i retry to post question with more details. 我知道这是一个重复的问题,但在所有其他问题上我无法找到解决方案,所以我重新发布问题并提供更多细节。

I archive my app on xcode5 for iOS7 with Release Scheme and correct Provisioning Distribution 我使用Release Scheme和正确的Provisioning Distribution我的应用程序存档在xcode5 for iOS7

that's the screen: 那是屏幕:

This is on Project 这是在Project

在此输入图像描述

And This is on Target 这是在Target

在此输入图像描述在此输入图像描述

I try to do many different asset, i'am sure to my Building Archive is on Release but the answer of iTunesConnect is every time the same: 我尝试做很多不同的资产,我确定我的Building Archive是在ReleaseiTunesConnect的答案每次都是相同的:

Dear developer, 亲爱的开发者,

We have discovered one or more issues with your recent delivery for "MyApp". 我们发现了您最近为“MyApp”发送的一个或多个问题。 To process your delivery, the following issues must be corrected: 要处理您的交付,必须纠正以下问题:

Invalid Signature - Make sure you have signed your application with a distribution certificate, not an ad hoc certificate or a development certificate. 签名无效 - 确保您已使用分发证书(而非临时证书或开发证书)对应用程序进行了签名。 Verify that the code signing settings in Xcode are correct at the target level (which override any values at the project level). 验证Xcode中的代码签名设置在目标级别是否正确(覆盖项目级别的任何值)。 Additionally, make sure the bundle you are uploading was built using a Release target in Xcode, not a Simulator target. 此外,请确保您上传的软件包是使用Xcode中的Release目标而不是Simulator目标构建的。 If you are certain your code signing settings are correct, choose "Clean All" in Xcode, delete the "build" directory in the Finder, and rebuild your release target. 如果您确定您的代码签名设置正确,请在Xcode中选择“全部清除”,删除Finder中的“构建”目录,然后重建您的发布目标。

Once these issues have been corrected, go to the Version Details page and click "Ready to Upload Binary." 更正这些问题后,请转到“版本详细信息”页面,然后单击“准备上载二进制文件”。 Continue through the submission process until the app status is "Waiting for Upload." 继续完成提交过程,直到应用状态为“等待上传”。 You can then deliver the corrected binary. 然后,您可以提供更正的二进制文件

Regards, 问候,

The App Store team App Store团队

And Invalid Binary Invalid Binary

I become to crazy to understand how to sole this issue, any body have idea to do this? 我变得疯狂了解如何解决这个问题,任何机构都有想法这样做?

Thanks. 谢谢。

****Test Response**** ****测试回复****

在此输入图像描述

Athority Screen is correct Athority Screen是正确的

在此输入图像描述

In Xcode, at the target level do the following: 在Xcode中,在目标级别执行以下操作:

  1. First choose the provisioning profile for the Release configuration. 首先选择Release配置的配置文件。 (For Any SDK ) The provisioning profile must match the app's Bundle ID (As you can see in the General tab). (对于Any SDK )配置文件必须与应用程序的Bundle ID匹配(如“常规”选项卡中所示)。
  2. In the code signing identity, tap on the sub-menu for Any iOS SDK and make sure you choose Automatic . 在代码签名标识中,点击Any iOS SDK的子菜单,并确保选择Automatic If you can't see below. 如果你看不到下面的内容。
  3. Clean All and Archive . 全部清理存档

Choosing CodeSign identity: 选择CodeSign标识:

In step 2, if you can't choose Automatic , then it means you might not have a match between the AppID and the app's Bundle ID. 在步骤2中,如果您不能选择Automatic ,则表示您可能没有AppID和应用程序的Bundle ID之间的匹配。 The AppID is pointed by the provisioning profile you chose. AppID由您选择的配置文件指向。

If this is the case, then login in the developer portal and make sure that the provisioning profile you used points to the correct AppID. 如果是这种情况,请登录开发人员门户并确保您使用的配置文件指向正确的AppID。

To verify the the .ipa or .app before you submit try these commands. 要在提交之前验证.ipa或.app,请尝试使用这些命令。 Then look at the printout, and see if all looks right. 然后查看打印输出,看看是否所有看起来都正确。 Also verify the expiration date. 还要验证到期日期。

$cd <where the app is>
$unzip *.ipa
$cd Payload
$codesign -d --entitlement - *.app
$codesign --verify -dvvv *.app
$security cms -D -i *.app/embedded.mobileprovision

In Apple developer support, I've seen two additional common causes of the Invalid Signature binary rejection reason, 在Apple开发人员支持中,我看到了Invalid Signature二进制拒绝原因的另外两个常见原因,

  1. executable files containing special characters (ie non-numeric, and non-alpha). 包含特殊字符的可执行文件(即非数字和非字母)。 To resolve this issue, change the Xcode target's Product Name build setting from “${TARGET_NAME} to a string containing only alpha/numeric characters. 要解决此问题,请将Xcode目标的产品名称构建设置从“$ {TARGET_NAME}”更改为仅包含字母/数字字符的字符串。 Let me know if this was the cause of the issue (and the problematic characters) because I file bug reports to fix each instance I find here. 让我知道这是否是问题的原因(以及有问题的字符),因为我提交错误报告来修复我在这里找到的每个实例。

  2. Apple Double Files ("double files") that result from copying the Xcode project uncompressed to/from a non HFS+ formatted hard drive. Apple Double Files(“双文件”)是将Xcode项目复制到非HFS +格式的硬盘驱动器上或从中复制的。 To check if this caused your rejection: 要检查这是否导致您的拒绝:

A. Run the app diagnostic here: How do I check if my application's signature has been corrupted? A.在此处运行应用程序诊断: 如何检查应用程序的签名是否已损坏?

B. Then check the command line output with: List of Signature Verification Failure Root Causes . B.然后检查命令行输出: 签名验证失败根源原因列表 Double files are diagnosed with a message like: 双文件被诊断为以下消息:

resource missing: my.app/._.*

C. From the docs: C.来自文档:

The file prefixed with "._" is considered an AppleDouble file and it can result from copying the uncompressed Xcode project folder onto a non-HFS+ formatted disk. 带有“._”前缀的文件被视为AppleDouble文件,它可能是因为将未压缩的Xcode项目文件夹复制到非HFS +格式化的磁盘上。 The AppleDouble files must be removed using the 'dot_clean' command. 必须使用'dot_clean'命令删除AppleDouble文件。 The Xcode project folder is the argument to dot_clean as illustrated below. Xcode项目文件夹是dot_clean的参数,如下所示。 Note: You can drag your Xcode project folder from Finder into the Terminal window to automatically fill its path into the command. 注意:您可以将Xcode项目文件夹从Finder拖到终端窗口中,以自动将其路径填入命令。

        dot_clean /path/to/My_Xcode_Project

(If Terminal can't find the dot_clean utility, download the optional Command Line Tools through Xcode > Preferences > Downloads) (如果终端找不到dot_clean实用程序,请通过Xcode> Preferences> Downloads下载可选的命令行工具)

D. After running dot_clean on your Xcode project, create a new app archive (via Xcode > Product > Archive), reattempt submission. D.在Xcode项目上运行dot_clean后,创建一个新的应用程序存档(通过Xcode>产品>存档),重新尝试提交。

To prevent double files be sure to compress the Xcode project folder to .zip using Finder before transferring it to/from a non HFS+ formatted hard drive. 要防止双重文件,请务必使用Finder将Xcode项目文件夹压缩为.zip,然后再将其传输到非HFS +格式的硬盘驱动器。

Now it must be include following architecture. 现在它必须包括以下架构。

armv7 armv7s arm64 i386 x86_64 armv7 armv7s arm64 i386 x86_64

Try this. 试试这个。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM