【发布时间】:2011-06-14 23:10:27
【问题描述】:
我正在尝试通过临时分发部署我的应用程序,但无论我多么密切地关注 SO 上的文档/其他答案,我都会不断收到此错误。
这是我的过程:
在 Prov. 中创建 Ad hoc 分发配置文件。门户网站。
下载配置文件。单击并将其拖动到 Dock 上的 XCode 图标。它显示在管理器中
-
创建 Entitlements.plist 文件(下面,由 XCode 自动生成,除了我自己添加的 get-task-allow 属性):
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>application-identifier</key> <string>$(AppIdentifierPrefix)$(CFBundleIdentifier)</string> <key>get-task-allow</key> <false/> <key>keychain-access-groups</key> <array> <string>$(AppIdentifierPrefix)$(CFBundleIdentifier)</string> </array> </dict> </plist> 转到 Target AND Project 设置,并设置代码签名 Entitlements 属性(我已尝试使用完整路径和相对路径)
将代码签名实体和任何 iOS 设置为分发配置文件
构建。检查构建日志。 Embedded.mobileprovision 文件在那里,并且代码已使用分发配置文件正确签名。
进入 build 文件夹,点击 .app 文件并将其拖到 iTunes 图标上
查看 .app 内容并查看 Entitlements.plist 是否存在且正确(如上)
-
单击 .mobileprovision 文件并将其拖动到 iTunes(现在出现“您要替换吗?”对话框...它显示在 ~/Library/MobileDevice/Provisioning Profiles 文件夹中)
退出 XCode
连接 iPhone
同步
“签名者无效”错误。
我在 Apple 开发者网站和 Stack Overflow 上都按照 T 的说明进行操作,但仍然一无所获。我希望我只是累了,错过了一些东西,所以我把我的整个过程给你们分开了。
**注意:如果配置文件已经在设备上(即通过 XCode 添加),我可以通过 iTunes 添加应用程序。但似乎 iTunes 不会将配置文件添加到设备中。这不适用于不是每个人都有 XCode 的临时发行版......甚至是 Mac。必须有一种方法可以通过 iTunes 安装配置文件。
另一个注意事项:我的同事(我试图在他的手机上安装此应用程序)声称他不需要为他最近获得的另一个临时分布式应用程序安装配置文件。他收到了一个 .zip 文件,他只需将其拖入 iTunes 即可。那可能吗?我想做一个这样的构建工作,因此最终用户(用于测试阶段)不必处理安装配置文件。**
提前致谢, 欧空局
【问题讨论】:
-
尝试了所有这些答案,但都没有奏效。
-
您是否也将
.mobileprovision添加到iTunes 中?您是否检查了.app/中的权利内容是否正确? -
是的,是的。将编辑主要问题
-
确保授权属性也有一个相对路径,大多数时候,只有文件名
Entitlements.plist,可能是带有Xcode4的Source/文件夹 -
我已经尝试过相对和绝对。我在原帖中提到过。我坚持相对,因为大多数答案都告诉我。我在 XCode 3.2.5
标签: iphone objective-c xcode itunes provisioning