在阅读了一些指南和引用资料后,我仍然对报亭的运作方式有一些疑问。
首先(我只是想确定一下),atom feed 是只供应用商店使用还是也用于应用程序?应用程序在前台时是否必须读取此内容才能填写 nkissue 对象?或者我是否必须为此制作自己的自定义提要(xml、plist 或其他内容)。我没有在条目中看到任何存储该问题 URL 的键。我应该做与本教程相同或类似的事情http://www.viggiosoft.com/blog/blog/2011/10/17/ios-newsstand-tutorial/ ?
如果您只需在负载上发送“content-available=1”,通知“UIRemoteNotificationTypeNewsstandContentAvailability”如何工作?它会下载 Atom 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
或者两个选项都可以?我说得对吗?
最佳答案
是的,Atom Feed 仅用于使用新问题信息更新 App Store。获取问题信息的方式取决于您。
您可以使用 content-available: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 *) 上调用后台加载应用程序 didReceiveRemoteNotification:(NSDictionary *)userInfo
。一个将在应用程序被唤醒时(非事件状态后)调用,另一个将在应用程序处于事件或后台状态时调用。 (在使用iOS7测试时再次小心,目前还不能完全像这样,等待iOS7.1...)
关于ios - 报亭原子源的使用和限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20671363/