可执行文件使用了无效的授权签名。

72

我在 iPhone 上进行 ad-hoc 分发时遇到了问题。我的应用程序使用 SDK 3.0 进行开发,并且我拥有开发者许可证,已经将相关的证书和配置文件添加到了我的项目中,所以这方面没有问题。

但是,当我试图安装该应用程序时,它会编译项目,然后在 Organizer 窗口中显示错误:"The executable was signed with invalid entitlements"。我是否漏掉了什么?我已经从2.2.1升级了我的 iPhone,并下载了最新的 Apple SDK。

请帮我解决这个问题。

19个回答

0

在一切看起来都设置正确的情况下,构建设置指向正确的配置文件,代码签名也已经正确设置等等,我遇到了这个问题。

问题出现是因为我刚刚创建了一个新方案,并且没有为新配置重新生成我的CocoaPods。从图中可以看出,新的Ad-hoc配置指向了“Pods.production”配置,而不是“Pods.ad-hoc”配置(以及相应的测试)。

Demonstrating a mis-match of ad-hoc configuration and scheme configuration

解决方法:

  • 将有问题的配置设置为None -- 如果不这样做,cocoapods就不会生成配置文件
  • 关闭XCode
  • 运行pod install
  • 重新打开XCode并将新方案的配置设置为新生成的配置。

就是这样!


0

非常抱歉回复晚了,但我刚看到这个问题并找到了适合我的解决方案。我进入了项目->构建设置,并找到了代码签名部分。在调试旁边,选择了我的分发配置文件,上面写着Iphone Distribution: MY NAME。然后我在下拉列表中选择了Iphone Developer: MY NAME,它是我的设备的预配配置文件IpodProfile (for bundle identifiers com.myName.myApp)。希望这可以帮到你!


0
我也花了好几个小时来解决这个问题。修复方法非常简单。在项目目录的根目录下编辑Entitlements.plist文件。找到一行代码,它说:<key>get-task-allow</key>。在它下面应该是<false/>。将其更改为<true/>即可。

0

我刚刚遇到了一个我管理的团队中的开发人员遇到的问题。

原来他的开发者证书已经过期,续订后,我忘记将他的证书添加到他的应用程序所使用的配置文件中。enter image description here


0

我没有同意苹果的新更新许可协议。

简要地说:请登录您的开发者账户 -> 个人资料 -> 查看 -> 阅读协议或请您的律师为您阅读 -> 同意(自愿) -> 然后再次点击个人资料以查看您的个人资料状态。

在我的情况下,有效的代码签名实体没有显示出来。当我按照上述步骤操作时,它变得可见,我能够在设备上运行应用程序和/或轻松创建iPA文件。


0

我试图为我的现有应用程序添加iCloud支持,但是在添加了授权和配置iCloud之后,我的应用程序无法进行调试。

我意识到我的通用iOS开发证书与我正在开发的应用程序具有不同的APPID。因此,为了解决这个问题,我创建了一个特定的开发证书来匹配该APPID,而不是使用我的通用证书。

我在XCode中刷新了我的配置文件,清除了应用程序,断开了设备连接,重新启动了XCode并连接了设备,然后运行,现在它可以完美地工作了!


0

刚刚遇到了同样的错误代码。 看起来有不同的原因导致这个问题,因此也有不同的解决方法。

在我的情况下,我有两个名称相同的不同设备(一个 iPhone 4 和一个 iPhone 4S)。将其中一个设备的名称更改后,这个错误完全被解决了...


0

pJosh,这可能有助于理解。在我的情况下,我的团队配置文件即将过期(Provisioning Portal指示它由XCode管理),以及应用程序的设备测试配置文件。(我仍然不知道为什么,但是门户网站旁边有一个“续订”按钮,但当我单击它时,它不会执行任何操作。)

因此,我删除了即将到期的配置文件,然后在XCode中转到组织者(Command-Shift-2),在库/配置文件下,删除了即将到期的配置文件。然后在底部点击“刷新”,输入我的Apple ID,它就会更新即将到期的配置文件。

最后,在我的目标中,我进入构建设置,代码签名,并确保选择了配置文件。现在,它可以构建到我的设备上了。


-1

检查您的设备是否包含在预配文件中。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接