找不到与应用程序标识符匹配的有效供应配置文件

chr*_*s P 12 xcode portal device provisioning

以前曾经问过这个问题,但之前问题的答案并没有解决我的问题.

我正在尝试从斯坦福iTunes U课程构建一个名为(CalculatorBrain)的简单Hello World应用程序.我可以在模拟器中运行它,但我想在iPhone 4S上运行它.

我在Windows机器上通过iTunes同步我的iPhone 4S.一直有.想我应该列出这个细节.

无论如何,回到我的Macbook(Mountain Lion).我正在运行最新的XCode 4.6.2(4H1003),而我的iPhone也是最新的6.1.3我认为.

我去了Apple开发者页面的Provisioning Portal.我加了我的4S.我叫它约翰史密斯,并给它手机UDID.

在XCode中,我打开了管理器,默认情况下会突出显示设备.我把密码放在iPhone上,然后把它插入我的Macbook.设备找到我的iPhone.如果我单击"配置配置文件"并尝试"将设备添加到配置门户",我会收到"此团队中已存在号码的设备".大.我知道它肯定会被添加.到目前为止所有的好消息.

在我的Hello World应用程序中,CalculatorBrain-Info.plist我的Bundle Identifier是"com.JohnSmith.CalculatorBrain".捆绑显示名称为"$ {PRODUCT_NAME}",可执行文件为"$ {EXECUTABLE_NAME}",如果重要的话.

在导航器中,如果我突出显示我的项目,并打开Build Settings,在Code Signing Identity下我会得到选项......

不要签署代码

自动配置文件选择器 - iPhone开发人员 - iPhone发行版

没有配置文件的身份 - iPhone开发人员:John Smith(R ............ K) - iPhone发行版:John Smith(Y ............. 5)

其他...

我已经尝试了所有这些.我假设我应该使用iPhone开发人员:约翰史密斯一个...但它说这是一个没有配置文件的身份.

这里发生了什么?我需要做些什么才能让它发挥作用?

Bry*_*ial 39

根据您的描述,听起来缺少的元素是您需要返回"证书,标识符和配置文件"工具,为您的HelloWorld应用程序的AppID生成开发配置文件,然后在您的开发中安装该配置文件机.在较高的层面上,这包括以下步骤:

  1. 在Xcode中找到项目的AppID.
  2. 验证您是否在"证书,标识符和配置文件"中设置了该AppID.
  3. 为该AppId,您的开发证书以及一个或多个已注册的测试设备创建开发配置文件.
  4. 在Xcode中下载并安装Provisioning Profile.
  5. 使用此配置文件和链接代码签名标识将项目配置为代码签名.
  6. 建立设备!

您提到的"代码签名标识"构建配置项非常依赖于项目的设置以及开发计算机上可用的配置文件.我最近回答了一个与切线相关的问题"什么是代码签名身份?" 这可能有助于查看代码签名使用的信息以及如何检查您是否已经开发机器设置以便能够对您的项目进行代码签名.

......现在,更具体的HOWTO帮助您完成代码签名问题:

找到Project的AppID

AppID在iOS生态系统中唯一定义应用程序,是您在启动新Xcode项目时首先创建的应用程序之一.您需要在"证书,标识符和配置文件"工具中注册此AppID才能开始使用配置.

Xcode AppId设置

  1. 在Project Navigator(CMD + 1)中,单击您的项目名称(可能是'CalculatorBrain').这将显示项目的设置.
  2. 选择[您的项目名称]>摘要选项卡,如上面的屏幕剪辑(MyiOSApplication)所示.
  3. 您的iOS AppID显示在"Bundle Identifier"字段中.抓住这个字符串的副本,接下来你需要它.

验证(或设置)AppID

  1. 导航到http://developer.apple.com/ios并访问"证书,标识符和配置文件"工具.
  2. 登录后,选择"标识符".
  3. 检查您在上一节中找到的AppID是否存在于应用程序标识符列表中.如果是这样,请记下应用程序ID名称并跳到下一部分,否则......
  4. 单击右上角的"添加"(加号)按钮,为此应用程序ID提供一个名称(可以是任何您想要的,只要它没有特殊字符.)
  5. 滚动到页面底部,然后粘贴"Bundle ID"字段中上一部分的App ID副本.在'明确的应用程序ID'下.
  6. 点击"继续".

请注意,AppID在iOS生态系统中必须是唯一的 - 如果您选择的AppID已在使用中,则可能会出错.如果是这样,请将您的"Bundle ID"更改为唯一的 - 只需确保更新Xcode项目中的"Bundle ID"设置以匹配您所定义的任何内容.

创建开发配置文件

现在已注册App ID,您现在可以创建将App ID,开发证书和测试设备ID链接在一起的Development Provisioning Profile.

  1. 在"证书,身份,配置文件"工具中,导航到"配置配置文件".
  2. 单击右上角的"添加"(加号)按钮.
  3. 在"选择类型"步骤中选择"iOS应用程序开发",然后单击"继续".
  4. 从App ID下拉列表中选择您的App ID,然后单击"继续".
  5. 选中开发证书旁边的框,然后点击"继续".
  6. 选中要授权安装此应用的测试设备旁边的框,然后点击"继续".
  7. 键入配置文件名称(再次省略特殊字符),然后单击"生成".

下载并安装Provisioning Profile

生成配置文件后,该工具将为您提供可下载的链接

  1. 单击"下载"链接下载配置文件.
  2. 从下载位置拖动配置配置文件并将其放在Xcode Dock图标上,或双击打开它.

配置代码签名标识

听起来你已经知道它的位置,但以防万一:

  1. 在Project Navigator(CMD + 1)中,单击您的项目名称(可能是'CalculatorBrain').这将显示项目的设置.
  2. 选择[您的项目名称]>构建设置选项卡.
  3. 滚动到"代码签名身份"项.

理论上,您希望使用"自动配置文件选择器"选项,该选项将尝试将您的AppID与已安装的配置文件匹配,但您也可以滚动列表并选择Bundle ID/AppId到iOS证书的特定映射.

此外,我自己的Xcode似乎并不总是能够接受对新安装的配置文件的更改 - 目前还不清楚这是否只是我自己的Xcode安装的一个怪癖,或者Xcode中是否存在错误.无论哪种方式,退出和重新启动Xcode似乎会触发配置文件的重新索引/刷新.

无论如何,选择与您的AppId/BundleId和您的开发人员证书相匹配的选项.

假设问题是缺少/不完整/过期的供应配置文件,那么这应该有助于您启动并运行.如果没有,我们将不得不深入研究可能会扼杀您的代码签名操作的其他潜在设置或证书问题.


小智 6

我有类似的问题,尝试了代码签名的每个选项,我的实际解决方案是: - 重新启动Xcode - 转到"Window-> Organizer" - 然后"编辑器"和 - "从Developer Portal刷新"然后我在"运行"和"停止"按钮旁边的"将活动方案"设置为"iPhone(Petri)".