2016-12-29 79 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本身提交到应用商店。

相关问题