Note that there are some explanatory texts on larger screens.

plurals
  1. POHow can I use TFS for iPhone development?
    text
    copied!<p>I was struggling with how to use TFS as a source code repository for iPhone development.</p> <p>My boss will never let me use Subversion (or God forbid Perforce), so I was stuck with TFS source control.</p> <p>The solution is to go and buy tools to bridge Mac to TFS, and I am not trying to advertise here, but the Teamprise Client Suite for Mac OS X is the bridge between Mac OS X and TFS.</p> <p>For standard check-ins and developer workflow, there is no integration between Xcode and TFS. You have to do it all manually through the Teamprise Explorer client.</p> <p>For builds, it turns out that Automator and the Teamprise Command Line client do the trick.</p> <p>Is there some Xcode to TFS bridge out there? What source code control system are you using for iPhone development?</p> <p>The key for me is the following bash script embedded in an Automator workflow.</p> <p>%1 = Local folder to do a code pull to. %2 = Project Name to do the pull from.</p> <p>This script assumes the Teamprise Command Line Client is installed to ~/Teamprise</p> <pre><code>PATH="$PATH:~/Teamprise:~/Teamprise/lib" cd "$1" mkdir "$1/logs" tf workspace -delete BuildScript -server:http://TFSServer -login:uname@domain,password &gt;&gt; $1/logs/wsdelete1.log tf workspace -new BuildScript -server:http://TFSServer -login:uname@domain,password &gt;&gt; $1/logs/wscreate.log tf workfold -map "$/TFSRoot" . -workspace:BuildScript -server:http://TFSServer -login:uname@domain,password &gt;&gt; $1/logs/workfold.log tf get "$/TFSRoot/$2" -all -recursive -server:http://TFSServer -login:uname@domain,password &gt;&gt; $1/logs/get.log tf workspace -delete BuildScript -server:http://TFSServer -login:uname@domain,password &gt;&gt; $1/logs/wsdelete2.log #pump the tfs landing folder to the next step in the Automator script. echo $1/Projects/$2 </code></pre>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload