【问题标题】:Provisioning Profiles, certificates and such配置文件、证书等
【发布时间】:2013-01-06 17:55:39
【问题描述】:

我试图了解整个配置过程,但我就是不明白..

我尝试阅读,但它对我来说太奇怪和难以理解,尤其是当英语既不是我的主要语言也不是我的第二语言时..

我已经开发了一段时间,我记得第一次设置我的 iphone 进行开发时压力很大。当我在手机上输入Settings->General 时,我有 17 个个人资料,但至少我最终还是让它工作了。

现在,我正在将我的应用程序移植到 iPad,并尝试将我的 iPad 添加到桌面。 这就是我所做的: 我去了 developer.apple.com,在设备中添加了我的 udid,然后我在同一个网页上转到 provisioning,看到三个配置文件,一个不可编辑(由 xcode 控制),一个连接到我的应用程序的 AppID,一个连接到作为 AppID 给我自己。

为了确定,我将我的新 iPad 设备添加到所有三个设备中,然后再次下载。 我将 .mobileprovisions 拖到 iTunes 和 Xcode,然后我进入管理器并单击 Refresh 来更新它们。我在 iPad 上单击了Use for development,它说它包含这些配置文件。他们也在我 iPad 上的Settings->General 中。

在我的 XCode 项目中,我进入Targets->Build Settings->Code Signing,并将我的新配置文件之一设置为Debug,将另一个设置为Any iOS Sdk。我尝试了多种组合。我也去了Project->Build Settings->Code Signing,做了同样的事情。

当我在我的设备上运行我的应用程序时,它会弹出两条相同的错误消息,说 A valid provisioning profile for this executable was not found.

当我现在连接一直运行良好的 iPhone 时,会发生完全相同的事情。两条相同的错误信息。

问题:

哪些配置文件放在哪里?包含我自己作为 AppID 的配置文件和包含我的实际应用程序 ID 作为 AppID 的配置文件有什么区别? Target->Build SettingsProject->Build SettingsCode Signing 有什么区别?

另外,我们花了很多时间进行推送,现在 AppStore 上已经有应用程序了,所以我不想开始删除配置文件和 ID,因为我想我在某个地方读到了可能会使通知停止的地方工作。

哦,我在某个时候也下载了一个新证书,其中包含新的配置文件,它最终与其他 1000 个名称一起出现在钥匙串中......

帮助 :( ?

对于冗长且极其无聊/无趣的问题,我们深表歉意。

【问题讨论】:

  • “很抱歉,这个问题很长而且非常无聊/无聊。”这不是一个问题。我们喜欢回答问题! :)。无论如何,我不得不说英语不是你的第一语言或第二语言,你的英语很好。它击败了许多在这里出生的人!

标签: objective-c ios code-signing provisioning iphone-developer-program


【解决方案1】:

我认为由于证书问题而无法构建您的代码-就像您在问题末尾所说的那样-您“在某个时候下载了包含配置文件的新证书...”您需要了解证书不“包含”配置文件,但配置文件是使用特定证书创建和签名的。检查您是否拥有此证书的私钥 - 如果签名请求不是由您发出的,则需要其他人从他自己的钥匙串中为您导出此证书。请记住,仅下载您的开发者帐户中可用的证书是不够的。

至于其他:

哪些配置文件放在哪里? 确保您正在为您的应用创建具有正确捆绑 ID 的相关配置文件。分发配置文件应包括 AdHoc 和 AppStore 配置文件,而开发配置文件则用于开发:)

将我自己作为 AppID 的配置文件与将我的实际应用 ID 作为 AppID 的配置文件有什么区别? 不知道你在这里的意思。我自己作为 AppID?每个配置文件都链接到具有捆绑包 ID 的特定 App ID - 它可用于编译项目的 info.plist 中具有此捆绑包或其任何子域的任何应用程序。

在代码签名方面,Target->Build Settings 和 Project->Build Settings 有什么区别? 您可以将 Project->Build Settings 视为全局设置,将 Target->Build Settings 视为特定于目标的设置。如果 XCode 无法从目标设置中找出要使用的配置文件,它会从项目设置中获取它。

【讨论】:

  • 但是我不明白我做错了什么。我查看了门户中的“设备”列表,然后单击了我的 iPhone 旁边的“详细信息”,上面写着“3(详细信息),其中包含三个配置文件。我去配置,并将我的新设备添加到这三个配置配置文件中,因为我的 iPhone 可以工作,所以我想我会对我的 iPad 做同样的事情。然后我下载了所有三个配置文件,并且证书,现在 iPhone 或 iPad 都不起作用。添加设备进行开发的“真正”方法是什么?创建全新的配置文件?
  • 不,您添加设备的方式很好。问题可能出在证书上。正如我在回答开头所说的那样,从配置门户下载它是不够的。
  • 好的,但是如何连接它们呢?我没有删除任何证书,我只下载了一个。所以我应该有旧的吗?还是我覆盖了什么?我现在有四个名为“”的键。
  • 谁发出了此证书的签名请求?如果是你,是不是同一个身份?我建议创建一个新的,但这意味着重新创建所有旧配置文件。再说一次,做正确的事情比一遍又一遍地解决它而不理解它要好得多。
  • 我同意你最后的说法,但这不是意味着我们的通知证书也搞砸了吗?在那种情况下,我不会这样做。但是我怎样才能找出哪把钥匙是正确的呢?可能是我“发出签名请求”,尽管我不知道这意味着什么。在我的钥匙串中,我有很多钥匙和证书,没有一个能说明它们的用途!当我下载 something.cer 并单击它时,钥匙串打开并突出显示了一个名为“”的钥匙串,但它什么也没给我。我不知道如何找到合适的以及如何处理它。
【解决方案2】:

问题是,在我们将应用发布到 AppStore 后,我们忘记将“Edit Scheme->Run”从 Release 放回 Debug。这对我的 iPhone 没有影响,因为我已将它添加到 release-provisioning-test 中。

【讨论】:

    猜你喜欢
    • 2018-01-13
    • 2013-05-23
    • 2012-10-10
    • 2012-01-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-19
    • 1970-01-01
    相关资源
    最近更新 更多