Workspace frameworks added to a project reference user-specific paths

Originator:bwhiteley
Number:rdar://20786955 Date Originated:07-May-2015
Status:Duplicate of 10292666 Resolved:
Product:Developer Tools Product Version:Xcode 7
Classification:Serious Bug Reproducible:Always
 
Summary:
If you have a workspace with an app and some frameworks, and you try to link the app with the frameworks, you end up with stuff like this in the project file:

/* Begin PBXFileReference section */
...
                CCBD938C1AF286C600711ECA /* Box.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Box.framework; path = "../../Library/Developer/Xcode/DerivedData/FTest-cnhklbjpgbtngkbwulkbpzxzdrqn/Build/Products/Debug-iphoneos/Box.framework"; sourceTree = "<group>"; };
                CCBD938E1AF286D200711ECA /* Result.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Result.framework; path = "../../Library/Developer/Xcode/DerivedData/FTest-cnhklbjpgbtngkbwulkbpzxzdrqn/Build/Products/Debug-iphoneos/Result.framework"; sourceTree = "<group>"; };
/* End PBXFileReference section */

Observe that those paths won't work once a co-worker tries to build the project, because the derived data path will be different. 

You can fix it by editing the project file with a text editor:
                CCBD938C1AF286C600711ECA /* Box.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Box.framework; path = Box.framework; sourceTree = BUILT_PRODUCTS_DIR; };
                CCBD938E1AF286D200711ECA /* Result.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Result.framework; path = Result.framework; sourceTree = BUILT_PRODUCTS_DIR; };
/* End PBXFileReference section */

Note that both "path" and "sourceTree" were changed.

Steps to Reproduce:
1. Create a new ios app project. 
2. Create a workspace. 
3. Add the project to the workspace. 
4. Add a dynamic framework project to the workspace. 
5. Add the framework to the app target's Linked Frameworks and Libraries. 
6. Push changes. 
7. Have your teammate try to build. 
8. Look at the project file and see the problem. 

Expected Results:
Project file should have paths that resolve for anyone who clones the project. 

Actual Results:
Project file has user-specific paths. 

Version:
Xcode 6.3.1 and Xcode 6.4 beta

Notes:


Configuration:
Xcode 6.3.1 and Xcode 6.4 beta

Comments


Please note: Reports posted here will not necessarily be seen by Apple. All problems should be submitted at bugreport.apple.com before they are posted here. Please only post information for Radars that you have filed yourself, and please do not include Apple confidential information in your posts. Thank you!