以编程方式检测 iPhone 上是否安装了应用程序
我处于这种情况,我必须在 iPhone 应用程序中显示一个按钮,其中显示“打开 myApp”(如果设备上安装了 myApp)或“下载 myApp”(如果设备上未安装 myApp)。为此,我需要检测设备上是否安装了应用程序(具有已知的自定义 URL)。我该怎么做?提前致谢。
I am in this situation where I have to display a button which says "Open myApp" (if myApp is installed on the device) or it says "Download myApp" (if myApp is not installed on the device) in an iphone app. To do this, I need to detect whether an app (with a known custom URL) has been installed on the device. How can I do this? Thanks in advance.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
2014 年 1 月 8 日更新 - 您可以做的 3 件事
实际上我不得不再次为客户做这件事。他们希望用户能够从主应用程序打开第二个应用程序(如果已安装)。
这是我的发现。使用
canOpenURL
方法检查应用是否已安装或/然后使用openURL
方法每个场景可用的所有代码示例
选择一个选项,我刚刚用选择宠坏了您。选择一款适合您的要求的产品。
就我而言,我必须在程序的不同区域使用所有三个选项。
UPDATED 8th January 2014 - 3 things you can do
I actually had to do this for a client again. They wanted users to be able to open their second app from the main app if it had been installed.
This is my finding. Use the
canOpenURL
method to check if an app is installed or/and then use theopenURL
method toAll code samples available for each scenario
Choose one option, I've just spoiled you with choice. Choose one that fits your requirements.
In my case I had to use all three options in different areas of the program.
如果您的应用程序的 URL 方案是“myapp:”,则
(需要 iOS 3.0。)
If the URL scheme for your app is "myapp:", then
(Requires iOS 3.0.)
检查应用程序是否安装在设备中
1) 在 info.plist 中添加 LSApplicationQueriesSchemes,如下例
2) 和 URL 类型
3)现在检查应用程序是否安装
To check app is install in device or not
1) In info.plist add LSApplicationQueriesSchemes as below example
2) and in URL Types
3) Now to check app is install or not
您可以在需要此应用程序嗅探的任何页面的头部添加一个简单的元标记。
有关更多信息,请访问此处:
http:// /developer.apple.com/library/ios/#documentation/AppleApplications/Reference/SafariWebContent/PromotingAppswithAppBanners/PromotingAppswithAppBanners.html
You can add a simple meta tag in the head of any page that needs this app-sniffing.
For more info, go here:
http://developer.apple.com/library/ios/#documentation/AppleApplications/Reference/SafariWebContent/PromotingAppswithAppBanners/PromotingAppswithAppBanners.html
对于那些使用 canOpenURL 的人来说,从这里迁移到 openURL:options:completionHandler: 始终是安全的,
因为这不需要您提前声明方案。
已弃用的 canOpenURL 已经有一些奇怪的限制,因为 Twitter 很久以前就用它来检测数百个应用程序。
For those using canOpenURL it is always safe to migrate from this to
openURL:options:completionHandler:
because that doesn't require you to declare the scheme ahead of time.
canOpenURL
which is deprecated already has some odd limitations because Twitter used it to detect hundreds of apps long ago.