I’m trying to put together an automated build process for our project and I’m running into a total show-stopper.

When I attempt to build, the process started by the BuildPlayer method exits with the following error message…

Error building Player: FileNotFoundException: Could not find file “/Users/jeff/Public/CruiseControl/projects/****/Temp/StagingArea/iPhone-Trampoline/Unity-iPhone.xcodeproj/jeff.pbxuser”.

I executed the command line build function from inside the unity editor so that it wouldn’t delete the Temp folder after throwing the error and dug into it to try and figure out why I was getting the above error.

Inside the xcode project “file” (directory so far as my terminal cares) I found the file “user.pbxuser”.

So…unity is mis-naming the pbxuser file for some reason.

Does anyone know why Unity is doing this?

We’re still using Unity 3.4 if that makes a difference.
This is all done on a Mac running Snow Leopard.

I changed BuildOptions.AcceptExternalModificationsToPlayer to BuildOptions.None and no more error.

I don’t know why.

If you start Unity in a terminal like this:
USER=user open /Applications/Unity/Unity.app
the file generated will be: user.pbxuser
(it overrides your Unix user name)

if everyone who works on the project does this you can append your iOS build because everyone has the same naming of the pbxuser file.

I’ve seen the same problem a few times.

Possible solutions: