使用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。
更新这也是一个有用的链接来看看,它解释了如何使用UIImagePickerController
– http://www.appcoda.com/ios-programming-camera-iphone-app/ 。
希望这可以帮助 :)