使用AssetPath创buildNSURL

使用UIImagePickerController,我可以得到如assets-library://asset/asset.MOV?id=2A2CE6C9-C178-4395-977B-E6F159BF6D5E&ext=MOV的媒体资产pathassets-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]]; 

现在,我想将这个资产path转换成NSURL将其传递到以下代码块:

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

这是如何将资产path转换为有效的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]; } 

从这里推荐

我认为你会使用UIImagePickerController从库中select一张照片或调出相机? 无论哪种方式,你必须使用下面的委托方法:

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

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

 (NSURL *)[info valueForKey:UIImagePickerControllerReferenceURL]; 

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

更新这也是一个有用的链接来看看,它解释了如何使用UIImagePickerControllerhttp://www.appcoda.com/ios-programming-camera-iphone-app/

希望这可以帮助 :)