基本 SwiftMonkey 实现失败 "Bundle couldn't be loaded"

Basic SwiftMonkey-Implementation fails with "Bundle couldn't be loaded"

几个小时以来,我一直在尝试将 SwiftMonkey-Target 添加到我当前的项目中,但似乎没有任何效果。

https://github.com/zalando/SwiftMonkey 中的示例项目正在运行。一切都按照相同的方式设置/根据说明。

这是测试代码(与示例代码相同):

import XCTest
import SwiftMonkey

class AdviceAppMonkeyTests: XCTestCase {

override func setUp() {
    super.setUp()
    XCUIApplication().launch()
}

override func tearDown() {
    super.tearDown()
}

func testMonkey() {
    let application = XCUIApplication()
    _ = application.descendants(matching: .any).element(boundBy: 0).frame
    let monkey = Monkey(frame: application.frame)
    monkey.addDefaultXCTestPrivateActions()
    monkey.addDefaultUIAutomationActions()
    monkey.addXCTestTapAlertAction(interval: 100, application: application)
    monkey.monkeyAround(forDuration: 10)
}
}

这是我的播客文件:

platform :ios, '11.0'
use_frameworks!

def advice_pods
    pod 'SwiftyJSON'
    pod 'Firebase/Core'
    pod 'Firebase/AdMob'
    pod 'SwiftLint'
end

target 'AdviceApp' do
    advice_pods
    pod 'SwiftMonkeyPaws', '~> 2.1.0'
end

target 'Daily Advice' do
    advice_pods
end

target 'AdviceAppTests' do
    advice_pods
end

target 'AdviceAppMonkeyTests' do
    advice_pods
    pod 'SwiftMonkey', '~> 2.1.0'
end

当我 运行 测试时,我收到 "test failed" 警告以及

2019-01-07 10:15:54.790962+0100 AdviceAppMonkeyTests-Runner[14731:110840] The bundle “AdviceAppMonkeyTests” couldn’t be loaded because it is damaged or missing necessary resources. Try reinstalling the bundle. 2019-01-07 10:15:54.791073+0100 AdviceAppMonkeyTests-Runner[14731:110840] (dlopen_preflight(/Users/matthias.zarzecki/Library/Developer/Xcode/DerivedData/AdviceApp-hantxpruajwefgbjvzwhvlvwhmrh/Build/Products/Debug-iphonesimulator/AdviceAppMonkeyTests-Runner.app/PlugIns/AdviceAppMonkeyTests.xctest/AdviceAppMonkeyTests): Library not loaded: @rpath/libswiftSwiftOnoneSupport.dylib Referenced from: /Users/matthias.zarzecki/Library/Developer/Xcode/DerivedData/AdviceApp-hantxpruajwefgbjvzwhvlvwhmrh/Build/Products/Debug-iphonesimulator/AdviceAppMonkeyTests-Runner.app/PlugIns/AdviceAppMonkeyTests.xctest/Frameworks/SwiftMonkey.framework/SwiftMonkey Reason: image not found)

你有什么我可以尝试的想法吗?

我与创作者一起工作了几天来解决这个问题,我们想通了:)

此处所有详细信息:https://github.com/zalando/SwiftMonkey/issues/71

TLDR: use_frameworks 只需要进入 主要目标的目标-pods

platform :ios, '11.0'

target 'AdviceApp' do
    use_frameworks!
    pod 'SwiftyJSON'
    pod 'Firebase/Core'
    pod 'Firebase/AdMob'
    pod 'SwiftLint'
    pod 'SwiftMonkeyPaws'
end

target 'AdviceAppMonkeyTests' do
    pod 'SwiftMonkey', '~> 2.1.0'
    pod 'SwiftLint'
end

也可以将构建系统设置为 "legacy" 使其正常工作,但将来在其他地方出错的可能性太大