我的背景是c#,.net和Visual Studio.
我一直试图掌握Cocoa开发,但我发现很难找到有关某些事情的信息,可能是因为我从Visual Studio的角度来看.
几个问题:
"框架"项目与XCode中的"图书馆"项目有什么区别?
在启动新的XCode项目时为项目选择"动态"或"静态"会产生什么后果.以后可以改变吗?它会影响项目的内容吗?
XCode是否具有与Visual Studio等各种项目的"解决方案"的概念?如果是这样,你如何在XCode中引用相同的解决方案?
以与.net一样的方式接近Cocoa项目是否正确.例如,如果我要构建一个简单的图像处理应用程序,我将从核心库开始,可以在winforms,silverlight或MVC前端应用程序中引用.该组织在XCode中如何运作?
Framework项目构建框架,而Library项目构建库.框架(.framework)是将库及其关联的头文件捆绑在一个包中的方式(类似于将可执行文件及其各种文件捆绑在一起形成.app包的方式).如果您正在构建一个您打算在多个Cocoa项目中使用的库,或者为此目的分发给其他开发人员,那么Framework可能是最方便的方法.
静态库(.a)类似于Windows中的.lib文件.它是已编译的代码,您可以将其链接到您的可执行文件中.动态库(.dylib)类似于Windows中的.dll.它是可编译的代码,可由您的可执行文件动态加载.您可以在创建后将输出从一个更改为另一个(请参阅项目信息的"构建"选项卡中"链接"下的"Mach-O类型"字段.但是,可能还有其他设置因两者而异.我的建议是决定你想做什么,为此制作项目,不要改变它.
是的,你可以从Xcode项目中构建多个东西.Xcode项目与Visual Studio解决方案完全类似.Visual Studio调用Projects,Xcode调用Targets.因此,Xcode项目可以有多个目标.比如,一个用于框架,一个用于使用该框架的应用程序,一个用于一组单元测试,等等.让自己成为一个Xcode项目,右键单击Targets-> Add-> New Target,你可以玩它.每个Target都有自己的构建设置,文件等.
我的背景更像是Visual Studio之家的MFC/C++,而不是.NET/C#,但据我所知,你所描述的内容在Xcode中是可能的,甚至是可取的,当然.到目前为止,我的项目从来都不够大,其中的代码也不够常见,为了核心功能而烦恼,但是没有理由你不能这样做.