不断收到“在 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"?
以及 Cancel
和 Open
的选项。
如果我点击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 启动应用程序时的主要内容,如果未能解决你的问题,请参考以下文章