错误__NSCFLocalDownloadFile错误2创建临时

时间:2017-03-02 13:54:12

标签: ios firebase nsurlsession nsurlsessiondownloadtask unnotificationattachment

chrome://inspect/

我正在使用FCM进行推送通知。

NSURLSession *session = [NSURLSession sessionWithConfiguration:[NSURLSessionConfiguration defaultSessionConfiguration]];

@synchronized (session)
{
    [[session downloadTaskWithURL:attachmentURL
                completionHandler:^(NSURL *temporaryFileLocation, NSURLResponse *response, NSError *error) {
                    if (error != nil) {
                        NSLog(@"error.localizedDescription %@", error.localizedDescription);
                    } else {
                        NSFileManager *fileManager = [NSFileManager defaultManager];
                        NSURL *localURL = [NSURL fileURLWithPath:[temporaryFileLocation.path stringByAppendingString:fileExt]];
                        [fileManager moveItemAtURL:temporaryFileLocation toURL:localURL error:&error];

                        NSError *attachmentError = nil;
                        attachment = [UNNotificationAttachment attachmentWithIdentifier:@"" URL:localURL options:nil error:&attachmentError];
                        if (attachmentError) {
                            NSLog(@"attachmentError.localizedDescription %@", attachmentError.localizedDescription);
                        }
                    }
                    completionHandler(attachment);
                }] resume];
}

这是我的有效负载内容。

我正在使用NotificationExtension上面的代码,我用它来从推送通知中下载数据。

我从开发者证书中获得了成功回复。如果我检查生产证书(用前一个更新)我得到这样的错误

{ "to": "ffHjl2CblrI...", "data": { "message": "Offer!", "image": "https://media.giphy.com/media/l4lR0Q5u91kTNJPsA/giphy.gif", "url": custom url, "mediaType": "gif", "type": "notification type" }, "notification": { "body": "Body", "sound": "default", "title": "Title" }, "content_available": true, "mutable_content": true }

如果我删除应用程序并再次运行它正在运行。但是,如果我使用新的IPA更新版本,则不会在通知中显示图像。

我想念的是,该证书问题?是app权限问题吗?

我正在为__NSCFLocalDownloadFile: error 2 creating temp file: /private/var/mobile/Containers/Data/PluginKitPlugin/7D6B57B4-DC4D-4F3E-8113-C8469BA66BBB/tmp/CFNetworkDownload_NQQfGi.tmp使用单独的APP ID(没有推送通知配置)。

更新

同时使用 APNS 进行检查,确定无效。

有关 APNS 和有效内容

的更多代码和说明
  1. Richmedia notification notification not working in production certifcate

  2. Rich push notification not work properlly after update IPA (same IPA with overwirtten)

1 个答案:

答案 0 :(得分:0)

我遇到了这个属于PESIXErrorDomain的错误,我很确定它可能是iOS 10中引入的iOS错误以及other bugs

我实施的解决方法是使当前会话无效,启动新会话并使用获取的恢复数据的新会话启动新的下载任务。