在做升级这个需求的时候,突然遇到一个不能成功跳到我们 app 的页面,这很奇怪啊,之前都是好好的,一直也是这么用的啊。
- 在真机上只是简单的打开 AppStore, 并显示“无法连接到 App Store”
- 模拟器上直接提示 Cannot Open Page, Safari cannot open the page because the address is invalid, 都不跳到App Store 去。
代码如下:
if ([[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:kAppStoreURLString]]) {
if (NSFoundationVersionNumber > NSFoundationVersionNumber_iOS_9_x_Max) {
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:kAppStoreURLString] options:@{UIApplicationOpenURLOptionUniversalLinksOnly : @(NO)} completionHandler:^(BOOL success) {}];
}else {
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:kAppStoreURLString]];
}
}
着手解决
- 第一步:检查方法有没有写错
经测试切换成其他 URL,类似 Google, Baidu 都是一点问题都没有。
切换成 谷歌的 AppStore 链接也是有问题:https://itunes.apple.com/us/app/google-app-search-made-just/id284815942?mt=8&ign-mpt=uo%3D2
。 - 第二步: 检查是不是工程中做了什么限制
重新启了一个工程,发现问题也是一样的问题。 - 第三步: 寻找帮助
在网上,看到有人说将链接 切换成http://itunes.apple.com/app/id284815942
结果还是一样的......
再试itms-apps://itunes.apple.com/us/app/google-app-search-made-just/id284815942?mt=8&ign-mpt=uo%3D2
也是一样,当然这个在模拟器上肯定是不行的,加上下面这句话后
<key>LSApplicationQueriesSchemes</key>
<array>
<string>itms-apps</string>
</array>
还是一如既往跳转到 AppStore 中,然后显示无法连接到 App Store,并不能跳转到我们要显示的APP。
这个确实很着急啊,以前都是可以正常跳转到商店中我的App 啊,此时确实无法显示。
后来我换了一个手机好了,我靠又是老问题——代理开的问题,抓狂啊.....
至于 模拟器中显示 Safari cannot open the page because the address is invalid 暂时不用管他,直接用真机去测试,用真机测试,用真机测试 😆