【发布时间】:2011-01-10 22:32:22
【问题描述】:
我编写了几个 Core Data iPhone 应用程序,但遇到了一个一致的问题,我希望这将成为 iPhone 开发的常见模式。也就是说,我有一个或多个命令行数据加载器来创建 Core Data 数据库,然后我有我的 iPhone 应用程序。由于模型文件是共享的,并且加载器是项目的一个组成部分,我希望它是一个单独的项目。
使用 iPhone OS 目标和命令行目标创建项目的正确方法是什么?我所有的尝试都没有奏效——我遇到了代码签名、调试和配置问题。
这是我迄今为止最好的尝试:
- 创建一个 iPhone 项目
- 添加新的 Cocoa Shell 工具目标
- 在目标的构建配置中将基础 SDK 更改为“当前 Mac OS”
此时我没有可执行文件。 (相比之下,如果您创建一个新的命令行实用程序项目,那么可执行文件会自动与您的目标关联。)
如果我创建一个自定义可执行文件,那么我会遇到一些麻烦:(1)更改目标不会更改可执行文件,因为您无法将自定义可执行文件链接到目标,(2)调试命令行程序是有问题,因为在 XCode 中设置的断点没有被注册(调试可执行文件时行号处的 V 形变为橙色),所以我必须闯入正在运行的代码,然后从控制台手动处理调试,(3)最令人沮丧的是,如果我为我的 iPhone 应用程序创建了正确配置的分发版本,那么将 iPhone 应用程序传输到设备会失败,并抱怨配置文件与代码签名权利不匹配。绝对不是这种情况,因为我为仅 iPhone 目标的分发版本设置了配置文件和授权文件,但无论我如何摆弄我都无法在设备上安装目标。 (如果我使用相同的代码和代码签名而不使用命令行工具创建一个新项目,那么我可以安装一个 AdHoc 配置的应用程序。)
那么...还有其他一些我应该遵循的模式吗? Xcode 配置是严重的巫术。
【问题讨论】:
-
嗨,我也遇到了同样的问题——你找到解决办法了吗?
-
我也遇到了同样的问题。从谷歌搜索来看,Xcode 似乎可能有一个 PLATFORM_NAME 环境变量。我不知道除了 'iphonesimulator' 之外它的有效值是什么。