报亭每日更新内容在背景

时间:2014-08-11 02:53:46

标签: ios background newsstand-kit uibackgroundtask

我的应用程序应该每天自动下载报刊亭内容,但只有在我正常启动应用程序时才会启动。我是使用报亭应用程序的新手。我错过了什么吗?

我已经勾选了#34;报亭下载"在后台模式的能力。

的Info.plist

<key>UIBackgroundModes</key>
<array>
    <string>newsstand-content</string>
</array>

我将其放入 didFinishLaunchingWithOptions didReceiveRemoteNotification

NSString *issueName = [pdf lastPathComponent];
NKLibrary *library = [NKLibrary sharedLibrary];

if (![library issueWithName:issueName]) {
    NKIssue *issue = [library addIssueWithName:issueName date:pdf.newsDate];

    NKAssetDownload *asset = [issue addAssetWithRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:pdf.pdf]]];
    [asset downloadWithDelegate:self];

}

有没有一种好的方法来测试它?我目前每天都在等待,看看应用程序是否在没有点击的情况下进行更新(在后台运行)我认为这是一种愚蠢的方式。

1 个答案:

答案 0 :(得分:0)

如果您想在测试期间测试报亭推送,只需输入此代码

[[NSUserDefaults standardUserDefaults] setBool:YES  forKey:@"NKDontThrottleNewsstandContentNotifications"];
[[NSUserDefaults standardUserDefaults] synchronize];

在您的应用代表中或初始化您的报亭服务时。这将确保Newsstand-Kit不会限制您的应用程序获取通知(如果您没有设置此项,则每8小时限制为1次推送。)

我还建议您在documentation处获取战利品,以便更好地了解报亭的整合情况。您的推送通知可能不是报刊推送的预期类型,他们需要提供值为1的关键内容。有关详细信息,请阅读Technical Note

此外,请确保您的实际设备已为您的应用启用了后台刷新(假设为iOS 7.0),否则报亭可能无效。