답변:
xcode 프로젝트 파일이 엉망이되는 경우가 있습니다. 특히 오래된 프로젝트가 있고 이전 버전의 xcode / iphone sdk로 생성 한 경우 특히 그렇습니다. 당신이해야 할 일은 텍스트 편집기에서 프로젝트 파일을 열고 오류에서 '긴 문자열'을 검색하고 해당 줄을 수동으로 지우는 것입니다. 실제로 프로비저닝 프로파일을 가리키는 모든 라인을 지워야합니다. 그런 다음 xcode에서 프로젝트를 다시 열고 설정으로 이동하여 새 프로필을 다시 선택하십시오. 이를 통해 대부분의 경우 이와 같은 문제가 해결됩니다. 프로비저닝 프로파일을 가리키는 라인은 다음과 같습니다.
PROVISIONING_PROFILE = "487F3EAC-05FB-4A2A-9EA0-31F1F35760EB";
"PROVISIONING_PROFILE[sdk=iphoneos*]" = "487F3EAC-05FB-4A2A-9EA0-31F1F35760EB";
나를 위해 일했고 프로젝트 파일을 수동으로 편집 할 필요가없는 간단한 솔루션이 있습니다.
XCode의 "그룹 및 파일"창에서 "대상"을 확장하고 앱의 대상을 두 번 클릭하십시오. 그러면 대상에 대한 정보 창이 나타납니다. "빌드"섹션에서 이전 프로파일에 대한 "코드 서명"섹션을 확인하고 올바른 프로파일로 바꾸십시오.
이는 프로젝트 아이콘을 두 번 클릭하고 프로필을 변경하는 것과 다릅니다. 아주 놀라운 :)
오리
프로젝트 및 대상 속성-> "프로 비전 프로필"-> 확인
모든 것이 다시 작동합니다!
Brad의 대답에 동의합니다. 대상 / 프로젝트를 직접 편집하고 다음과 같은 줄을 삭제 하여이 문제를 해결할 수 있습니다.
PROVISIONING_PROFILE = "487F3EAC-05FB-4A2A-9EA0-31F1F35760EB";
"PROVISIONING_PROFILE[sdk=iphoneos*]" = "487F3EAC-05FB-4A2A-9EA0-31F1F35760EB";
그러나 Xcode 4.2 이상에서는이 텍스트에 액세스하여 선택하고 삭제할 수있는 훨씬 쉬운 방법이 있습니다. 왼쪽의 프로젝트 네비게이터에서 프로젝트 (프로젝트 네비게이터의 맨 위 줄)를 선택하십시오. 이제보기> 버전 편집기> 버전 편집기 표시를 선택하십시오. 그러면 프로젝트가 텍스트로 표시되고 Xcode의 편집기 창에서 PROVISIONING을 검색하고 번거로운 줄을 삭제할 수 있습니다.
제 경우에는 Window-> Organizer를 열고 장치를 선택하고 오른쪽의 "Provisioning"패널에서 이전 프로비저닝 프로파일을 제거하여 문제를 해결했습니다. 오래된 것은 이미 빨간색 "x"기호로 표시되었지만 iPhone은 여전히 사용하고 있습니다.
그 프로파일 외에도 새로운 프로파일 (같은 이름으로)이 나타 났으며 응용 프로그램을 다시 시작한 후 원활하게 실행했습니다.
브래드의 조언과 몇 가지 추가 변경 사항을 사용 하여이 작업을 한 시간 정도 보냈습니다.
10.7.3, Xcode 4.3.2, iOS 5.1 btw를 사용 하여이 작업을 수행했습니다.
1) 마우스 오른쪽 버튼으로 클릭 myapp.xcodeproj
하고 패키지 내용을 선택하십시오.
2) project.pbxproj
텍스트 편집기를 사용하여 엽니 다 (형식을 망칠 수 있으므로 텍스트 편집을 권장하지 않습니다)
3) 찾을 때까지 끝까지 스크롤하십시오. /* Begin XCBuildConfiguration section */
4) 디버그 및 릴리스 섹션이 있습니다.
에서 5) 자료 섹션에서 살펴 CODE_SIGN_IDENTITY
및 "CODE_SIGN_IDENTITY[sdk=iphoneos*]"
그 모양은 다음과 같습니다
CODE_SIGN_IDENTITY = "iPhone Distribution: MyCompany LLC";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Distribution: MyCompany LLC";
6) 한 번 봐 PROVISIONING_PROFILE
와 "PROVISIONING_PROFILE[sdk=iphoneos*]"
같이 보일 것이다 :
PROVISIONING_PROFILE = "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX";
"PROVISIONING_PROFILE[sdk=iphoneos*]" = "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX";
Xcode의 프로비저닝 프로파일과 일치해야합니다. Xcode> Window> Organizer> Devices> Provisioning Profiles와 일치하는지 확인하려면 프로파일을 마우스 오른쪽 버튼으로 클릭하고 Finder에서 공개> .mobileprovision의 파일 이름은 프로파일 ID입니다.
7) 아래로 스크롤 project.pbxproj
하여 릴리스 섹션의 두 번째 인스턴스를 찾으십시오. 릴리스 섹션의 두 번째 인스턴스는 다음과 같은 주석으로 끝나야합니다./* End XCBuildConfiguration section */
8) 두 번째 섹션은 그래서 첫 번째 섹션과 일치하는지 확인 CODE_SIGN_IDENTITY, "CODE_SIGN_IDENTITY[sdk=iphoneos*]
하고, PROVISIONING_PROFILE
모든 채워집니다.
불행히도이 접근법은 나에게 적합하지 않았습니다. 그러나 여기 나를 위해 일한 수정 프로그램이 있습니다 (이 작업을 수행하려면 Subversion에서 작업중 인 프로젝트 파일이 필요합니다).
작업 버전의 프로젝트 파일로 롤백했습니다. 이 엑스 코드로 되돌릴 수 없습니다로 ( 엑스 코드 4의 소스 제어에서 '되돌리기'옵션입니까? ) - 나는 거북이, 내 Windows 시스템이 튜토리얼 (사용 http://tortoisesvn.net/docs/nightly/TortoiseSVN_en를 /tsvn-howto-rollback.html 이전 프로젝트 파일로 롤백하려면 )
튜토리얼이 나에게 도움이되지 않았기 때문에 Tortoise를 사용하여 프로젝트 파일의 작업 개정판을 USB 스틱에 저장하여 Mac으로 이식했습니다. 그 후 새로운 깨진 프로젝트 파일을 이전 작업 파일로 바꾸고 청소하고 매력처럼 작동했습니다!
TestFlight에서 사용할 새 장치로 AdHoc 프로비저닝 프로파일을 업데이트했기 때문에 문제가 발생했습니다. xcode에 프로젝트 또는 대상의 공동 디자인 빌드 설정에서 프로비저닝 프로파일에 대한 이전 참조가 있기 때문에 이러한 상황이 발생합니다. 내가 수정 한 방식은 다음과 같습니다.