【问题标题】:sound cloud track id url scheme and websoundcloud track id url scheme 和 web
【发布时间】:2013-04-02 07:20:05
【问题描述】:

我有一个推送通知到达我的 iOS 应用程序,该应用程序具有轨道 ID。我能够成功地将声音云应用程序打开到正确的轨道,但如果设备没有安装声音云应用程序,我想在移动 Safari 中打开该轨道。以下是我正在使用的代码:

NSString *soundCloudApp = @"soundcloud:tracks:";
NSString *soundCloudUrl = @"https://api.soundcloud.com/tracks";
NSURL *fanPageURL = [NSURL URLWithString:[soundCloudApp stringByAppendingString:data]];
if (![[UIApplication sharedApplication] openURL: fanPageURL]) {
   //fanPageURL failed to open.  Open the website in Safari instead
   NSURL *webURL = [NSURL URLWithString:[soundCloudUrl stringByAppendingString:data]];
   [[UIApplication sharedApplication] openURL: webURL];
}

问题是,如果我在https://api.soundcloud.com/tracks/my_track_id sound cloud 之类的东西中返回未经授权的访问。如果我尝试https://soundcloud.com/tracks/my_track_id 我找不到页面。任何方式我都可以在 safari 中只给定轨道 id 打开轨道?

谢谢!

【问题讨论】:

    标签: ios web soundcloud url-scheme


    【解决方案1】:

    您应该使用轨道表示的permalink_url 属性。

    【讨论】:

    • 我真的不希望应用程序查找信息或必须获取客户端 ID 并进行 API 调用来解析信息。我可以在推送通知中发送一些内容,让我可以直接在声音云应用程序和 safari 中打开曲目吗?
    • 如果没有声音永久链接,我认为您无法将用户引导至声音页面,抱歉。
    【解决方案2】:

    也许你应该在你的“if”语句中使用

    if (![[UIApplication sharedApplication] canOpenURL: fanPageURL])
    {
    //open safari
    }
    

    【讨论】:

    • 我认为这个问题与我能否在给定曲目 ID(而不是曲目名称)的情况下在 safari 中打开曲目有关?
    猜你喜欢
    • 1970-01-01
    • 2018-09-21
    • 1970-01-01
    • 2012-04-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-27
    相关资源
    最近更新 更多