我是否可以编写一个应用程序,它应该是一些其他应用程序的包装器,然后在我的主应用程序中运行这些应用程序?
我的想法是,我只想写一个菜单,但我希望将它整合为许多其他应用程序的顶层。
我想到的另一种方式是可能在顶层创建一个UIWindow并在那里运行它但是我遇到了问题。
谢谢!
答案 0 :(得分:4)
我认为这是采取整体措施的错误方法。如果您希望代码可以重复使用,请编写库。
答案 1 :(得分:1)
你不能在一个应用程序中托管“多个应用程序”,因为据我所知,Apple的沙盒阻止了这一点,并且只允许应用程序一次运行一个。
您可以通过几种方式模拟所需的功能:
使用UINavigationController
或UITabViewController
在不同的视图控制器之间导航,从而允许顶级菜单在应用程序中引导不同的“功能”。 (这意味着你不需要明确地使用UIWindow;你可以使用Storyboard和Storyboard segue来连接这些不同的功能部分)优点:它是一个应用程序。缺点:在应用程序商店中列出一个。
使用custom URL schemes在两个单独的iOS应用之间移动。每个iOS应用程序(通常)都是自己的项目(如果你不计算'目标',它可以省略每个构建中的特定文件),并不是每个应用程序都安装在每个设备上。但假设客户同时拥有两个应用程序,您可以使用此类URL方案从另一个应用程序打开一个应用程序,甚至可以传递数据。我自己的应用程序使用URL方案将数据从'lite'版本传递到'pro'版本。优势:应用商店中的多个商家信息。缺点:如果用户尚未安装这两个应用程序,则无效。
在多个应用中重复使用“顶级菜单”代码,然后执行一些逻辑,以便应用程序仅在安装其他应用时使用自定义URL方案。然后,您还可以将他们引导到他们尚未安装的任何应用程序的应用程序商店页面。优势:商店中的多个商家信息,统一体验,如果尚未安装应用,则会将用户带到应用商店。 (我还没有实现代码来检查是否安装了应用程序......看起来这个问题已被问到here。)
修改:I read your other question。它看起来像“顶级”,你的意思是屏幕上的图形粘性,并且当用户导航应用程序时,其他视图不会删除它?我不确定如何使用Foundation,但您可以使用Quartz2D(面向实用程序应用程序)或Cocos2D(面向游戏)。