【问题标题】:Share YouTube Link in WhatsApp在 WhatsApp 中分享 YouTube 链接
【发布时间】:2013-08-24 22:17:36
【问题描述】:

我正在尝试在 Whats App 中与以下人员分享 YouTube 链接:

NSURL *whatsappURL = [NSURL URLWithString:@"whatsapp://send?text=http://www.youtube.com/watch?v=lWA2pjMjpBs"];
if ([[UIApplication sharedApplication] canOpenURL: whatsappURL]) {
    [[UIApplication sharedApplication] openURL: whatsappURL];
}

但是当 Whats App 打开时,消息框是空的。知道为什么会这样吗?

【问题讨论】:

    标签: ios iphone objective-c whatsapp


    【解决方案1】:

    如果有人有同样的问题,我找到了答案:

    你只需要对 url 进行编码:

    NSString *str = [NSString stringWithFormat:youTubeLink,videoId];
    
    str = (NSString *)CFURLCreateStringByAddingPercentEscapes(NULL,
                                                                (CFStringRef)str,
                                                                NULL,
                                                                CFSTR("!*'();:@&=+$,/?%#[]"),
                                                                kCFStringEncodingUTF8);
    

    【讨论】:

    • 但whatsapp仍然会询问您要发送链接的号码。
    • 是的,我知道,它打开了whatsapp,用户可以选择他想发送链接的号码。问题是,在他选择后,味精框是空的。解码后味精框包括 youtube 链接
    【解决方案2】:

    对于编码,请在下面使用。

    NSString *str = [NSString stringWithFormat:@"http://www.youtube.com/watch?v=lWA2pjMjpBs" ];
    
    str = [str stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
    
    NSURL *whatsappURL = [NSURL URLWithString:[NSString stringWithFormat:@"whatsapp://send?text=%@", str]];
    if ([[UIApplication sharedApplication] canOpenURL: whatsappURL]) {
        [[UIApplication sharedApplication] openURL: whatsappURL];
    }
    

    它的工作...测试...

    注意

    您不能在特定号码上发送 whatsapp。这是我们的劣势。

    要在特定号码上发送whatsapp消息,可以通过以下方式完成。

    NSURL *whatsappURL = [NSURL URLWithString:@"whatsapp://send?abid=1&text=Hello"];
                                                                ^^^^
    

    试试这个代码。

    abid 表示地址簿 ID。现在无论你的 iPhone 中 id=1 的数字是什么,它都会选择这个数字。

    abid 的问题在于,在所有 iPhone 中对这个数字的使用并不相同。意思是在你的 iPhone abid=1 是 12345 但在我的 iPhone abid=1 是 34567。

    此外,如果该号码未保存在 iPhone 中,则您无法直接从 iOS 应用发送该号码上的 whatsapp 链接。

    【讨论】:

    • 看我的回答,这解决了问题
    • @MTA :但它仍然会询问您要发送链接的号码
    • @MTA : 对于 URL,你可以使用你所拥有的。
    【解决方案3】:
    str = (NSString *)CFBridgingRelease(CFURLCreateStringByAddingPercentEscapes(NULL,
                                                                  (CFStringRef)str,
                                                                  NULL,
                                                                  CFSTR("!*'();:@&=+$,/?%#[]"),
                                                                  kCFStringEncodingUTF8));
    

    【讨论】:

      【解决方案4】:

      我知道这是一篇旧帖子,但没有找到任何可接受的问题答案,所以我发布了我的答案。有时这可能会对某人有所帮助。

      在我的应用程序中,我尝试通过 WhatsApp 分享我的应用程序的 AppStore 链接。但是 WhatsApp 将消息框打开为空。因此,我尝试在对链接进行编码后发送链接,认为 WhatsApp 阻止了该链接,因为它包含特殊字符。但这对我也不起作用。

      最后我通过使用Bitly 缩短链接找到了解决方案。您可以使用 Bitly 为任何链接创建一个短链接,并且可以毫无问题地将这些链接分享给 WhatsApp。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-10-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多