How can I use TFS to develop an iPhone?

I struggled with how to use TFS as the source code repository for iPhone development.

My boss will never let me use Subversion (or God forbid Perforce), so I'm stuck with source control of TFS.

The solution is to go buy the tools to connect your Mac to TFS, and I'm not trying to advertise here, but Teamprise Client Suite for Mac OS X is the bridge between Mac OS X and TFS.

There is no integration between Xcode and TFS for standard checks and developer workflow. You must do all this manually through the Teamprise Explorer client.

For assembly, it turns out that Automator and the Teamprise command-line client do the trick.

Is there an Xcode to TFS bridge there? What source control system do you use to develop your iPhone?

The key for me is the following bash script built into the Automator workflow.

% 1 = Local folder for code execution. % 2 = The name of the project for which to delay.

This script assumes that the Teamprise command-line client is set to ~ / 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 
+6
bash tfs iphone
source share
3 answers

As Louis states, Xcode currently does not provide a publicly accessible plug-in model for us ( Teamprise ) to enable TFS integration - this is what we would like to do.

We experimented with several hacks - for example, pretending to be a Perforce command line and instead talking to TFS, but this internal proof of concepts still hasn’t worked out very well - especially since we would ideally have work item tracking, one way or another connected so that you can associate check-ins with errors, etc.

Today, most of our customers who use Teamprise to communicate with TFS from Xcode do this either using the standalone user interface tool ( Teamprise Explorer ) or take Automator actions, as you suggest connecting to the tf command line .

Sorry that this is not a great experience. All I can offer is that you create a bug with Apple to provide a plug-in model for SCM systems to connect to Xcode. I hope that if there is a significant demand for the developer, we may be more fortunate than just asking for it.

+7
source share

While inside Xcode uses a plug-in system to support various version control systems, it is not public or documented. Apart from minimal support, such as running some command line scripts, there is no supported way to use any version control systems except for those Xcode ships.

You must report the error to Apple by requiring native TFS support or a supported VCS plug-in for Xcode.

In any case, in the short term, I do not think that you will find a satisfactory solution to your problem.

+3
source share

If you must integrate with a TFS server, the best thing to do at the moment is to use SVNBridge and then connect to the bridge through the built-in Xcode subversion features.

In addition, installing the VisualSVN server for the first time took less than 15 minutes for a basic installation, and another ten or so to configure users and obtain an SSL certificate signed by our company's root certificate. Try it, it was very simple.

+3
source share

All Articles