我在iPhone上进行临时分发时遇到问题.我用SDK 3.0开发了一个应用程序.我有开发人员的执照.我在项目中添加了证书和配置文件.所以,没问题.
但是,当我尝试在iPhone上安装应用程序时,它会编译项目,然后"The executable was signed with invalid entitlements"在管理器窗口中显示错误:我错过了什么吗?我已经从2.2.1升级了我的iPhone,并从Apple下载了最新的SDK.
请帮我解决这个问题.
供应配置文件位于项目和/或文件目录中的Xcode 8.3.3中的哪个位置?
在升级到iPhone OS 3.1和Xcode 3.2之前,我有一个完全正常工作的构建环境.现在,当我尝试进行构建时,我得到以下内容:
代码签名错误:供应配置文件'FooApp test'指定应用程序标识符'no.fooapp.iphoneapp',它与当前设置'TGECMYZ3VK.no.fooapp.iphoneapp'不匹配
问题是Xcode以某种方式设法认为"FooApp Test"配置文件指定了应用程序标识符"no.fooapp.iphoneapp",但事实并非如此.
在管理器(以及iPhone开发人员门户网站)中,应用程序标识符被正确地视为"TGECMYZ3VK.no.fooapp.iphoneapp".
此外,在项目级别的构建选项中设置供应配置文件时,Xcode会正确识别应用程序标识符,但是当我转到目标时,我无法选择任何有效的供应配置文件.
什么可能导致这个问题?
更新:我试图创建一个新的配置文件,但仍然没有运气.我还尝试将Info.plist中标识的应用程序更改为"no.fooapp.iphoneapp".构建成功,但现在我收到组织者的错误:
可执行文件使用无效的权利进行签名.应用程序的代码签名权利文件中指定的权利与您的供应配置文件中指定的权利不匹配.(0xE8008016).
这似乎是合理的,因为配置文件仍然具有"TGECMYZ3VK.no.fooapp.iphoneapp"应用程序标识符.
我还仔细检查了所有证书在钥匙串中的有效性.
所以我的问题是如何让Xcode看到正确的应用程序标识符?
更新:如下所述,似乎解决了问题的是删除所有配置文件,证书等,制作新证书/配置文件并重新安装它们.如果有人有任何其他解决方案,他们将是受欢迎的.:)
我重读了Ad Hoc发行版的所有文档和帖子,但仍有问题.如果我尝试"无线"分发(使用Safari下载.plist和.ipa文件),应用程序开始下载,图标被正确绘制,名称将从"正在安装..."更改,但当其大约90%完成时得到"无法下载..."提醒.
如果我使用iTunes方法转移应用程序我得到'应用程序"xx"没有安装在iPhone"xx"上,因为权利不正确.
Q1:我已经读过你不再需要单独添加.mobileprovision文件,因为XCode(我正在使用4.0.1)将它添加到包中 - 这是真的吗?
Q2:当我在Safari(在iPhone上)下载'.mobileprovision时,它只是将其显示为文本.这是我的问题或不相关的症状吗?
问题3:这个问题是否与Entitlements.plist有关?我找不到Apple或任何博客的任何文档,这些文档与我在使用XCode 4.0.1编辑此文件时看到的内容有关.如果我按照说明(New-> New File-> Code Signing-> Entitlements),我会得到一个只有'可以调试'密钥的默认文件.我已经尝试将此设置为NO,添加一个get-task-allow键(替换现有的 - 可能是可调试的是同一个键?)添加我的应用程序标识符,并添加一个带有上述两个键的iPhone Entitlements Dictionary(根据Apple的文档).
问题4:试图让权利和代码签名工作的iPhone开发者的自杀率是多少?
为了减少我在类似问题上看到的建议:我确实将Code Signing Entitlements设置为我的Entitlements.plist for distribution and Release.我已经尝试重新启动XCode,重建,存档等我尝试重新启动iPhone我已经回到了iPhone
更新:在XCode 4.0.1中,编辑Entitlements.plist时有一个菜单选项(编辑器 - >显示原始键和值),它将把键从"可以调试"切换到"获取任务允许"
iphone ×3
adhoc ×2
app-signing ×1
code-signing ×1
entitlements ×1
installation ×1
provisioning ×1
xcode ×1
xcode8 ×1
xcodebuild ×1