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!