如何签署现有的.ipa或应用程序。提供配置文件
问题描述:
我正在使用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文件,我要签名,以使其能够在应用程序上运行测试。可能吗?
答
@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
本身提交到应用商店。
的可能的复制[如何重新签署IPA文件?(http://stackoverflow.com/questions/5160863/how-to-re-sign-the-ipa-file) – Demitrian
什么文件你最初是.app还是一个.ipa文件?另外,你从哪里直接从原始开发者那里获得文件,或者从应用商店获得了文件? –