是否有在iPhone和iPad应用程序之间共享开发代码的最佳实践

是否有在iPhone和iPad应用程序之间共享开发代码的最佳实践,iphone,ipad,ios4,Iphone,Ipad,Ios4,我想构建两个应用程序,一个为iphone优化,一个为ipad优化 这两个应用程序都调用服务器API调用,并将为模型对象共享相同的代码,因此我想在我的iphone和ipad项目之间共享这些代码 我使用的是xCode 4,带有工作区的概念(应该允许在项目之间共享代码),但我想知道是否需要为共享代码创建另一个项目 是否有人这样做并愿意分享最佳实践 如果要构建两个独立的应用程序,则需要创建一个包含两个iOS应用程序项目和一个静态库项目的工作区。静态库应该包含您的所有共享代码,并且该库应该包含在您的两个i

我想构建两个应用程序,一个为iphone优化,一个为ipad优化

这两个应用程序都调用服务器API调用,并将为模型对象共享相同的代码,因此我想在我的iphone和ipad项目之间共享这些代码

我使用的是xCode 4,带有工作区的概念(应该允许在项目之间共享代码),但我想知道是否需要为共享代码创建另一个项目


是否有人这样做并愿意分享最佳实践

如果要构建两个独立的应用程序,则需要创建一个包含两个iOS应用程序项目和一个静态库项目的工作区。静态库应该包含您的所有共享代码,并且该库应该包含在您的两个iOS应用程序项目中。

我更喜欢跨项目共享代码,无论是iPhone/iPad重用还是任何其他共享场景,都可以利用静态库项目来容纳共享代码,并在所有使用它的项目中用作目标依赖项。再详细一点

可以使用Cocoa Touch静态库模板创建新的Xcode项目。此项目可以容纳项目之间的所有共享代码。然后,在要使用静态库的任何应用程序中,可以通过将静态库项目拖动到客户机项目中,向静态库项目添加项目引用。在这个客户机项目中,最好添加静态库作为客户机项目的目标依赖项构建阶段。这将强制在构建客户端项目时重新构建共享库。然后,将静态库产品添加到客户机项目的“使用库链接二进制文件”构建阶段


最后一个警告是,您还需要告诉客户机项目静态库的头所在的位置。这是由于静态lib不像Mac上的Cocoa框架那样包含自己的头。为此,只需在客户端项目中找到“Header Search Path”构建设置,并将该路径添加到静态库头中。我发现引用由Xcode生成并放入派生数据(如果您已经将Xcode配置为这样做的话)最有用。

今天晚些时候我将在internet上搜索有关工作区的信息,但是您知道有什么好的资源吗?我从来没有使用过它们。最好是查看一些来自苹果的初始文档:因此应该提供问题的答案(和往常一样)。