2016-12-29 13 views
0

저는 C#, Xamarin 6.1.3, iOS 10.2, iPhone 6s Plus, Xcode 8.2, OS X El Capitan 10.11.6을 사용하여 모바일 자동 테스트를 작성하고 있습니다. 다음 명령을 사용하여 시뮬레이터에서 테스트를 시작하려고합니다.기존 .ipa 또는 app에 서명하는 방법. 프로비저닝 프로파일 사용

IApp iApp = ConfigureApp.iOS.AppBundle (path_to_app/Application.app) .StartApp();

나는 다음과 같은 오류가있어 :

Calabash.XDB.Core.Exceptions.DeviceAgentException : Failed to install app /Volumes/Win7 Ultim/Framework/Atom.app 

ExitCode: 1 



     app: /Volumes/Win7 Ultim/Framework/Atom.app/PlugIns/AtomTests.xctest 
    identity: #<CodesignIdentity: - : AdHoc> 
/usr/bin/xcrun codesign -d --entitlements :- /Volumes/Win7 Ultim/Framework/Atom.app/PlugIns/AtomTests.xctest 
/usr/bin/xcrun codesign --verbose=4 --verify /Volumes/Win7 Ultim/Framework/Atom.app/Atom 
/Volumes/Win7 Ultim/Framework/Atom.app 
/Volumes/Win7 Ultim/Framework/Atom.app/PlugIns/AtomTests.xctest 
device UDID: 9E44D0FE-A3F9-4FC1-8635-20FB8AD20BA4 
Device UDID: 9E44D0FE-A3F9-4FC1-8635-20FB8AD20BA4 
ERROR: Error Domain=sh.calaba.iOSDeviceManger Code=5 "Code signing failed" UserInfo={NSLocalizedDescription=Code signing failed, NSLocalizedFailureReason=There was a problem code signing. Please check the logs.} 
Path to bundle: /Volumes/Win7 Ultim/Framework/Atom.app 
Could not extract entitlements from app: 
with command: 
    -a,--app-bundle <path/to/app-bundle.app> Path .app bundle (for .ipas, unzip and look inside of 'Payload') 
    -c,--codesign-identity <codesign-identity> [OPTIONAL] Identity used to codesign app bundle [device only] DEFAULT= 
    -d,--device-id <device-identifier> iOS Simulator GUIDs 
    -u,--update-app <true-or-false> [OPTIONAL] When true, will reinstall the app if the device contains an older version than the bundle specified DEFAULT=1 
install 
/Volumes/Win7 Ultim/Framework/Atom.app/Atom: code object is not signed at all 
/Volumes/Win7 Ultim/Framework/Atom.app/PlugIns/AtomTests.xctest: code object is not signed at all 
=== STDERR === 
=== STDERR === 
Could not find any Provisioning Profiles suitable for resigning 
Could not resign app bundle at path: 
Error resigning sim bundle 
In architecture: x86_64 
with command: 

그래서 내가 응용 프로그램의 소스 코드를 필요는 없습니다,하지만 난에 그것을 가능하게하기 위해, .APP 또는 내가 가지고 .ipa 파일에 로그인해야 응용 프로그램에서 테스트를 실행하십시오. 가능한가?

+2

가능한 복제 [방법 IPA 파일을 다시 서명?] (http://stackoverflow.com/questions/5160863/how-to-re-sign-the-ipa-file) – Demitrian

+0

어떤 파일 원래 .app 또는 .ipa 파일을 얻었습니까? 또한 원래 개발자가 직접 또는 앱 스토어에서 파일을 어디서 얻었습니까? –

답변

1

@Kent.Greenthis answer에의 솔루션은 문제를 해결하기 위해 작동합니다

재계약 자 마린 테스트 레코더를 사용하여 IPA를

하나는 호리병박 다시 주입하는 자 마린 테스트 레코더를 사용하고 사용할 수있는 옵션 당신의 IPA -sign : 당신이 테스트 레코더로 IPA를로드 한 후 https://developer.xamarin.com/guides/testcloud/testrecorder/

를,이 같은 "xtr-"로 앞에 붙은 이름으로, 원래 IPA와 같은 위치에 새 다시 서명 IPA를 만듭니다 그래서 :

  • myAwesomeApp.ipa
  • xtr-myAwesomeApp.ipa (IPA, 다시 서명, 호리병박 주입) (원본 IPA)이
    • IPA를 다시 서명 조심하는

    것들 - mac이 사임하는 것은 앱이 사용하는 권한을 포함하여 키 체인에 유효한 서명 ID와 프로비저닝 프로파일을 설치해야합니다. 이것은 IPA에 호리병박을 추가하는 데 사용됩니다 어떤 방법에 상관없이 사실입니다,하지만 기억하는 것이 중요 -

  • 는 호리병박을 포함하는 모든 IPA는 iOS 앱 스토어에 의해 거부됩니다. 위의 예에서는 xtr-myAwesomeApp.ipa으로 테스트하고 myAwesomeApp.ipa 자체를 앱 스토어에 제출합니다.