繁体   English   中英

我可以在XCode中保留一个项目,但是可以为Mac OS X,Apple Mac Store和iOS设备构建它吗?

[英]Can I keep one project in XCode but build it for Mac OS X, Apple Mac Store and iOS device(s)?

我注意到这里对每个平台有不同的要求。 我想知道是否可以构建单个项目但是有多个目标,其中每个目标是Mac OS X(类似于CD /安装版本),Apple Mac Store和iOS设备。

如果我以错误的方式解决这个问题,那么我很想知道! 我主要是在PC上开发,但随着App Store的状态,我希望尽可能多地展开!

为Mac应用商店和独立分发的Mac应用程序保留单独的目标很简单。 您只需要确保收据验证码有条件地包含在应用商店目标中,而不是在其他目标中; 并且您的自定义许可方案包含在另一方面。 如果你在两个目标中定位不同的操作系统,事情会变得复杂一些,但它们并非不可克服:你可以在运行时测试类或选择器的存在,以确保你永远不会在旧系统上调用更新的API。

顺便说一下,为这些目标提供单独的Info.plist文件也是值得的。 部分原因是您不需要或想要在应用商店目标中包含Sparkle属性等内容,还因为每个目标都应具有唯一的包标识符。 如果您安装了一个应用程序商店,它认为它来自商店但实际上并没有这样做,并且您不希望冒险更新程序或Apple尝试更新通过其他机制部署的应用程序。 但这并不是关于组织Xcode项目,而是部署问题。

多半是对的。 所有Mac / iOS应用程序都可以用Objective-C编写,代码非常相似。 但是,您必须记住,iOS设备的屏幕尺寸与Mac不同,甚至相互之间也不同。 这意味着输入隐喻是不同的,并且UI是不同的。 虽然可以做你想做的事情,但不建议只编码一次并编译三次。

也就是说,我不使用Xcode 4,所以我无法告诉你这一点。 如果您希望为不同的设备执行不同的构建,则需要尽可能单独编写应用程序逻辑和输入逻辑。 然后,您创建多个目标,每个目标一个。 您为每个目标定义编译器标志。 在您的代码中,您将使用这些标志为您的构建使用适当的代码。

至少从3.2.5开始,这绝对不是问题。 您不一定能够在项目范围内应用所有构建设置,但可以按目标指定它们。 只需添加适当类型的目标(Cocoa Touch,Cocoa等)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM