2011-03-03 1 views
1

작은 개발자 그룹 테스터 용 빌드를 만들어서 iTunes Connect에 제출하기 전에 내 앱에서 베타 테스트를 수행하려고합니다. . 나는 Technical Note TN2250 on Ad Hoc distribution과 무수한 블로그 포스트와 스택 오버 플로우 기사뿐만 아니라 "Distributing Your App for Testing (개발자에게이 책을 읽으려면 Apple에 등록해야 할 수도 있음)을 읽었지만 지금까지는 성공하지 못했습니다. 자격이 유효하지 않기 때문에 앱 XXX가 설치되지 않았습니다 ...

  • 나는 아이폰 OS 프로비저닝 포털에서 프로필을 프로비저닝 개발 을 만들었습니다
    • 이, 그리고 을 포함 (내가 엑스 코드 3.2.5을 실행하는거야.) :

      단계 내가 찍은 모든 테스터 용 장치.

    • 은 내가이 프로필을 다운로드하여 는 주최자 창에 을 드래그하여 엑스 코드로 설치, 나는 나는 "코드 로이 프로파일을 설정 한
    • 개발> 프로비저닝 프로필에서 프로필을 볼 수 있습니다 서명 아이덴티티> 모든 아이폰 OS "를 제외하고 모든 행을 삭제"아이폰 인 타이틀먼트 PLIST "
    • 은 내가 Entitlements.plist 파일을 만든 프로젝트와 대상 모두 설정에서이 에 재산 목록 유형을 설정"할 수 디버그 "하고 선택하지 않은
    • 내가 프로젝트 및 목표 설정을 모두 에
    • 내가 "빌드 및 아카이브 '한'D를 (정확한 대소 문자를 구별 이름) Entitlements.plist하기 위해" 인 타이틀먼트 서명 코드 "를 설정 한
    • 내 프로젝트 구성 도우미 창에서
    • , 내가 을했습니다 선택한 내 프로젝트 &는 '공유 ... " 을 클릭 같은 프로비저닝 프로파일 위에서 사용을 선택하고 디스크에 결과 .ipa 내가했습니다
    • 저장된 .ipa와을 압축했습니다. 0 zip 파일 과에 프로비저닝 프로파일을 내 테스터에게 전자 우편으로

    테스터가 있습니다

    • 압축이 풀린 파일이 내가
    • 단지에 .ipa를 드래그하여 설치를 시도 전송 iTunes를
    • 처음
    동기화 아이튠즈에 .mobileprofile 및 을 드래그하여 설치를 시도 동기화 어느 경우

    은 동기화의 끝에서, 그들은 "는 자격이 유효하지 않기 때문에.에서 [자신의 기기 및 장치 이름]에 설치되지 않은 응용 [내 응용 프로그램 이름]"대화 독서를 얻을 수

    마지막 가을에 똑같은 테스터에게 이전 버전의이 앱을 배포 할 수 있었다는 사실에 주목할 필요가 있습니다. Xcode를 업그레이드하는 것 이외에 무엇이 변경되었는지 확신 할 수 없습니다.

    누구나 통찰력을 제공하거나 내가 잘못하고있는 것을 볼 수 있습니까?

    는 [I은 애플의 개발자 포럼에 게시하고 다시 게시됩니다 어떤 솔루션 여기.]

  • 답변

    1

    을 * .ipa 파일이 이미 프로비저닝 프로파일을 포함해야합니다. zip 유틸리티를 사용하면 Windows 시스템에서 쉽게 확인할 수 있습니다. 이 파일은 확장자가 다른 zip 아카이브 일뿐입니다.

    기기가 애플리케이션의 올바른 iOS 버전에 있습니까?

    Setting > General > Profiles의 장치에서 문제를 해결하기 위해 설치 한 프로비저닝 프로파일의 목록을 볼 수 있습니다. 새로운 장치를 추가 할 때 생성되는 모든 새 인증서로 여러 복사본을 얻을 수 있습니다. 모든 프로필을 삭제하고 최신 프로필이 추가되었는지 확인하는 것이 좋습니다.

    빌드를 수행 할 때 빌드 결과 오른쪽에서 Open These Latest Results as Transcript Text File을 선택한 다음 CodeSign을 검색하면 해당 단계의 결과가 표시되어 어떤 프로필이 사용되었는지 분명히 알 수 있습니다. Entitlements.plist를 검색하여 사용 된 경로를 확인한 다음 해당 파일을 볼 수도 있습니다.

    모든 행이 삭제되었다고합니다. Can be debugged 항목이 없지만 코드 번호 관련 코드가 꽤 들리는 application-identifierkeychain-access-group이 있습니다. 시도해 볼 수있는 파일의 일반 텍스트 버전은 다음과 같습니다.

    <?xml version="1.0" encoding="UTF-8"?> 
    <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> 
    <plist version="1.0"> 
    <dict> 
        <!--- Required entitlements (in most cases shouldn't be changed) ---> 
        <key>application-identifier</key> 
        <string>$(AppIdentifierPrefix)$(CFBundleIdentifier)</string> 
        <key>keychain-access-groups</key> 
        <array> 
         <string>$(AppIdentifierPrefix)$(CFBundleIdentifier)</string> 
        </array> 
    
        <!--- Custom entitlements below ---> 
    
    
    </dict> 
    </plist> 
    

    잘못된 것으로 보이는 것이 있다면 Apple이 배포 빌드를 준비하는 단계입니다.

    1. 대상을 선택하고 빌드 설정 관리자를 엽니 다. 배포 구성에서 인지 확인하십시오.
    2. 코드 서명 ID 삭제 : iOS 배포 : COMPANYNAME
    3. Xcode 빌드 메뉴에서 모든 대상 삭제를 선택합니다.
    4. Finder를 사용하여 Xcode 프로젝트의 기존 빌드 디렉토리를 삭제하십시오.
    5. Xcode를 다시 실행하고 프로젝트를 엽니 다.
    6. 대상 빌드 설정 검사기에서 코드 서명 ID iOS 배포 : COMPANYNAME을 다시 입력하십시오.
    7. 프로젝트를 다시 빌드하십시오.

    희망 사항 중 일부는 아 - 하하하를 돕기를 원합니다. 순간.

    +0

    좋은 답변입니다. 통찰력과 조언에 감사드립니다. 궁극적으로 마지막 섹션 (_really_ 클린 빌드를 수행하는 방법)이이 트릭을 수행 한 것으로 보입니다. 인 타이틀먼트에 대한 다른 노트를 기반으로 실제로 프로젝트에서 모든 인 타이틀먼트를 제거했습니다. 나는 "get-task-allow"권한 부여 (현재 XCode에서 "디버그 가능"이라고 함)의 중요성에 대해 언급 한 다른 블로그를 발견했지만 현재 문서에서는 언급하지 않습니다. 분명히 지금은 필요하지 않습니다. (적어도 내 현재의 경험이다.) – AndrewCr

    0
    1. 이동에 대한 자세한 정보를 참조하고 로그인 선택 "프로비저닝 프로파일", "개발중인
    2. . . "
    3. 프로비저닝 프로파일을 두 번 클릭하여 엽니 다.
    4. 표시됩니다. "App ID: somenameyouwrote(com.somenameyouwrote)"
    5. 대괄호 사이에 정확히 무엇을 적어주세요."com.somenameyouwrote"
    6. XCode에서 .plist 파일을 엽니 다. 당신은 엑스 코드에서 5 단계
    7. 에서 적어 어떤 "bundle identifier:" 유형에서
    8. "Targets"으로 화살표를 쳐 두 번 귀하의 AP의 이름을 부담합니다 대상을 클릭합니다.
    9. 열리는 대상 정보 창에 "Build"이 선택되어 있는지 확인하십시오.
    10. "Code Signing Identity"을 열고 그 아래에 "Any iOS"을 선택하십시오.
    11. "Any iOS" 오른쪽에 pl 식별자에 기록한 프로파일 식별자와 일치하는 나열된 프로파일을 선택하십시오.
    12. BAM! 끝장이야!