自定义 URL 在模拟器中有效,但在设备上无效

Posted

技术标签:

【中文标题】自定义 URL 在模拟器中有效,但在设备上无效【英文标题】:Custom URL works in simulator but not on a device 【发布时间】:2017-06-01 08:51:43 【问题描述】:

我浏览并按照this 教程使用自定义 URL。在模拟器上一切正常,所以当我使用 safari 并点击myApp:// 时,会弹出一个对话框询问我是否要打开应用程序。到目前为止,一切都很好。但是,当我在设备上安装应用程序并在 safari 中点击相同的东西时,我收到一条错误消息,提示 Cannot open page. Safari cannot open the page because the address is invalid. 我尝试了足够多次,所以这绝对不是打字错误。非常感谢任何帮助。

.plist:

<key>CFBundleURLTypes</key>
<array>
    <dict>
        <key>CFBundleURLName</key>
        <string>com.xyz.myApp</string>
        <key>CFBundleURLSchemes</key>
        <array>
            <string>iosMyApp</string>
        </array>
    </dict>
</array>

我复制了 CFBundleURLName 的包标识符。

ANSWER:所以就在我准备把头撞到桌子上之前,当我在 Safari 中打开一个新选项卡然后点击应用程序 URL 时,我发现它正在工作。我不知道为什么会这样。此外,如果您取消它,然后再次点击同一选项卡中的应用程序 URL,它会给您一个我在问题中提到的错误。所以诀窍是每次都在新鲜标签中点击应用网址。

【问题讨论】:

查看链接:-***.com/questions/17080335/… @Ved:谢谢,但我已经在我的 AppDelegate 中实现了该方法 你能分享你的应用程序的这个设置吗? iosdevelopertips.com/wp-content/uploads/2014/02/urlScheme2g.gif @AdnanAsghar:已添加。 您是否检查过目标信息选项卡中的 URL 类型? 【参考方案1】:

这个设置对我有用。我要做的一件事是关闭 safari 的当前选项卡并打开新选项卡并输入

iOSMyApp://

【讨论】:

你在设备上试过了吗?另外设备使用的是什么操作系统? 在 iPhone 5 iOS 10.2.1 和 iPhone 6s iOS 10.3.2 上测试 感谢您的宝贵时间,我刚才注意到的是,如果我在 safari 中打开一个新标签页,它会起作用。

以上是关于自定义 URL 在模拟器中有效,但在设备上无效的主要内容,如果未能解决你的问题,请参考以下文章

听声音在 iPhone 模拟器上有效,但在设备上无效

点击自定义键盘按钮时如何播放铃声

iPad 启动图像在 sim 中有效,但在设备上无效

为啥此音频单元 RemoteIO 初始化在 iPhone 上有效,但在模拟器中无效?

存储在 plist 中的数据在模拟器中有效,但在设备中无效

使用 AVAudioPlayer 播放的音频在 iPhone 模拟器中有效,但在设备中无效