2016-12-29 4 views
0

Ich schreibe mobile Autotests mit C#, Xamarin 6.1.3., iOS 10,2, iPhone 6s Plus, Xcode 8.2, OS X El Capitan 10.11.6. Ich versuche, Tests auf Simulator mit dem folgenden Befehl zu starten:So signieren Sie bestehende .ipa oder App. mit Provisioning-Profil

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

Ich habe die folgende Fehlermeldung anzeigt:

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: 

Also ich, nicht Quellcode der Anwendung haben, aber ich brauche in .app oder .ipa Datei signieren, die ich habe, machen es möglich, Führen Sie Tests für die Anwendung aus. Ist es möglich?

+2

Mögliches Duplikat [Wie die IPV-Datei neu zu unterschreiben?] (Http://stackoverflow.com/questions/5160863/how-to-re-sign-the-ipa-file) – Demitrian

+0

Welche Datei Hast du ursprünglich eine .app- oder eine .ipa-Datei erhalten? Woher hast du die Datei auch direkt vom ursprünglichen Entwickler oder vom App Store? –

Antwort

1

@Kent.Green ‚s Lösung this answer funktioniert auch Ihr Problem zu lösen:

Re-Unterzeichnung einen IPA mit Xamarin Test-Recorder

Eine Option, die Sie verwenden können, ist die Xamarin Test-Recorder mit Calabash zu injizieren und wieder -Zeichen Ihre IPA: https://developer.xamarin.com/guides/testcloud/testrecorder/

Nachdem Sie das IPA in den Test Recorder laden, wird es eine neue, neu signiert IPA es an der gleichen Stelle wie das Original IPA, mit dem mit „xtr-“ vorangestellt Namen erstellen wie so:

  • myAwesomeApp.ipa (original IPA)
  • xtr-myAwesomeApp.ipa (IPA, neu signiert, mit Calabash injiziert)

Dinge zu achten

  • IPA Re-Signing - The mac, das die Kündigung durchführt, muss eine gültige Signaturidentität und ein entsprechendes Provisioningprofil in seinem Schlüsselbund installiert haben, einschließlich aller Berechtigungen, die von der App verwendet werden.

  • Alle IPA Calabash enthält, wird durch die iOS App Store abgelehnt werden - Dies gilt unabhängig davon, welche Methode verwendet wird Calabash dem IPA hinzuzufügen, aber es ist wichtig, sich zu erinnern. Im obigen Beispiel würden Sie mit xtr-myAwesomeApp.ipa testen und myAwesomeApp.ipa selbst an den App Store übermitteln.

Verwandte Themen