【发布时间】:2015-04-26 21:56:35
【问题描述】:
我正在构建一个应用程序,用户可以在其中向特定演员打开 IMDB 应用程序,或者如果他们没有安装 IMDB 应用程序,则可以通过 Safari 访问该页面。
NSString *imdbWebLink = @"http://www.imdb.com/name/nm1090683/";
NSString *imdbAppLink = @"imdb:///name/nm1090683";
if ([[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:imdbAppLink]) {
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:imdbAppLink];
} else {
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:imdbWebLink];
}
上面的代码工作正常,但我希望 IMDB 应用程序返回按钮将用户返回到我的应用程序。因此,我在应用程序的 info.plist 中设置了一个 URL 类型(命名为包标识符)和一个自定义 URL 方案(命名为包标识符,删除了句点)。然后我按照 x-callback-url 协议修改了 imdbAppLink:
imdbAppLink = @"imdb://x-callback-url/name/nm1090683/?x-success=custom_url_scheme&x-source=AppName";
IMDB 应用程序正确打开到请求的页面,但返回按钮将用户带到 IMDB 主屏幕,而不是我的应用程序。
我已经在 Stack 和 Google 上研究了几个小时,但无济于事,但有很多有趣的死胡同。正如莱娅公主曾经说过的:“帮帮我,欧比旺·克诺比;你是我唯一的希望。”
如果您访问上面的 imdb 链接,您会看到我的一些非 iPhone 工作,但我只想说我更希望用户直接返回到应用程序,而不是通过一堆 Home 按钮点击间接返回.
提前感谢您的帮助。
【问题讨论】: