Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios APN&;TestFlight:Xcode选择了一个错误的(XC*)配置文件来提交归档文件_Ios_Objective C_Iphone_Xcode_Push Notification - Fatal编程技术网

Ios APN&;TestFlight:Xcode选择了一个错误的(XC*)配置文件来提交归档文件

Ios APN&;TestFlight:Xcode选择了一个错误的(XC*)配置文件来提交归档文件,ios,objective-c,iphone,xcode,push-notification,Ios,Objective C,Iphone,Xcode,Push Notification,我正在使用Parse.com从一个iDevice向另一个iDevice发送客户端推送通知 它与“开发”设置(即 -“开发”上appID集的推送通知设置 -开发SSL证书 -开发配置概要文件 通过这种设置,我成功地向自己发送推送通知(发送方=接收方=我的设备) 现在我想测试两个不同设备之间的通信。为此,我使用TestFlight(因为这是我通常向客户机发送更新的方式)。 我遵循了所有建议的步骤,从开发转向临时: 已将AppID设置更新为“生产”推送通知 创建了生产SSL证书,并将其上载到解析服务器

我正在使用Parse.com从一个iDevice向另一个iDevice发送客户端推送通知

它与“开发”设置(即 -“开发”上appID集的推送通知设置
-开发SSL证书 -开发配置概要文件 通过这种设置,我成功地向自己发送推送通知(发送方=接收方=我的设备)

现在我想测试两个不同设备之间的通信。为此,我使用TestFlight(因为这是我通常向客户机发送更新的方式)。 我遵循了所有建议的步骤,从开发转向临时:

  • 已将AppID设置更新为“生产”推送通知
  • 创建了生产SSL证书,并将其上载到解析服务器
  • 为临时开发生成了一个新的配置文件集,并将其安装在iPhone上(在Organizer Library上选中)。此临时设置配置文件的名称为:“PushMyMoving\u Push\u Production\u Profile”
  • 更新了“代码签名”下的项目/目标构建设置,告知Xcode现在应该使用PushMyMoving\u Push\u Production\u配置文件(以及相应的iPhone发行证书) 问题:构建已成功提交,但一旦提交,苹果就会向我发送以下电子邮件:

    当然,我不能再接收/发送推送通知。以下是我迄今为止所做的尝试:

  • 我打开了PushMyMoving\u Push\u Production\u配置文件,查看是否缺少Push通知权限。事实并非如此所以我猜测Xcode没有使用正确的配置文件提交/归档构建,尽管我告诉它在构建设置中这样做
  • 实际上,我注意到每当我提交构建时,Xcode都会自动选择一个通配符配置文件:
  • 我试图从Member Center&my Mac中删除所有通配符配置文件,但是(令人烦恼的是!)每当我刷新Xcode>Preferences>Accounts下的“配置文件”面板时,Xcode就会自动重新创建它们。有没有办法完全删除通配符配置文件
  • 此线程:表明可能是“临时配置文件不包含您团队中的所有设备”,但我在生成临时配置文件时仔细检查了所有设备
  • 我也尝试过编辑、重新生成、重新安装资源调配配置文件(这显然是一个常见的建议),但Xcode仍然按照自己的方式进行 任何帮助都将不胜感激!我已经挣扎了好几天,当问题不是源于代码时,这真是令人沮丧!
    谢谢

    可以从Xcode和开发者门户中删除通配符配置文件,但是您可以通过在生成设置中将发布配置文件显式设置为正确的临时配置文件来解决问题:


    这应该可以防止Xcode在归档时变得太有创意。

    感谢Rhythmatic Fistman的帮助。今天我找到了答案:我用一个特别的配置文件(而不是AppStore分发配置文件)将构建提交给TestFlight。我在某个地方读到,Xcode在提交到TestFlight时在幕后创建了一个特别的配置文件,所以我认为这个特别的配置文件是合适的。但是,由于TestFlight与AppStore一样运行,没有预先注册订阅的设备UDID(与临时分发一样),因此使用“更广泛”的配置文件(如AppStore分发配置文件)是有意义的

    因此,对于在Testflight中使用推送通知的任何人,您确实需要一个AppStore分发配置文件。然后Xcode会在提交阶段自动选择它