我试图了解整个配置过程,但我就是不明白..
我尝试过阅读,但这对我来说太奇怪且难以理解,尤其是当英语既不是我的主要语言也不是我的第二语言时。
我已经开发了一段时间了,我记得第一次设置我的 iPhone 进行开发时压力很大。当我进入手机上的设置->常规
时,我有 17 个配置文件,但至少我最终让它正常工作。
现在,我正在将我的应用程序移植到 iPad,并尝试将我的 iPad 添加到表格中。
这就是我所做的:
我访问了developer.apple.com,在设备中添加了我的udid,然后转到同一网页上的provisioning
,看到了三个配置文件,一个不可编辑(由xcode控制),一个连接到我的应用程序AppID,其中一个连接到我自己作为 AppID。
为了确定,我将我的新 iPad 设备添加到了这三个设备中,然后再次下载了它们。
我将 .mobileprovisions 拖到 iTunes 和 Xcode,然后进入管理器并单击 Refresh
来更新它们。我在 iPad 上点击了用于开发
,它显示它包含这些配置文件。它们也在我的 iPad 上的设置->常规
中。
在我的 XCode 项目中,我进入 Targets->Build Settings->Code Signing
,并将我的新配置文件之一设置为 Debug
,并将另一个设置为 Debug
到其中的任何 iOS Sdk
。我尝试了多种组合。我还转到Project->Build Settings->Code Signing
并做了同样的事情。
当我在设备上运行应用程序时,它会弹出两条相同的错误消息,指出未找到此可执行文件的有效配置文件。
当我现在连接一直运行良好的 iPhone 时,会发生完全相同的事情。两条相同的错误消息。
问题:
哪些个人资料放在哪里?包含我自己作为 AppID 的配置文件与包含我的实际应用程序 ID 作为 AppID 的配置文件之间有什么区别?在代码签名
方面,Target->Build Settings
和 Project->Build Settings
有什么区别?
此外,我们花了很多时间来进行推送工作,并且我们的应用程序现在已在 AppStore 上,所以我不想开始删除配置文件和 ID,因为我想我在某处读到了这可能会使通知停止工作。
哦,我在某个时候也下载了一个新证书,其中包含新的配置文件,它最终出现在与其他 1000 个名称一起命名的钥匙串(keychain)中。
帮助:(?
很抱歉问了又长又极其无聊/新手的问题。
最佳答案
我认为您的代码由于证书问题而无法构建 - 就像您在问题末尾所说的那样 - 您“在某个时刻下载了包含配置文件的新证书......”您需要了解证书不“包含”配置文件,但配置文件是使用特定证书创建和签名的。检查您是否拥有此证书的私钥 - 如果签名请求不是由您发出的,则需要其他人从他自己的钥匙串(keychain)中为您导出此证书。请记住,仅下载您的开发者帐户中提供的证书是不够的。
至于其他一切:
哪些个人资料存放在哪里? 确保您使用正确的应用程序包 ID 创建相关配置文件。分发配置文件应包括 AdHoc 和 AppStore 配置文件,而开发配置文件则用于开发:)
包含我自己作为 AppID 的配置文件与包含我的实际应用 ID 作为 AppID 的配置文件之间有什么区别? 不确定你在这里的意思。我自己作为AppID?每个配置文件都链接到一个具有 bundle ID 的特定应用程序 ID - 它可用于编译项目的 info.plist 中具有该 bundle 或其任何子域的任何应用程序。
在代码签名方面,“目标”->“build设置”和“项目”->“build设置”之间有什么区别? 您可以将“项目”->“build设置”视为全局设置,将“目标”->“build设置”视为特定于目标的设置。如果 XCode 无法从目标设置中找出要使用的配置文件,它将从项目设置中获取它。
关于objective-c - 配置文件、证书等,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14184981/