在我的 iPhone 上找到一个应用程序的 URL 方案

Find the URL scheme of an app on my iPhone

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

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

如何找出安装在我 iPhone 上的那些应用程序的 url 架构?

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

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

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

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

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

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

给自己一份 "enterprise" 版本的 iTunes,让您可以直接从 App Store 下载 .ipa 文件。 (提到,例如,here。)现在您可以打开 .ipa 并检查其组件。

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

例如

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

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

我做事的方式。下载应用 "Iconical"。这是一个用于创建其他图标以访问应用程序的应用程序。安装后,点击 "Select App",然后点击刷新,您将获得一个 url 的所有应用程序列表,其中设置了 url 方案。

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

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

这篇文章非常有帮助:

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

基本上:

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

然后

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