我们有一个相当丰富的电子学习应用程序,主要使用cocos2d.目前我们是alpha,想要设置我们的项目结构,所以我们也可以建立一个Mac版本来定位到Mac App Store.它在大约80%的cocos2d与UIKit中的一些初始屏幕将不得不移植到Mac(重写).
@H_502_2@从单个代码库中定位Mac和iOS应用商店的建议设置是什么?我假设选择是:
@H_502_2@>在同一应用程序源代码根文件夹中创建2个xCode项目,并使用每个项目构建单个目标.这将是:Project.xcodeproj和ProjectMac.xcodeproj
>将新的Mac目标添加到我们现有的iPad应用程序项目中,然后调用目标成员资格以获得所需的结果.这将是:Project.xcodeproj @H_502_2@情况进一步复杂化是我们目前使用cocos2d作为iOS应用程序的静态库.我们还有一个名为CoreInfrastructure的库,它具有我们在所有项目中使用的大量代码.最近我已经知道,我可以创建一个项目,以同时构建一个针对Mac的框架,并从同一个代码库中构建一个针对iOS的库.这是通过从框架项目开始并添加目标来构建iOS的静态库来完成的. @H_502_2@所以只是想让大家的意见和见解.任何人都知道在上述选择中要注意的任何注意事项?任何正在建设Mac和iOS应用商店的人都会同时关心分享他们的结构?添加一个目标在我们的图书馆代码工作…是应用程序的方式吗? @H_502_2@存档和发行版是否存在任何问题? @H_502_2@提前致谢.
>将新的Mac目标添加到我们现有的iPad应用程序项目中,然后调用目标成员资格以获得所需的结果.这将是:Project.xcodeproj @H_502_2@情况进一步复杂化是我们目前使用cocos2d作为iOS应用程序的静态库.我们还有一个名为CoreInfrastructure的库,它具有我们在所有项目中使用的大量代码.最近我已经知道,我可以创建一个项目,以同时构建一个针对Mac的框架,并从同一个代码库中构建一个针对iOS的库.这是通过从框架项目开始并添加目标来构建iOS的静态库来完成的. @H_502_2@所以只是想让大家的意见和见解.任何人都知道在上述选择中要注意的任何注意事项?任何正在建设Mac和iOS应用商店的人都会同时关心分享他们的结构?添加一个目标在我们的图书馆代码工作…是应用程序的方式吗? @H_502_2@存档和发行版是否存在任何问题? @H_502_2@提前致谢.
解决方法
对于应用程序,使用两个单独的项目.在一个项目中为iOS和Mac使用多个目标是非常有用的,如果他们共享一个库或框架.然而,在你的顶级应用程序中几乎没有什么是共享的. UIKit代码需要完全重写才能使用AppKit,依赖关系会有所不同,甚至大部分的项目设置都会有所不同.
@H_502_2@当然,如果你真的想要一次看到所有的东西,你可以将平台特定的应用程序项目和所有共享的依赖库/框架项目放在一个工作区中.这更是一个工作作风的问题.如果你想经常在两者之间来回切换,这是最有意义的.如果您想简化您正在查看的内容,可以将它们放在共享许多相同项目的单独工作空间中.单独的工作空间的缺点是项目只能一次在一个工作区中打开,以便您有效地只能一次工作.