무함마드의 답변은 매우 도움이되었습니다 (그리고 내 문제를 해결하는 데 도움이되었습니다). 그러나 >>>>>>> ======= <<<<<<<를 제거하는 것만으로는 project.pbxproj (나를 위해)의 구문 분석 문제를 해결하기에 충분하지 않았습니다. 병합 후.
project.pbxproj 파일의 PBXGroup 섹션에서 병합 충돌이 발생했습니다 (시작은 다음과 같은 블록 주석으로 표시됩니다 : / * Begin PBXGroup section * /). 그러나 내가 만난 문제는 project.pbxproj 파일의 다른 위치에서도 발생할 수 있습니다.
다음은 내가 만난 병합 충돌의 단순화입니다.
<<<<<<< HEAD
id = {
isa = PBXGroup;
children = (
id
);
name = "Your Group Name";
=======
id = {
isa = PBXGroup;
children = (
id
);
name = "Your Group Name";
>>>>>>> branch name
sourceTree = "<group>";
};
병합 충돌 마커를 제거했을 때 다음과 같이 남았습니다.
id = {
isa = PBXGroup;
children = (
id
);
name = "Your Group Name";
id = {
isa = PBXGroup;
children = (
id
);
name = "Your Group Name";
sourceTree = "<group>";
};
일반적으로 병합 충돌 마커를 제거하면 project.pbxproj 파일의 구문 분석 문제가 해결되고 작업 영역 무결성이 복원됩니다. 이번에는 그렇지 않았습니다.
다음은 문제를 해결하기 위해 내가 한 일입니다.
id = {
isa = PBXGroup;
children = (
id
);
name = "Your Group Name";
sourceTree = "<group>";
};
id = {
isa = PBXGroup;
children = (
id
);
name = "Your Group Name";
sourceTree = "<group>";
};
실제로 첫 번째 PBXGroup 끝에 두 줄을 추가해야했습니다.
Head 또는 병합 브랜치에서 변경 사항을 삭제하도록 선택했다면 구문 분석 문제가 없었을 것입니다! 그러나 제 경우에는 각 분기에서 추가 한 두 그룹을 모두 유지하고 싶었고 단순히 병합 마커를 제거하는 것만으로는 충분하지 않았습니다. 올바른 형식을 유지하려면 project.pbxproj 파일에 추가 줄을 추가해야했습니다.
따라서 병합 충돌을 모두 해결했다고 생각한 후 구문 분석 문제가 발생하는 경우 .pbxproj를 자세히 살펴보고 서식 문제가 없는지 확인하는 것이 좋습니다.