如何为不同平台(iPhone和Mac OS X)创建具有多个目标的xcode项目?

dk.*_*dk. 8 iphone macos xcode

我已经写了一些Core Data iPhone应用程序,我遇到了一个一直存在的问题,我希望这是iPhone开发的常见模式.也就是说,我有一个或多个命令行数据加载器来创建Core Data数据库,然后我有我的iPhone应用程序.由于模型文件是共享的,并且加载器是项目的一个组成部分,我希望它是一个单独的项目.

使用iPhone OS目标和命令行目标创建项目的正确方法是什么?我所有的尝试都没有奏效 - 我有代码签名,调试和配置问题.

到目前为止,这是我最好的尝试:

  • 创建一个iPhone项目
  • 添加一个新的Cocoa Shell Tool目标
  • 在目标的构建配置中将基本SDK更改为"当前Mac OS"

此时我没有可执行文件.(相反,如果您创建一个新的Command Line Utility项目,则可执行文件会自动与您的目标关联.)

如果我创建一个自定义可执行文件,那么我有一些麻烦:(1)更改目标不会更改可执行文件,因为您无法将自定义可执行文件链接到目标,(2)调试命令行程序是有问题的,因为断点在XCode中设置没有注册(调试可执行文件时,行号上的V形变为橙色),所以我必须闯入正在运行的代码,然后从控制台手动处理调试,(3)最令人沮丧的是,如果我创建我的iPhone应用程序的正确配置分发版本,然后将iPhone应用程序转移到设备失败抱怨配置配置文件与代码签名权利不匹配.绝对不是这种情况,因为我为iPhone目标的分发版本设置了配置文件和授权文件,但无论多么烦恼,我都无法在设备上安装目标.(如果我使用命令行工具创建一个具有相同代码和代码签名的新项目,那么我可以安装AdHoc配置的应用程序.)

那么......我应该遵循一些其他模式吗?Xcode配置是严重的伏都教.

Eon*_*nil 0

注意一件有趣的事情。

如果您创建一个 Mac OS X 应用程序项目,并添加一个新的 iOS 应用程序目标,您可以切换它们!您甚至可以编译 Mac OS X/iOS 目标。

但!!!

它仅适用于 iOS 设备平台。如果您选择一次模拟器,该项目将固定为 iOS 应用程序,不再为 Mac OS X 进行编译。(您仍然可以选择Mac OS X应用程序目标,但它不再被编译)

所以是无法使用的。

还有一件事...

关闭你的 Xcode。如果您查看文件夹内部.xcodeproj,您可以看到几个文件。并且可以找到一个.pbxuser文件。用文本编辑器打开它,找到一行activeSDKPreference=... 如果有,删除该行,然后保存文件。使用 Xcode 重新打开项目。哎呀!已重置!您可以再次编译 Mac OS X 目标!