2013-12-19 54 views
2

在閱讀了一些指南和參考資料後,我仍然對報攤的工作原理有一些疑問。報亭原子飼料的使用和限制

  1. 首先,(我只是想確定),僅用於應用程序商店使用的Atom feed或它也可用於應用程序?應用程序在前臺是否必須閱讀此內容才能填寫nkissue對象?或者我必須爲此製作自己的自定義Feed(一個XML,一個plist或其他)。我沒有看到存儲該問題URL的任何關鍵內部條目。我應該像本教程http://www.viggiosoft.com/blog/blog/2011/10/17/ios-newsstand-tutorial/一樣做什麼?

  2. 如果您只需在有效負載上發送「content-available = 1」,通知「UIRemoteNotificationTypeNewsstandContentAvailability」如何工作?它是否在atom feed中下載最新的問題?我應該如何繼續在後臺下載(一段代碼會很好)。

  3. 原子進料是否可選?如果我有針對問題下載的自定義提要,是否可以使用原子提要,因爲它可能只用於應用商店?

編輯: 好像原子是任選的,並且僅是iTunes,我應該使用的其他服務的應用程式我想。我仍然不明白的是我應該在哪裏實行內部後臺加載...在

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 「如果」,看起來像這樣if ([launchOptions objectForKey:UIApplicationLaunchOptionsNewsstandDownloadsKey] || [launchOptions objectForKey:UIApplicationLaunchOptionsRemoteNotificationKey]) {}

-(void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo 

或兩個選項?我對嗎?

回答

2
  1. 是的,Atom Feed只是用新的問題信息更新App Store。獲取問題信息的方式取決於您。

  2. 您可以發送其他數據與可用內容:1,例如剛剛發佈的問題的唯一ID。例如:

    {"aps":{"content-available": 1, "sound":"silent.wav"}, "issue_id":"latest_issue_id"}

    (我已經添加了聲音組件,因爲在iOS的7無聲推送通知,read here中的錯誤。)

  3. 是的,它是可選的。

背景裝載應在兩個- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions-(void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo被調用。當應用程序被喚醒時(在未激活狀態之後),另一個處於活動狀態或後臺狀態時,將會調用其中一個。 (再次使用iOS7進行測試時要小心,它現在不能像現在這樣工作,等待iOS7.1 ...)

+0

非常感謝。難怪爲什麼我在使用ios 7時遇到問題...我現在會用舊版本進行測試,thx很多。 – user2387149

+0

我仍然有問題,你能幫我嗎? http://stackoverflow.com/questions/20764967/ios-newsstand-background-troubleshouting – user2387149