签名者无效错误
我已经创建了我的应用程序的临时版本,并希望其他人来安装它。我在配置文件中有他们的设备 ID(实际上是两个)。我的证书对于临时和应用程序商店配置是相同的。该证书在钥匙串中有效。我在 Xcode 中为此构建选择了临时配置文件,该配置文件链接到分发证书。
我向用户发送配置文件和 .app 文件。他们将两者放入 iTunes 并同步,然后在两台设备上出现此错误:
The application "myapp" was not installed on the iPhone "user's iPhone" because the signer is not valid.
我已从 iPhone 中删除了所有配置文件,将上述两个文件放入 iTunes,同步并成功安装了应用程序。我无法让它为我重现。我需要在本地重现这个问题才能找出问题所在。有什么想法可以做到吗?
I've created an ad hoc build of my app and would like another person to install it. I have their device ID (two actually) in the provisioning profile. My certificate is the same for ad hoc and app store provisioning. The certificate is valid in keychain. I've selected the ad hoc profile in Xcode for this build, which is linked to the distribution certificate.
I send the user the provisioning file and .app file. They drop both into iTunes and sync then get this error on both devices:
The application "myapp" was not installed on the iPhone "user's iPhone" because the signer is not valid.
I've removed all profiles from my iPhone, dropped the above two files into iTunes, sync'd and installed the app successfully. I can't get it to repro for me. I need to repro this problem locally to figure out the issue. Any ideas how that can be done?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(10)
您添加了权利吗?将签约放在目标级别,而不是项目级别?选择 Ad Hoc 配置文件?在构建之前进行清理吗?选择构建的 Ad Hoc 设备?
最好的办法是完全遵循Apple的文档,让您的构建设置完全与Apple的相匹配。
Did you add Entitlements? Put the signing at the Target level, not the Project level? Select the Ad Hoc profile? DO a clean prior to the build? Select the Ad Hoc Device foe the build?
The best bet is to follow Apple's documentation exactly, get your build settings to exactly match Apple's.
最好检查 .app 文件中捆绑的 imbedded.mobileprovision 文件,以确保 UID 位于其中。只需执行以下操作:
在此文件中查找您设备的 UID。如果它不存在,那么它可能没有添加到门户内的配置文件中。
It's a good idea to check the imbedded.mobileprovision file that comes bundled in the .app file to make sure that the UID is in there. Just do the following:
Look for the UID of your device within this file. If it's not there then it's probably not added to the provisioning file within the portal.
来自文档:
From the docs:
我最近在最近的构建中与一位测试人员遇到了这个问题。事实证明,我的测试人员重置了他们的 iPod Touch,并在此过程中删除了配置文件。
只是需要考虑的事情。
I ran into this problem recently with one tester on a recent build. It turned out that my tester had reset their iPod Touch and removed the provisioning profile in the process.
Just something to consider.
我通过做一些比其他人发布的更愚蠢的事情来得到这个错误。我向配置文件添加了新设备,但忘记下载更新版本、将其添加到 Xcode 并将项目指向它。当我正确设置后,测试人员能够正常安装该应用程序。
I got this error by doing something dumber than anyone else has posted. I added new devices to the profile, but forgot to download the updated version, add it to Xcode, and point the project to it. When I set it up properly, testers were able to install the app fine.
这是另一个有趣的...如果您有 iphone 和 ipad 的单独权利文件,请确保为每个特定构建设置文件的目标...否则它将不会显示在构建中,您将得到这个错误
Here's another fun one.... if you have separate entitlement files for iphone and ipad, make sure you set the target for the file for each specific build...otherwise it won't show in the build and you'll get this error
我来到这里是因为我和OP有同样的问题。事实证明,我的权利文件中没有 UDID,尽管我确定我在 XCode 管理器中使用了刷新。再次刷新没有什么区别。
最后,我删除了所有配置文件,然后进行了刷新。现在一切正常了。
我不知道这是我的设置中的故障还是操作员的错误。但以防万一其他人发现自己处于这种情况:删除您的配置文件然后进行刷新可能是值得的。
I arrived here because I had the same problem as the OP. It indeed turned out that I didn't have the UDID in the entitlements file, even though I'm sure I used refresh in the XCode organizer. Another refresh made no difference.
In the end I removed all provisioning profiles and then did a refresh. Things now work.
I have no idea whether this is a glitch in my setup, or an operator error. But just in case anyone else finds themselves in this situation: it may pay to remove your provisioning profiles and then do a refresh.
对于运行 IOS 3.1.3 的 iphone 3G,这对我来说不起作用。我通过查看设置 - >常规(没有列出配置文件选项)来验证手机上没有分发配置文件。
然后我安装了 iphone 配置实用程序:
http://support.apple.com/kb/DL851
然后:
然后应用程序就安装好了。
This wouldn't work for me with an iphone 3G running IOS 3.1.3. I verified that the distribution profile wasn't on the phone by looking at settings->general ( there was no profile option listed).
I then installed the iphone config utility:
http://support.apple.com/kb/DL851
Then:
Then the app installed just fine.
我也遇到了和OP同样的问题。愚蠢的错误:当我将其注册为设备时,我不小心从试图临时分发的设备上遗漏了最后两位数字。
I had the same problem as the OP too. Dumb mistake: I accidentally dropped the last two digits off the device I was attempting to ad hoc distribute to when I registered it as a device.
我遇到了两次同样的问题(
xcode 4.2 ios 5
),第一次,我忘记在架构中添加armv6,
第二次,我创建了许多具有相同开发人员ID的配置文件,我应该删除其他密钥-根据捆绑包标识符的使用进行链...并且我错误地删除了有效的并使用了其他kechain
I got same problem two times (
xcode 4.2 ios 5
)1st,time i forgot to add armv6 in architecture
2nd, time i have created to many provisioning files with same developer id that i should delete others key-chain according to use of bundle identifier ...and i mistakenly deleted valid and used other kechain