2012-10-19 33 views
1

我的“project.pbxproj”处于版本控制之下。 Xcode不断更改通过子项目链接的库的remoteGlobalIDStringXcode更改remoteGlobalIDString - 如何避免?

有没有其他人有这个问题?如果是的话,我能做些什么呢?

5A1F61F5162C0F6B001ABF64 /* PBXContainerItemProxy */ = { 
     isa = PBXContainerItemProxy; 
     containerPortal = 5A0A1B5816147A4A00C65C6D /* MyReferencedSubProject.xcodeproj */; 
     proxyType = 1; 
     remoteGlobalIDString = 235B356E47F64C9DB6D76F45; << THIS CHANGES ALL THE TIME 
     remoteInfo = MyLibInMySubProject; 
    }; 
+0

我才意识到这似乎是相关的事实,'MyLibInMySubProject'为目标的依赖。 –

回答

0

唯一的办法解决这个问题对我来说是改写由CMake的生成的项目的UUID:

YOUR_TARGET_UUID=$(grep -E -m 1 '[A-F0-9]{24} \/\* YOUR_TARGET \*\/ = {' \ 
        "Project.xcodeproj/project.pbxproj" | \ 
       grep -o -E '[A-F0-9]{24}') 
sed -i '' "s/${YOUR_TARGET_UUID}/00000000DEADBEEF00000000/g" \ 
      "Project.xcodeproj/project.pbxproj"