2012-02-17 54 views
1

我通常能够计算为什么sigabrts发生,但我完全卡在这一个..我从远程通知启动应用程序,这一切工作正常,直到它得到这个代码位:NKAssetDownload addAssetWithRequest apns sigabrt

NKIssue *issueNK = [[NKLibrary sharedLibrary] issueWithName:[issueId stringValue]]; 
if (issueNK == nil) { 
    issueNK = [[NKLibrary sharedLibrary] addIssueWithName:[issueId stringValue] date:[NSDate date]]; 
} 

NSMutableDictionary* settings = [[[NSMutableDictionary alloc] initWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"Settings" ofType:@"plist"]] autorelease]; 
NSURL *downloadURL = [NSURL URLWithString: 
         [NSString stringWithFormat:[settings objectForKey:@"IssueBundleUrl"], [issue.issueId intValue]]]; 
NSURLRequest *request = [NSURLRequest requestWithURL:downloadURL]; 
NKAssetDownload *assetDownload = [issueNK addAssetWithRequest:request]; //sigabrt on this line 
[assetDownload downloadWithDelegate:issueListViewController]; 

在调试器中,issueNK和请求都似乎很好,没有零或任何东西。

有什么想法?谢谢。

回答

1

我猜想你会在该行看到异常的唯一原因是如果问题已经下载或正在下载。所以你需要首先检查你的问题的状态:

NKIssue *issueNK = [[NKLibrary sharedLibrary] issueWithName:[issueId stringValue]]; 
if (issueNK == nil) { 
    issueNK = [[NKLibrary sharedLibrary] addIssueWithName:[issueId stringValue] date:[NSDate date]]; 
} 

if ([issueNK status] != NKIssueContentStatusNone) 
    return; 

NSMutableDictionary* settings = [[[NSMutableDictionary alloc] initWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"Settings" ofType:@"plist"]] autorelease]; 
NSURL *downloadURL = [NSURL URLWithString: 
        [NSString stringWithFormat:[settings objectForKey:@"IssueBundleUrl"], [issue.issueId intValue]]]; 
NSURLRequest *request = [NSURLRequest requestWithURL:downloadURL]; 
NKAssetDownload *assetDownload = [issueNK addAssetWithRequest:request]; 
[assetDownload downloadWithDelegate:issueListViewController]; 
+0

谢谢,有一个勾号。注意 - 当调试器以“等待应用程序启动”的方式运行时,您似乎无法在控制台中看到异常。 – jonydep 2012-02-17 10:51:55