2016-12-29 35 views
0

我正在使用C#,Xamarin 6.1.3,iOS 10.2,iPhone 6s Plus,Xcode 8.2,OS X El Capitan 10.11.6編寫移動自動測試。 我試圖在模擬器上使用以下命令啓動測試:如何簽署現有的.ipa或應用程序。提供配置文件

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.Green的解決this answer還致力於解決您的問題:

重新簽名使用Xamarin測試記錄的IPA

一種選擇,你可以使用使用Xamarin測試記錄注入葫蘆和再 - 簽署您的IPA:https://developer.xamarin.com/guides/testcloud/testrecorder/

將IPA加載到測試記錄器中後,它將在與原始IPA相同的位置創建一個新的重新簽名的IPA,名稱前面加上「xtr-」所以:

  • myAwesomeApp.ipa(原IPA)
  • xtr-myAwesomeApp.ipa(IPA,重籤,注射用葫蘆)

事情需要提防

  • IPA續約 - 的mac執行辭職需要在其鑰匙串中安裝有效的簽名標識和配置文件,包括應用程序使用的所有權利。

  • 含有葫蘆任何IPA將通過iOS應用商店被拒絕 - 這是真正的無論用什麼方法來葫蘆添加到IPA,但重要的是要記住。在上面的示例中,您將使用xtr-myAwesomeApp.ipa進行測試,並將myAwesomeApp.ipa本身提交到應用商店。

相關問題