【问题标题】:Instagram video share using hooks使用钩子分享 Instagram 视频
【发布时间】:2016-12-29 05:31:28
【问题描述】:

我想将带有标签的相机胶卷中的视频发布到 Instagram。我的应用程序使用以下代码。

- (void)share
{
    NSString *Caption = @"#baby";
    NSString *urlString = [NSString stringWithFormat:@"assets-library://asset/asset.mov?id=%@&ext=mov",assetLocalID];
    NSURL *url = [NSURL URLWithString:urlString];
    NSString *escapedString   = [url.absoluteString URLEncode];
    NSString *escapedCaption  = [caption URLEncode];
    NSURL *instagramURL       = [NSURL URLWithString:[NSString stringWithFormat:@"instagram://library?AssetPath=%@&InstagramCaption=%@", escapedString, escapedCaption]];
    [[UIApplication sharedApplication] openURL:instagramURL];
}

- (NSString *)URLEncode
{
    return [self URLEncodeUsingEncoding:NSUTF8StringEncoding];
}

- (NSString *)URLEncodeUsingEncoding:(NSStringEncoding)encoding {
    return (__bridge_transfer NSString *)CFURLCreateStringByAddingPercentEscapes(NULL, (__bridge CFStringRef)self,NULL,(CFStringRef)@"!*'\"();:@&=+$,/?%#[]% ",CFStringConvertNSStringEncodingToEncoding(encoding));
}

但标题未添加到 instagram。 我想添加标签。 我已经通过https://www.instagram.com/developer/mobile-sharing/iphone-hooks/,但它没有帮助我!请分享您的想法。

【问题讨论】:

    标签: ios objective-c hook instagram


    【解决方案1】:

    我想出了让我的应用接受 instagram:// URL 架构的想法。 Flipagram 的钩子在我的应用程序中打开如下:

    instagram://library?AssetPath=assets-library%3A%2F%2Fasset%2Fasset.mp4%3Fid%3D8864C466-A45C-4C48-B76F-E3C421711E9D%26ext%3Dmp4&InstagramCaption=Some%20Preloaded%20Caption

    未记录的 iPhone 挂钩可让您自动从 iPhone 相册中选择资源,并为视频预加载字幕。这应该为您提供与 Flipagrams 应用程序在将视频分享到 Instagram 时相同的用户体验。

    NSURL *videoFilePath = ...; // Your local path to the video
    NSString *caption = @"Some Preloaded Caption";
    ALAssetsLibrary *library = [[ALAssetsLibrary alloc] init];
    [library writeVideoAtPathToSavedPhotosAlbum:[NSURL URLWithString:videoFilePath] completionBlock:^(NSURL *assetURL, NSError *error) {
    NSURL *instagramURL = [NSURL URLWithString:[NSString stringWithFormat:@"instagram://library?AssetPath=%@&InstagramCaption=%@",[assetURL absoluteString].percentEscape,caption.percentEscape]];
    if ([[UIApplication sharedApplication] canOpenURL:instagramURL]) {
        [[UIApplication sharedApplication] openURL:instagramURL];
    }
    }];
    

    效果很好!

    更新:Instagram 已取消将标题传递给其应用的功能。现在最好的解决方案是将所需的标题复制到粘贴板上。

    【讨论】:

    • 删除了将标题传递给他们的应用程序的功能?所以不能给视频加标签?
    • @rishu1992 无法为视频添加标签。
    猜你喜欢
    • 2013-11-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-03
    • 1970-01-01
    • 2019-03-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多