不断收到“在 YourAppName 中打开此页面?”的警报视图消息?尝试从 Safari 启动应用程序时

Posted

技术标签:

【中文标题】不断收到“在 YourAppName 中打开此页面?”的警报视图消息?尝试从 Safari 启动应用程序时【英文标题】:Keep getting alert view message of "Open this page in YourAppName?" when trying to launch app from safari 【发布时间】:2014-04-01 19:47:16 【问题描述】:

我需要能够从 Safari 浏览器启动我的 ios 应用程序。所以我在 xcode 中找到了我的 .plist 文件,并在我的 URL Schemes 中添加了一个项目,并输入了 myappname 的字符串。

现在,如果我去 Safari,在 URL 地址栏中输入 myappname:// 并提交它,它会显示一个 UIAlertView,上面写着 Open this page in "MyAppName"? 以及 CancelOpen 的选项。

如果我点击Open,它会成功打开我的应用程序,但是我想在不弹出UIAlertView 的情况下执行此操作。

我在网上进行了一些快速搜索,似乎每当有新的 iOS 更新出现时,人们都会遇到这个问题,而我似乎找不到最近的解决方案或答案。

我使用的是装有 iOS 7.1 的 iPhone 4s,如果这有什么不同的话,我正在使用 xcode 5.1。

另外,我一直在使用 App Store 中一个名为“Frontback”的应用程序,它成功地做了同样的事情没有在 Safari 中显示UIAlertView,所以这绝对是可能的。

感谢您的帮助。

【问题讨论】:

您希望用于打开应用程序的 url 方案的示例是什么?或者这无关紧要,你只是想在类似 hi://this_is_my_app.cool 的时候打开应用程序 我想这无关紧要XD 我上面描述的 URL Scheme 完美运行。我只想摆脱 UIAlertView。 采用该方法是不可能的,为了摆脱警报视图,iOS 会显示警报视图以防止您在未经您同意的情况下打开恶意数据 使用传统方式我认为这是不可能的。是否有非苹果应用程序已经这样做了? 【参考方案1】:

我在我的应用程序中使用此方法,但没有获得UIAlertView。它直接进入应用程序。

当我第一次开始实施它时,我遇到了类似的问题。我怀疑myappname:// 没有问题,但可能是您添加 URL 方案的方式有问题。

确保将您的自定义值 (myappname) 分配给 URL Identifier 对象 (com.mycompany.myappname)。 URL identifier 应该是一个字符串,URL Schemes 应该是一个数组,其中您的自定义值是一个字符串。

.plist 的 XML 版本应如下所示:

<key>CFBundleURLTypes</key>
<array>
    <dict>
        <key>CFBundleURLName</key>
        <string>com.mycompany.myappname</string>
        <key>CFBundleURLSchemes</key>
        <array>
            <string>myappname</string>
        </array>
    </dict>
</array>   

【讨论】:

“我怀疑这不是 myappname:// 的问题,但可能是您添加 URL 方案的方式的问题。” - 你可能是对的。我很久以前就问过这个问题,我想我只是对我不知道的东西了解得不够多,无法理解这个问题。 所以您可以通过使用自定义 URL 方案在不显示警报的情况下打开应用程序吗?显示警报似乎是 iOS 9+ 中的默认行为。很想知道您的方法是否仍然有效,因为即使遵循此答案,警报仍然会出现。

以上是关于不断收到“在 YourAppName 中打开此页面?”的警报视图消息?尝试从 Safari 启动应用程序时的主要内容,如果未能解决你的问题,请参考以下文章

我在 Python 中不断收到“21 行错误”[关闭]

为啥我不断收到此空指针未知来源错误?

我不断从 npm 收到 `errno 4058`

我不断收到语法错误c#

我在 codecademy 上的 python 上不断收到此错误

为啥我不断收到交互失败 (discord.py)