關于project.pbxproj的沖突問題
- 關于project.pbxproj的沖突問題
-
-
-
- 問題原因
- 解決方案
-
-
關于project.pbxproj的沖突問題
一般使用git pull之後遇到沖突時網上給出的解決方案基本都是進入project.pbxproj檔案中搜尋<<<<<<、======、>>>>>>然後替換.
但是最近這次發現不管用了還是報了could not load object的問題.
在仔細翻過了每一個沖突的地方發現了問題的原因
問題原因
當你與你的同僚在同一個目錄下面建立了不同的group的時候.在project.pbxproj中展現如下
此時上面是正常情況.但是如果你把代碼送出到git上之後你再同步下來時.有可能出現這種情況
<<<<<<
F0D3B90421ED8905003EA6EA /* JJPhotoViewer */ = {
isa = PBXGroup;
children = (
F0D3B90521ED8905003EA6EA /* JJPhotoManeger.h */,
F0D3B90621ED8905003EA6EA /* JJMainScrollView.h */,
F0D3B90721ED8905003EA6EA /* JJOneScrollView.h */,
F0D3B90821ED8905003EA6EA /* JJPhoto.h */,
F0D3B90921ED8905003EA6EA /* JJOneScrollView.m */,
F0D3B90A21ED8905003EA6EA /* JJMainScrollView.m */,
F0D3B90B21ED8905003EA6EA /* JJPhotoManeger.m */,
F0D3B90C21ED8905003EA6EA /* JJPhoto.m */,
F0D3B90D21ED8905003EA6EA /* none.png */,
);
path = JJPhotoViewer;
=======
F0D3B92F21EDB16B003EA6EA /* StoreManager */ = {
isa = PBXGroup;
children = (
F0D3B93021EDB18D003EA6EA /* CPStoreMainViewController.h */,
F0D3B93121EDB18D003EA6EA /* CPStoreMainViewController.m */,
F0DAAF0121F0554E00568A78 /* CPDeleteCollectViewController.h */,
F0DAAF0221F0554E00568A78 /* CPDeleteCollectViewController.m */,
F0DAAF0321F0554E00568A78 /* CPDeleteCollectViewController.xib */,
F0DAAF0621F0600400568A78 /* CPStoreEditViewController.h */,
F0DAAF0721F0600400568A78 /* CPStoreEditViewController.m */,
F0DAAF0821F0600400568A78 /* CPStoreEditViewController.xib */,
);
path = StoreManager;
>>>>>>HEAD
sourceTree = "<group>";
};
解決方案
此時單純的删除<<<<<、======、>>>>>>是沒有用的 因為兩段沖突的代碼共用了兩行代碼
sourceTree = "<group>";
};
即這兩行、此時隻需要複制這兩行、然後之前的操作不變、然後在第一個group的末尾插入這兩行代碼即可.