NKAssetСкачать addAssetWithRequest apns sigabrt - PullRequest
1 голос
/ 17 февраля 2012

Я обычно могу понять, почему происходят sigabrts, но я полностью застрял на этом ... Я запускаю приложение из удаленного уведомления, которое все прекрасно работает, пока не дойдет до этого куска кода:

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];

в отладчике, IssNK и запрос оба, кажется, в порядке, не ноль или что-нибудь.

есть идеи? спасибо.

1 Ответ

1 голос
/ 17 февраля 2012

Я думаю, единственная причина, по которой вы увидите исключение в этой строке, - это если проблема уже была загружена или загружается.Поэтому вам нужно сначала проверить статус вашей проблемы:

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];
...