2017-05-03 21 views
0

Google에 엔터프라이즈 앱이 있습니다. 새로운 사용자는 콘솔이 얻을 :신규 사용자를 위해 앱을 다운로드 할 수 없습니다. 기존 사용자는 다시 설치할 수 있습니다.

May 3 10:16:48 Super-iPhone installd(MobileSystemServices)[3184] <Notice>: 0x16e037000 +[MICodeSigningVerifier _validateSignatureAndCopyInfoForURL:withOptions:error:]: 147: Failed to verify code signature of /private/var/installd/Library/Caches/com.apple.mobile.installd.staging/temp.T5yQJd/extracted/Payload/myapp.app : 0xe8008015 (A valid provisioning profile for this executable was not found.) May 3 10:16:48 Super-iPhone installd(MobileSystemServices)[3184] <Notice>: 0x16e037000 -[MIInstaller performInstallationWithError:]: Verification stage failed

하지만 이미 여전히 응용 프로그램을 설치할 수있는 응용 프로그램을 사용자가 (다시 설치). 앱을 실행하고 다른 화면으로 이동 한 다음 다시 설치하기 위해 브라우저로 전환하여 다시 설치되었는지 확인합니다. 재설치 (홈 화면에서 진행 표시기보기) 후 앱을 다시 열면 입구에서 시작됩니다.

내가 의심스러운 것으로 인증서 &과 관련된 프로비저닝이라면 왜 기존 사용자가 프로비저닝을 다시 다운로드 할 수 있습니까?

답변

0

.ipa에 포함 된 프로비저닝 프로파일이 누락되었거나 유효하지 않거나 손상되었거나 만료 된 것 같습니다. 엔터프라이즈 .ipa의 압축을 풀고 Payload/myapp.app/embedded.mobileprovision 파일을 엽니 다.이 파일은 바이너리이지만 대부분의 텍스트 편집기에서 볼 수있는 일반 텍스트 XML 덩어리를 포함합니다. 응용 프로그램 식별자가 응용 프로그램 번들 ID와 일치하는지 확인하고 ExpirationDate를 포함한 다른 필드가 유효한지 확인합니다.

기존의 유효한 프로필 위에 앱을 설치하는 이유는 이전의 유효 한 프로비저닝 프로필이 이전의 .ipa에서 여전히 존재할 가능성이 높기 때문입니다. 이렇게하면 앱의 새 버전 (특히 앱 번들 ID 기반)을 설치하고 실행할 수 있습니다. 이를 확인하려면 항상 Apple Configurator 2를 사용하고 설치된 프로파일을 볼 장치를 선택하십시오. 작업 장치에서 프로비져닝 프로파일을 삭제하고 설치를 다시 시도하면 실패 할 것으로 판단됩니다.

+0

.ipa 다운로드에서 제공되는 프로파일은 2017 년 12 월까지 적용되지 않습니다. – quantumpotato

+0

응용 프로그램 식별자가 올바르게 보이고 접두어 (com.company.app의 tbefore *에 해당하는 접두어)와 일치합니다. – quantumpotato

+0

그래서 다음 보이는 곳은 사용 된 서명과 인증서를 검사하는 것입니다 - 마지막 빌드 또는 프로비저닝 프로파일이 생성 된 이후에 변경되었거나 취소 된 것이 가능한가? 여러분이 찾는 데 도움이되는 유용한 명령어로는 "cms -D -i embedded.mobileprovision"보안 코드와 "codesign -dvvv myapp.app"(압축 해제 된 페이로드 디렉토리에서)를 깔끔하게 구문 분석하여 코드 서명의 유효성을 검증하고 신뢰를 나타냅니다 관계. – TendrilSix