【发布时间】:2011-04-12 05:42:30
【问题描述】:
只是从 Android 切换到 iPhone。在 Android 中,我可以制作多个应用程序并使用 tabView 将每个应用程序调用为意图。
在 iPhone 中,我可以制作多个应用程序。我需要一个标签来调用每个应用程序或应用程序视图。 iPhone中是否有与意图类似的概念?刚刚切换到 iPhone,将所有其他项目复制到选项卡中不起作用。如果您有其他方法可以解决,我真的很感激。谢谢,
【问题讨论】:
只是从 Android 切换到 iPhone。在 Android 中,我可以制作多个应用程序并使用 tabView 将每个应用程序调用为意图。
在 iPhone 中,我可以制作多个应用程序。我需要一个标签来调用每个应用程序或应用程序视图。 iPhone中是否有与意图类似的概念?刚刚切换到 iPhone,将所有其他项目复制到选项卡中不起作用。如果您有其他方法可以解决,我真的很感激。谢谢,
【问题讨论】:
Android 和 iOS 在这方面有很大不同。 Android 非常开放地允许您使用意图来混合和匹配来自其他应用程序的活动。 iOS 不是这样的。每个应用程序都在自己的私人空间中运行,通常甚至看不到其他应用程序的数据,更不用说使用他们的服务了。 可能会导致其他应用程序通过自定义 URL 运行,但这不是一回事。
您需要将各种 iOS 应用的视图控制器、视图等的代码复制或移动到您的标签栏应用项目中。您将把它们全部构建到一个应用程序中,标签栏将在视图控制器之间切换。
【讨论】:
在 iOS 8 中,您将拥有类似于 Android Intents 的东西。使用App Extensions 可以达到类似的行为。
在不久的将来,应用将开始公开它们的“扩展”(就像您在 Android 框架中在清单中声明 Intent 过滤器一样),供需要的应用使用。第一个版本中允许的扩展区域是:
苹果终于发布这个功能真是太好了!
【讨论】:
Android 中的 Intent 涵盖了很多功能。没有与之等效的 iOS。
但如果您的目标是启动不同的应用程序并向其传递参数,您可以尝试 URL Schema。
假设您有应用 AAA 的 URL 架构 aaa:// 和应用 BBB 的 URL bbb:// 您可以启动应用程序 AAA,例如调用 bbb://v=1&c=2 来启动 BBB 并获取参数。您甚至可以通过这些参数来控制要显示的视图,这样您就可以在 Android 中拥有类似的概念,使用 Intent 调用不同的 Activity。
您必须在 Info.plist 中注册 URL 架构
【讨论】:
截至 2016 年,Apple 添加了一个类似于 Android 的 Intents 框架,但限制性更强。预计苹果未来会增加更多的 Intent,但目前还很有限。 https://developer.apple.com/reference/intents
【讨论】:
从 iOS 8 开始,您可以使用App Extensions。
【讨论】: