以前曾经问过,但之前问题的答案并没有解决我的问题。
我正在尝试从斯坦福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应用程序中,我的Bundle Identifier的CalculatorBrain-Info.plist是“com.JohnSmith.CalculatorBrain”。如果重要,捆绑显示名称为“$ {PRODUCT_NAME}”,可执行文件为“$ {EXECUTABLE_NAME}”。
在导航器中,如果我突出显示我的项目,并调出构建设置,在代码签名身份下我会得到选项......
不签署代码
自动配置文件选择器 - iPhone开发者 - iPhone发行版
没有配置文件的身份 - iPhone开发人员:John Smith(R ............ K) - iPhone发行:John Smith(Y ............. 5)
其他...
我已经尝试了所有这些。我假设我应该使用iPhone开发人员:约翰史密斯一个...但它说这是一个没有配置文件的身份。
这里发生了什么?我需要做些什么才能让它发挥作用?
答案 0 :(得分:39)
根据您的描述,听起来缺少的元素是您需要返回“证书,标识符和配置文件”。工具,为您的HelloWorld应用程序的AppID生成开发配置文件,然后在您的开发计算机上安装该配置文件。在较高的层面上,这包括以下步骤:
代码签名身份&#39;您提到的构建配置项非常依赖于项目的设置以及开发计算机上可用的Provisioning Profiles。我最近回答了一个与切线相关的问题'What are code signing identities?',这可能有助于查看代码签名使用的信息以及如何检查您是否已经开发机器设置以便能够对您的项目进行代码签名。< / p>
...现在,更具体的HOWTO帮助您完成代码签名问题:
找到项目的AppID
AppID在iOS生态系统中唯一定义应用程序,是您在启动新Xcode项目时首先创建的内容之一。此AppID是您在“证书,标识符和配置文件”中注册所需的内容。开始使用配置的工具。
验证(或设置)AppID
请注意,AppID在iOS生态系统中必须是唯一的 - 如果您选择的AppID已被使用,则可能会出错。如果是这样,请更改您的套件ID&#39;独特的东西 - 只需确保更新&#39;捆绑ID&#39;在Xcode项目中进行设置以匹配您所处理的任何内容。
创建开发配置文件
现在App ID已注册,您现在可以创建一个开发配置文件,将您的App ID,开发证书和测试设备ID链接在一起。
下载并安装配置文件
生成配置文件后,该工具将为您提供可下载的链接
配置代码签名标识
听起来你已经知道它的位置,但以防万一:
理论上,您希望使用自动配置文件选择器&#39;将尝试将AppID与已安装的Provisioning Profile匹配的选项,但您也可以滚动列表并选择Bundle ID / AppId到iOS Certificate的特定映射。
此外,我自己的Xcode似乎并不总是能够接受对新安装的配置文件的更改 - 目前还不清楚这是否只是我自己的Xcode安装的一个怪癖,或者Xcode中是否存在错误。无论哪种方式,退出和重新启动Xcode似乎都会触发配置文件的重新索引/刷新。
无论如何,选择与您的AppId / BundleId和您的开发者证书匹配的选项。
假设问题是缺少/不完整/已过期的供应配置文件,那么这应该有助于您启动并运行。如果没有,我们将不得不深入研究可能会扼杀您的代码签名操作的其他潜在设置或证书问题。
答案 1 :(得分:6)
我有类似的问题,尝试了代码签名的每个选项,我的实际解决方案是: - 重启Xcode - 转到“Window-&gt; Organizer” - 然后“编辑”和 - “从Developer Portal刷新” 然后我在“运行”和“停止”按钮旁边的“将活动方案”设置为“iPhone(Petri)”。
答案 2 :(得分:1)
请确保选中目标而不是项目。
答案 3 :(得分:1)
在我的情况下,设备有3个同名的配置文件。在开发期间,我更新了配置文件几次,每次将新的更新配置文件添加到设备而不删除旧配置文件。所以xcode在那一刻搜索了第一个提供的配置文件错误,并在我的脸上抛出了错误。 那么,你应该怎么做: