【问题标题】:Create NSURL using AssetPath使用 AssetPath 创建 NSURL
【发布时间】:2015-06-01 06:16:26
【问题描述】:

使用 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]];

现在,我想将此 Asset Path 转换为 NSURL 以将其传递到以下代码块:

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

【问题讨论】:

  • 我能问你一个问题吗?当您这样做时,您是否发现 Instagram 应用有时会转到之前添加的图像/视频?所以换句话说,它出于某种原因打开了第二个到最新的?
  • 不,上面的 instagramURL 会打开 Instagram 应用的主页标签
  • 好吧,我一直在测试它,它会打开照片/视频上传器。
  • 你能分享整个代码吗?
  • 我基本上是在使用这篇文章中的代码:stackoverflow.com/a/27702493/4657588

标签: ios objective-c xcode instagram-api


【解决方案1】:

这就是您应该如何将资产路径转换为有效的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

【讨论】:

  • .percentEscape 是自定义属性吗?
  • 是的……是的。更新了答案。
  • 你能分享整个代码来分享视频到 Instagram 吗?
  • 不,这违反了顺丰的规定。您的目标是使用已在此处回答的 AssetPath 创建 NSURL。请自行尝试,如果仍然发现问题,请在此处分享您的代码或提出另一个问题,届时一定会为您提供帮助。
【解决方案2】:

我想您会使用UIImagePickerController 从图库中选择照片或调出相机?无论哪种方式,您都必须使用以下委托方法:

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

}

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

(NSURL *)[info valueForKey:UIImagePickerControllerReferenceURL];

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

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

希望这会有所帮助:)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-12-16
    • 1970-01-01
    • 2011-06-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-04
    相关资源
    最近更新 更多