iPhone:在生产证书上推送通知测试

app*_*eak 26 production-environment apple-push-notifications ios

我有一个快速的问题.我一直在测试我的iPhone应用程序的开发推送通知证书,并且它一直正常工作.我只想知道在将应用程序提交到AppStore之前是否可以测试生产证书?我尝试过,但是当我使用生产证书时,消息不会出现.当我使用生产证书时,Apple是否要求应​​用程序在AppStore中?

谢谢.

Rog*_*ger 36

如果您创建Ad-Hoc配置文件,您会发现它使用生产证书,这可能是最简单的测试方法.

更新:

请参阅此处的Apple文档

这有很多步骤,但实质上是这样;

1)团队负责人需要创建新的DISTRIBUTION配置文件.这是通过在创建新配置文件时选择"Ad Hoc"而不是"App Store"来完成的.请注意,您不能使用通配符应用程序ID,您需要为应用程序设置特定的应用程序ID,尽管您可能已经拥有此ID.

2)设置您的系统,以便存档构建使用新创建的Ad Hoc配置,设置它所需的步骤在线有详细记录,这是一个示例.

3)现在,当您将.ipa分发到链接到您的Ad Hoc配置文件的设备时,您会发现推送通知系统正在使用生产服务器.

顺便说一句,我发现testflightapp对于管理Ad Hoc构建的分发非常有用,虽然我最近才发现它,但是当我正在运行beta测试程序时,它正在节省我的时间.

  • 提及TestFlight的+1,这是一个很棒的服务(http://testflightapp.com/) (2认同)

Chr*_*ine 9

对于Adhoc分发,请按照以下说明操作:

  1. 在Provisioning Portal中,创建分发证书.
  2. 获取您打算用于测试的iPhone的"设备ID".打开iTunes - >连接您的设备 - >选择您的设备 - >在摘要窗格中,单击序列号标签,它将更改为标识符(40个十六进制字符) - >选择编辑,复制.
  3. 在"配置"门户中,转到"设备" - >"添加新设备" - >输入复制的设备ID并为其命名.
  4. 在"供应"门户中,创建分发供应配置文件.(转到配置 - >分发).对于Distibution类型,请选中"AdHoc".选择应用程序ID,如果您有分发证书,将在此处自动选择.选择新输入的设备并提交.下载此配置文件.
  5. 在Xcode,Window - > Organizer中.单击Devices并选择Library - > Provisioning Profiles.如果您是管理员,则单击"刷新"应该获取新创建的配置文件.如果没有,请将临时配置文件拖放到此列表中.
  6. 在Xcode中,在项目Build Settings - > Code Signing Identity - > Release部分中,选择"iPhone Distribution".对于"任何iOS SDK",选择新创建的配置文件.它将在列表中提供.
  7. 在Xcode中,产品 - >存档.完成归档后,它将自动打开归档窗口.选择项目并单击Distribute,在Distribute窗口中,选择"Save for Enterprise或AdHoc Deployment" - >选择与新Provisioning Profile对应的"Code Signing Identity".继续该过程,这将创建一个".ipa"文件.
  8. 发送此.ipa文件和新的配置文件以测试adHoc分发.

如何在测试设备上加载adHoc分发:

  1. 打开iTunes,连接您的测试设备.
  2. 将新配置文件拖放到iTunes.
  3. 拖放.ipa文件iTunes.
  4. 同步你的设备.这会加载应用程序.

推送通知可用于Adhoc分发:

  1. 使用生产证书.
  2. 使用生产APN主机:gateway.push.apple.com
  3. 使用生产APN反馈主机:feedback.push.apple.com.

在测试用于开发环境的推送时,应该记住一个严格的清单.其中大部分都已在上面提到.但这是解决我的问题的一件事,我想分享.我希望它对某人有帮助.那就是:

请注意设备令牌ID,这与开发和生产环境不同.

- (void)application:(UIApplication *)app didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken {
       NSString *deviceTokenStr = [[[[deviceToken description]
                                      stringByReplacingOccurrencesOfString: @"<" withString: @""]
                                     stringByReplacingOccurrencesOfString: @">" withString: @""]
                                    stringByReplacingOccurrencesOfString: @" " withString: @""];
       UIAlertView *alert= [[UIAlertView alloc]initWithTitle:deviceTokenStr message:Nil delegate:self cancelButtonTitle:@"OK" otherButtonTitles: nil];
        [alert show];
}
Run Code Online (Sandbox Code Playgroud)


Big*_*ood 5

替代

如果您要节省更多时间,并在生产环境中调试1测试这些通知,而不必每次都构建和分发,请按照下列步骤操作:

  1. 创建和安装分发配置文件,
  2. 使用Release配置而不是Debug来创建一个新方案(有关说明,请参阅帖子的第2部分)并选择它,
  3. 确保在应用的目标构建设置下为发布配置选择了分发配置文件,
  4. 摇滚乐!

如何创建新方案

  1. 点击左下角的应用名称:

    在此输入图像描述

  2. 选择"New scheme ..."并为其命名,

  3. 然后,再次打开此菜单进行编辑,然后选择"编辑方案...",
  4. 选择"Build configuration"下的"Release":

    在此输入图像描述

  5. 选择它,它出现在左上角,你就完成了!

1:您不能使用分发或ad-hoc配置来调试,请参阅此主题