2016-07-19 81 views
1

我正在使用下面的代码将视频保存到照片库。iOS 9 PHAssetChangeRequest creationRequestForAssetFromVideoAtFileURL:失败,错误代码为-1

NSString *ss = [finalVideoURL path]; 

    __block PHObjectPlaceholder *placeholder; 


    [[PHPhotoLibrary sharedPhotoLibrary] performChanges:^{ 
     PHAssetChangeRequest* createAssetRequest = [PHAssetChangeRequest creationRequestForAssetFromVideoAtFileURL:[NSURL fileURLWithPath:ss]]; 
     _placeholder = [createAssetRequest placeholderForCreatedAsset]; 

    } completionHandler:^(BOOL success, NSError *error) { 
     if (success) 
     { 

      NSLog(@" success iOS 9"); 
     } 
     else 
     { 
      NSLog(@"%@", error); 
     } 
    }]; 

此代码工作很好地iOS 8.x. 但它失败,错误代码-1 iOS 9.x。 错误是

`Error Domain=NSCocoaErrorDomain Code=-1 "(null)"` 

有关此问题在iOS中9.任何想法? 任何帮助表示赞赏! 感谢

回答

0

只能保存在自己的专辑 你需要创建一个相册

//获取自定义相册 
- (PHAssetCollection *)getAPPCollection { 
// Getting the app album if any: 找是否已经创建自定义相册 
PHFetchResult<PHAssetCollection *> *collectionResult = [PHAssetCollection fetchAssetCollectionsWithType:PHAssetCollectionTypeAlbum subtype:PHAssetCollectionSubtypeAlbumRegular options:nil]; 
NSString *appName = [[NSBundle mainBundle] objectForInfoDictionaryKey:@"CFBundleDisplayName"]; 
for (PHAssetCollection *collection in collectionResult) { 
    if ([collection.localizedTitle isEqualToString:appName]) { 
     return collection; 
    } 
} 

// Creating the album: 新建自定义相册 
__block NSString *collectionId = nil; 
NSError *error = nil; 
[[PHPhotoLibrary sharedPhotoLibrary] performChangesAndWait:^{ 
    collectionId = [PHAssetCollectionChangeRequest creationRequestForAssetCollectionWithTitle:appName].placeholderForCreatedAssetCollection.localIdentifier; 
} error:&error]; 
if (error) { 
    NSLog(@"创建相册:%@失败", appName); 
    return nil; 
} 
return [PHAssetCollection fetchAssetCollectionsWithLocalIdentifiers:@[collectionId] options:nil].lastObject; 
} 
+0

请让你的代码的正确的缩进... http://meta.stackexchange.com/questions/ 22186 /如何-DO-格式,我的代码块 –

相关问题