供应配置文件,证书等

时间:2013-01-06 17:55:39

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

我正在尝试理解整个配置过程,但我只是不明白......

我试过阅读,但这对我来说太难以理解,尤其是当英语不是我的主要或次要语言时。

我已经开发了一段时间了,我记得第一次设置我的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 Settings时,Project->Build SettingsCode Signing之间有什么区别?

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

哦,我在某个时候也下载了一个新的证书,其中包含了新的个人资料,最后还是以1000个其他名字命名的钥匙串。

帮助:(?

抱歉,这是一个漫长而无聊的问题。

2 个答案:

答案 0 :(得分:4)

我认为您的代码无法构建,因为证书问题 - 就像您在问题的最后所说的那样 - 您“在包含配置文件的某个位置下载了新证书...”您需要了解证书不包含“配置文件”,但使用特定证书创建和签署配置文件。检查您是否拥有此证书的私钥 - 如果您未签发签名请求,则需要其他人从他自己的钥匙串中为您导出此证书。请注意,下载开发人员帐户中提供的证书是不够的。

至于其他一切:

哪些个人资料在哪里? 确保您使用正确的应用包ID来创建相关的配置文件。分发配置文件应包括AdHoc和AppStore配置文件,而开发配置文件则适用于开发:)

包含我自己作为AppID的个人资料与包含我的实际应用ID作为AppID的个人资料有什么区别? 不确定你的意思。我自己作为AppID?每个配置文件都链接到一个具有软件包ID的特定应用程序ID - 它可以用于编译在项目的info.plist中具有此软件包或其任何子域的任何应用程序。

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

答案 1 :(得分:0)

问题在于,在我们将应用程序发布到AppStore之后,我们忘记将“编辑方案 - >运行”放回到Release from Debug。这对我的iPhone没有任何影响,因为我已经将它添加到了发布 - 配置 - 测试的东西。