jpg と MOV を組み合わせて、プログラムでライブ写真を作成したいと考えています。以下は実装用の私のコードです
これらはファイル jpg ファイルへのリンクです - http://18.220.72.107/hd_wallpapers/images/animation/43625_wallpaper-2.jpg
MOV ファイル - http://18.220.72.107/hd_wallpapers/images/animation/43625_wallpaper-2.MOV
私の MOV と JPG はサーバーから来ています。ローカルファイルに配置されたアイテムに対して同じコードが機能します。
NSData *urlData = [NSData dataWithContentsOfURL:url];
if ( urlData )
{
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *movFilePath = [NSString stringWithFormat:@"%@/%@", documentsDirectory,@"thefile.MOV"];
NSData* imgData = [NSData dataWithContentsOfURL:jpegURL];
if(imgData){
NSString *jpegFilePath = [NSString stringWithFormat:@"%@/%@", documentsDirectory,@"thefile.jpg"];
[imgData writeToFile:jpegFilePath atomically:YES];
[urlData writeToFile:movFilePath atomically:YES];
NSURL* jpgFileUrl = [NSURL fileURLWithPath:jpegFilePath];
NSURL* movFileUrl = [NSURL fileURLWithPath:movFilePath];
[[PHPhotoLibrary sharedPhotoLibrary] performChanges:^{
PHAssetCreationRequest* request = [PHAssetCreationRequest creationRequestForAsset];
[request addResourceWithType:PHAssetResourceTypePhoto fileURL:jpgFileUrl options:nil];
[request addResourceWithType:PHAssetResourceTypePairedVideo fileURL:movFileUrl options:nil];
} completionHandler:^(BOOL success, NSError * _Nullable error) {
if (success) {
} else {
}
}];
}
}
コードが実行されるたびにスローされますError Domain=NSCocoaErrorDomain Code=-1