在我阅读了一些指南和参考资料后,我仍然对报摊如何运作有疑问。
首先(我只想确定),原子供稿仅供应用商店使用,还是用于应用?应用程序在前台填写nkissue对象时是否必须读取此内容?或者我必须为此制作我自己的定制饲料(xml,plist或其他)。我没有看到任何存储问题URL的内部条目。我应该像本教程http://www.viggiosoft.com/blog/blog/2011/10/17/ios-newsstand-tutorial/那样做相同或类似的东西吗?
如果您只需要在有效负载上发送“content-available = 1”,通知“UIRemoteNotificationTypeNewsstandContentAvailability”如何工作?它是否下载了原子Feed中的最新问题?我应该如何在后台继续下载(代码片段会很好)。
原子饲料是否可选?如果我有自己的问题下载自定义Feed,原子Feed是可选的,因为它可能只用于应用商店吗?
修改 看起来像atom是可选的,仅适用于itunes,我应该为我认为的应用程序使用其他服务。我还不明白的是我应该在哪里实现背景加载......在
中 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
在“if”中,看起来像if ([launchOptions objectForKey:UIApplicationLaunchOptionsNewsstandDownloadsKey] || [launchOptions objectForKey:UIApplicationLaunchOptionsRemoteNotificationKey]) {}
或
-(void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo
还是两种选择?我是对的吗?
答案 0 :(得分:2)
是的,Atom Feed仅用于使用新的问题信息更新App Store。获取问题信息的方式取决于您。
您可以发送内容可用的其他数据:1,例如刚刚发布的问题的唯一ID。例如:
{"aps":{"content-available": 1, "sound":"silent.wav"}, "issue_id":"latest_issue_id"}
(由于iOS 7静音推送通知中的错误read here,我添加了声音组件。)
是的,它是可选的。
应在- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
和-(void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo
上调用后台加载。当应用程序被唤醒时(在未处于活动状态之后)将调用一个,而在处于活动状态或后台状态时调用另一个。 (再次使用iOS7测试时要小心,它现在不能像现在这样工作,等待iOS7.1 ...)