我一直在纠结于如何将 TFS 用作 iPhone 开发的源代码存储库。
我的老板永远不会让我使用 Subversion(或者上帝禁止使用 Perforce),所以我只能使用 TFS 源代码控制。
解决方案是去购买将 Mac 连接到 TFS 的工具,我不是要在这里做广告,但是 Teamprise Client Suite for Mac OS X 是 Mac OS X 和 TFS 之间的桥梁。
对于标准 checkin 和开发人员工作流,Xcode 和 TFS 之间没有集成。您必须通过 Teamprise Explorer 客户端手动完成这一切。
对于构建,事实证明 Automator 和 Teamprise 命令行客户端可以解决问题。
那里有一些 Xcode 到 TFS 的桥吗? 您使用什么源代码控制系统进行 iPhone 开发?
对我来说关键是嵌入在 Automator 工作流程中的以下 bash 脚本。
%1 = 执行代码拉入的本地文件夹。 %2 = 从中提取的项目名称。
此脚本假定 Teamprise 命令行客户端已安装到 ~/Teamprise
PATH="$PATH:~/Teamprise:~/Teamprise/lib"
cd "$1"
mkdir "$1/logs"
tf workspace -delete BuildScript -server:http://TFSServer -login:uname@domain,password >> $1/logs/wsdelete1.log
tf workspace -new BuildScript -server:http://TFSServer -login:uname@domain,password >> $1/logs/wscreate.log
tf workfold -map "$/TFSRoot" . -workspace:BuildScript -server:http://TFSServer -login:uname@domain,password >> $1/logs/workfold.log
tf get "$/TFSRoot/$2" -all -recursive -server:http://TFSServer -login:uname@domain,password >> $1/logs/get.log
tf workspace -delete BuildScript -server:http://TFSServer -login:uname@domain,password >> $1/logs/wsdelete2.log
#pump the tfs landing folder to the next step in the Automator script.
echo $1/Projects/$2
最佳答案
作为Louis状态,XCode 当前不为我们提供可公开访问的插件模型 (Teamprise) 来提供 TFS 集成 - 这是我们愿意做的事情。
我们已经尝试了一些 hack - 例如假装是 Perforce 命令行并改为与 TFS 交谈,但是这些内部概念证明到目前为止还没有很好地工作 - 特别是当我们想要理想地以某种方式链接工作项跟踪,以便您可以将签到与错误等相关联。
今天,我们大多数使用 Teamprise 从 XCode 与 TFS 对话的客户要么使用独立的 UI 工具 (Teamprise Explorer),要么像您建议的那样执行 Automator 操作以连接到 tf command line .
很抱歉这不是一次很棒的体验。我只能建议你 file a bug with Apple为 SCM 系统提供插件模型以挂接到 XCode。希望如果有大量的开发者需求,那么我们可能会比仅仅请求它更幸运。
关于iphone - 如何使用 TFS 进行 iPhone 开发?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1334411/