【问题标题】:Find the URL scheme of an app on my iPhone在我的 iPhone 上查找应用程序的 URL 方案
【发布时间】:2019-02-18 10:42:09
【问题描述】:

Apple 地图在无法提供路线时可以打开路线应用:

我想从我的应用中打开其中一些应用。我知道我必须将每个要打开的应用程序列入白名单。这不是问题。

我怎样才能找到我 iPhone 上安装的那些应用程序的 url 方案?

一个想法是通过 iTunes 和应用程序的 info.plist 进行备份。 在此 plist 中,应使用 cfbundleurlschemes 键定义 url 方案。

我想我在备份中找到了这样的应用程序,但我不知道如何提取文件以获取 info.plist 文件。添加 .zip 和提取不起作用。

也欢迎其他获取 URL 方案的方法,尤其是获取应用程序 URL 方案的示例参数的方法。所以看看 Apple Maps 如何打开一个特定的路线应用程序会很好。

是的,我知道如何打开 Google 地图。我想知道如何打开那些我找不到文档的地方。

那么我怎样才能在我的 iPhone 上找到路由应用程序的 URL 方案?

有一个答案建议提取 .ipa 文件,但 iOSA 11 不再有 .ipa 文件。

【问题讨论】:

  • 我知道/知道这个问题/答案。当 iPhone 上的 .ipa 文件基本上是 .zip 文件时,答案可能是有效的。不再有 .ipa 文件,并且存在的文件也不是 zip 文件。
  • 当您说“不再有 .ipa 文件”时,我真的不明白您的意思。你问题的整个前提对我来说似乎是错误的。窥探 app bundle 的方式没有任何改变。
  • 我没有从引用的答案中得到它。我试图查看 iTunes 备份,但这可能是错误的。我在“下载”和“右键单击并选择在资源管理器或查找器中显示”之间迷失了。在哪里右键?
  • 有第三方应用程序可让您深入备份并提取单个应用程序。

标签: ios iphone google-maps url-scheme apple-maps


【解决方案1】:

这篇文章非常有用:

https://www.amerhukic.com/finding-the-custom-url-scheme-of-an-ios-app

基本上:

  1. 将应用下载到您的手机中
  2. 在您的 Mac 上安装 iMazing 程序
  3. 将手机连接到 Mac
  4. 将 ipa 文件从您的手机下载到您的 mac

然后

  1. 将 ipa 文件制作为 zip(重命名)并解压
  2. 在 Payload 文件夹中显示 .app 文件中的包内容
  3. 搜索并打开 Info.plist 文件
  4. 搜索 CFBundleURLSchemes。这是您的网址方案。

【讨论】:

    【解决方案2】:

    我这样做的方式。下载应用程序“标志性”。这是一个用于创建其他图标以访问应用程序的应用程序。安装后,点击“选择应用程序”,然后点击刷新,您将获得所有应用程序的 url 列表,并设置了 url Scheme。

    如果我想要的应用不在列表中。比我打开 iPhone 控制台,去 AppStore,找到应用程序并从那里打开它。然后在 iPhone 控制台中查找它的包标识符,并将最后一部分用作 url 方案。 例如:com.cie.appName。这一直对我有用。希望这会有所帮助。

    UIApplication.shared.open("appName://", options: [:], completionHandler: nil)
    

    【讨论】:

    • Iconical 应用程序不是免费的,但也不贵。扫描它知道的所有 130,000 个应用程序花了很长时间,而且我的 iPhone 变得很热,因为我没有让它休息!它在此过程的早期发现了一些所需的应用程序。这种方法非常省手,适合您想要许多流行应用程序的 URL,并且您不介意等待扫描完成。对于不太知名的应用程序,或者只处理少数应用程序,我会推荐using Apple Configurator 2
    • 这应该是 2020 年的最佳答案。请记住,Iconical 提供的应用方案可能不适用于所有 iOS 版本,并且很难自动化收集。
    • open the iPhone console 那是什么?
    【解决方案3】:

    如果您将设备连接到计算机并打开应用程序,您可以在设备控制台中找到任何应​​用程序的 URL 方案。 SpringBoard 将很多动作记录到控制台,每次都显示 URL 方案。

    例如

    Firefox 的 URL 方案:org.mozilla.ios.Firefox

    default 15:34:38.460964 +0100   SpringBoard [org.mozilla.ios.Firefox] Setting badge to (null) [ old badge: (null) ]
    

    【讨论】:

    • 这是应用程序的包标识符,而不是它的 URL 方案。只有少数应用程序使用它们的包标识符作为它们的 URL 方案。
    【解决方案4】:

    获取一份“企业”版 iTunes 的副本,让您可以直接从 App Store 下载 .ipa 文件。 (提到,例如,here。)现在您可以打开 .ipa 并检查其组件。

    【讨论】:

    • 遗憾的是,如果您已安装 Mojave,则不再可以选择此选项,因为不支持此“企业”iTunes 版本(或官方称为 iTunes 12.6.3)。
    猜你喜欢
    • 2012-02-16
    • 1970-01-01
    • 1970-01-01
    • 2014-02-22
    • 1970-01-01
    • 1970-01-01
    • 2021-04-14
    • 2012-07-28
    • 2016-10-23
    相关资源
    最近更新 更多