天天看點

關于project.pbxproj的沖突問題關于project.pbxproj的沖突問題

關于project.pbxproj的沖突問題

  • 關于project.pbxproj的沖突問題
        • 問題原因
        • 解決方案

關于project.pbxproj的沖突問題

一般使用git pull之後遇到沖突時網上給出的解決方案基本都是進入project.pbxproj檔案中搜尋<<<<<<、======、>>>>>>然後替換.

但是最近這次發現不管用了還是報了could not load object的問題.

在仔細翻過了每一個沖突的地方發現了問題的原因

問題原因

當你與你的同僚在同一個目錄下面建立了不同的group的時候.在project.pbxproj中展現如下

關于project.pbxproj的沖突問題關于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的末尾插入這兩行代碼即可.