使用 AssetPath 创建 NSURL

Create NSURL using AssetPath

使用 UIImagePickerController,我能够获得像 assets-library://asset/asset.MOV?id=2A2CE6C9-C178-4395-977B-E6F159BF6D5E&ext=MOV 这样的媒体的资产路径。

NSURL *instagramURL = [NSURL URLWithString:[NSString stringWithFormat:@"instagram://library?AssetPath=%@&InstagramCaption=%@",[referenceURL absoluteString], strInstagramCaption]];

现在,我想将此资产路径转换为 ​​NSURL 以将其传递到以下代码块中:

if ([[UIApplication sharedApplication] canOpenURL:instagramURL])
{
    [[UIApplication sharedApplication] openURL:instagramURL];
}

这是将资源路径转换为有效路径的方式 NSUrl:-

NSURL *instagramURL = [NSURL URLWithString:[[NSString stringWithFormat:@"instagram://library?AssetPath=%@&InstagramCaption=%@",[assetURL absoluteString],caption]stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];
    if ([[UIApplication sharedApplication] canOpenURL:instagramURL]) {
        [[UIApplication sharedApplication] openURL:instagramURL];
    }

引用自 this

我猜你会用 UIImagePickerController 来 select 从图书馆拍张照片或调出相机?无论哪种方式,您都必须使用以下委托方法:

-(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info {

}

那么在那个方法中,您可以获得资产的 URL,然后将其传递给资产 URL 的 AVAsset 框架,然后将其放入 Instagram URL。

(NSURL *)[info valueForKey:UIImagePickerControllerReferenceURL];

使用上面的代码在imagePickerController委托方法中为图像获取一个URL。然后您可以将其传递给 AVAsset。

更新 这也是一个有用的 link 查看,它解释了如何使用 UIImagePickerController - http://www.appcoda.com/ios-programming-camera-iphone-app/.

希望这对您有所帮助:)