我有多个目标项目(QA,Staging等) . 所有目标都包括动态框架(比如使用bundle identifier:com.sdk.demosdk) . 对于某些目标,我正在使用这个用一些预处理器标志(干净)编译的sdk和其他用不同标志编译的sdk .

例如:对于QA - 我使用sdkFull进行QA - 我正在使用sdkClean

但两者都有相同的包标识符 .

但无论如何,对于测试目标,我总是运行包含sdkClean的目标 .

enter image description here

我正在使用fastlane scan 从Jenkins管道运行测试 . 看下面的代码:

lane :testify do |options|
  app = options[:app]
  podinstall
  scan(
      scheme: "DemoTests_" << app,
      code_coverage: true,
      xcargs: "OTHER_SWIFT_FLAGS='$(inherited) \"-D\" \"COCOAPODS\" -DAUTHENTICATION_PRODUCTION -Dappstore'",
      output_directory: "./fastlane/test_output_" << app,
      device:"iPhone 8"
  )
end

有时我会收到以下错误:

2018-07-17 02:48:23.975 xcodebuild [82663:24489158]错误Domain = IXUserPresentableErrorDomain Code = 1“此时无法安装此应用程序 . ” UserInfo = {NSLocalizedDescription =此时无法安装此应用 . ,NSUnderlyingError = 0x7fa8106dab80 {Error Domain = MIInstallerErrorDomain Code = 57“在/ Users / jenkins / Library / Developer / CoreSimulator / Devices / B4971F74-AE22-4A18-找到捆绑包B5F0-01E71AF71314 / data / Library / Caches / com.apple.mobile.installd.staging / temp.a0hOWi / extracted / Payload / DemoApp.app / Frameworks / demosdkCleanAPI.framework,具有相同的标识符(com.sdk.demosdk)作为bundle at /Users/jenkins/Library/Developer/CoreSimulator/Devices/B4971F74-AE22-4A18-B5F0-01E71AF71314/data/Library/Caches/com.apple.mobile.installd.staging/temp.a0hOWi/extracted/Payload/DemoApp . app / Frameworks / demosdk.framework“UserInfo = {LegacyErrorString = DuplicateIdentifier,FunctionName = - [MIInstallableBundle performPreflightWithError:],SourceFileLine = 391,NSLocalizedDescription = Found users at / Users / jenkins / Library / Developer / CoreSimulator / Devices / B4971F74-AE22- 4A18-B5F0-01E71AF71314 /数据/资料库/缓存/ com.apple.mobile.installd.staging / temp.a0h在/ Users / jenkins / Library / Developer / CoreSimulator / Devices / B4971F74-AE22-4A18-B5F0-中包含相同标识符(com.sdk.demosdk)的OWi / extracted / Payload / DemoApp.app / Frameworks / demosdkCleanAPI.framework- 01E71AF71314 / data / Library / Caches / com.apple.mobile.installd.staging / temp.a0hOWi / extracted / Payload / DemoApp.app / Frameworks / demosdk.framework}}} 2018-07-17 02:48:23.975 xcodebuild [ 82663:24489158]错误域= IDETestOperationsObserverErrorDomain代码= 6“早期意外退出,操作从未完成引导 - 不会尝试重启”UserInfo = {NSLocalizedDescription =早期意外退出,操作从未完成引导 - 不会尝试重启,NSUnderlyingError = 0x7fa8156bf370 {Error Domain = IXUserPresentableErrorDomain Code = 1“此时无法安装此应用 . ” UserInfo = {NSLocalizedDescription =此时无法安装此应用 . ,NSUnderlyingError = 0x7fa8106dab80 {Error Domain = MIInstallerErrorDomain Code = 57“在/ Users / jenkins / Library / Developer / CoreSimulator / Devices / B4971F74-AE22-4A18-找到捆绑包B5F0-01E71AF71314 / data / Library / Caches / com.apple.mobile.installd.staging / temp.a0hOWi / extracted / Payload / DemoApp.app / Frameworks / demosdkCleanAPI.framework,具有相同的标识符(com.sdk.demosdk)作为bundle at /Users/jenkins/Library/Developer/CoreSimulator/Devices/B4971F74-AE22-4A18-B5F0-01E71AF71314/data/Library/Caches/com.apple.mobile.installd.staging/temp.a0hOWi/extracted/Payload/DemoApp . app / Frameworks / demosdk.framework“UserInfo = {LegacyErrorString = DuplicateIdentifier,FunctionName = - [MIInstallableBundle performPreflightWithError:],SourceFileLine = 391,NSLocalizedDescription = Found users at / Users / jenkins / Library / Developer / CoreSimulator / Devices / B4971F74-AE22- 4A18-B5F0-01E71AF71314 /数据/资料库/缓存/ com.apple.mobile.installd.staging / temp.a0h在/ Users / jenkins / Library / Developer / CoreSimulator / Devices / B4971F74-AE22-4A18-B5F0-中包含相同标识符(com.sdk.demosdk)的OWi / extracted / Payload / DemoApp.app / Frameworks / demosdkCleanAPI.framework- 01E71AF71314 / data / Library / Caches / com.apple.mobile.installd.staging / temp.a0hOWi / extracted / Payload / DemoApp.app / Frameworks / demosdk.framework}}}}}测试失败:测试目标ShindanTests_DemoApp遇到错误(早期意外退出,操作从未完成引导 - 不会尝试重启 . 基础错误:错误Domain = IXUserPresentableErrorDomain Code = 1“此时无法安装此应用程序 . ” UserInfo = {NSLocalizedDescription =此时无法安装此应用 . ,NSUnderlyingError = 0x7fa8106dab80 {Error Domain = MIInstallerErrorDomain Code = 57“在/ Users / jenkins / Library / Developer / CoreSimulator / Devices / B4971F74-AE22-4A18-找到捆绑包B5F0-01E71AF71314 / data / Library / Caches / com.apple.mobile.installd.staging / temp.a0hOWi / extracted / Payload / DemoApp.app / Frameworks / demosdkCleanAPI.framework,具有相同的标识符(com.sdk.demosdk)作为bundle at /Users/jenkins/Library/Developer/CoreSimulator/Devices/B4971F74-AE22-4A18-B5F0-01E71AF71314/data/Library/Caches/com.apple.mobile.installd.staging/temp.a0hOWi/extracted/Payload/DemoApp . 应用程序/框架/ demosdk.framework”UserInfo = {LegacyErrorString = DuplicateIdentifier,FunctionName = - [MIInstallableBundle performPreflightWithError:],SourceFileLine = 391,NSLocalizedDescription = Found users at / Users / jenkins / Library / Developer / CoreSimulator / Devices / B4971F74-AE22-4A18-B5F0-01E71AF71314 / data /库/ Caches / com.apple.mobile.installd.staging / temp.a0hOWi / extracted / Payload / DemoApp.app / Frameworks / demosdkCleanAPI.framework与/ Users / jenkins /中的包具有相同的标识符(com.sdk.demosdk)图书馆/开发商/ CoreSimulator /设备/ B4971F74-AE22-4A18-B5F0-01E71AF71314 /数据/图书馆/缓存/ com.apple.mobile.installd.staging / temp.a0hOWi /提取/负载/ DemoApp.app /框架/ demosdk . 框架}}})测试失败

我尝试了几个清理脚本,如:

rm -rf -r ~/Library/Developer/Xcode/DerivedData
rm -rf $(getconf DARWIN_USER_CACHE_DIR)/org.llvm.clang/ModuleCache
rm -rf -r ~/Library/Caches/com.apple.dt.Xcode
xcrun simctl uninstall booted com.cellebrite.shindan

事件杀死模拟器进程并重新启动它,但有时它仍然成功,有时不...

任何人都可以帮我理解可以做些什么吗?