我有一个简单的问题。我一直在测试我的iPhone应用程序的开发推送通知证书,并且它一直正常工作。我只想知道在将应用程序提交到AppStore之前是否可以测试生产证书?我尝试过,但是当我使用生产证书时,消息不会出现。当我使用生产证书时,Apple是否要求应用程序在AppStore中?
感谢。
答案 0 :(得分:36)
如果您创建Ad-Hoc配置文件,您会发现它使用生产证书,这可能是最简单的测试方法。
更新:
请参阅the Apple documentation here
这有很多步骤,但实质上是这样;
1)团队负责人需要创建新的DISTRIBUTION配置文件。这是通过在创建新配置文件时选择“Ad Hoc”而不是“App Store”来完成的。请注意,您不能使用通配符应用程序ID,您需要为应用程序指定一个特定的应用程序ID,尽管您可能已经拥有此ID。
2)设置您的系统,使存档版本使用新创建的Ad Hoc配置,设置此步骤所需的步骤已在线完整记录,here is one example。
3)现在,当您将.ipa分发到链接到您的Ad Hoc配置文件的设备时,您会发现推送通知系统正在使用生产服务器。
顺便说一句,我发现testflightapp对于管理Ad Hoc版本的分发非常有用,虽然我最近才发现它,但是由于我正处于运行测试版的中间,它现在节省了我的时间。测试程序。
答案 1 :(得分:8)
对于临时分发,请按照以下说明操作:
如何在测试设备上加载adHoc发行版:
推送通知可用于临时分发:
在测试针对开发环境的推送通知时,应该记住一个严格的检查表。其中大部分都已在上面提到。但这是解决我的问题的一件事,我想分享。我希望它对某人有帮助。那就是:
请注意设备令牌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];
}
答案 2 :(得分:5)
如果您要节省更多时间, debug 1 在生产环境中测试这些通知,而无需构建&amp;每次分发,请按照以下步骤操作:
点击左侧角落的应用名称
选择&#34;新方案......&#34;并命名,
选择&#34;发布&#34;在&#34;构建配置&#34; :
选择它,所以它出现在左上角,你就完成了!
1:您无法使用分发或ad-hoc配置进行调试,请参阅this thread