0

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

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

  • 在 XCode 10.1 上运行
  • 已安装 Pod(到 iOS 11.0 基础级别)
  • SwiftMonkeyPaws 导入到 AppDelegate,在启动时分配爪子
  • 调用示例 testMonkey()-function 的新 UI-Test Deploy-Target
  • 方案设置为仅“测试”(不运行),如 example-project
  • Scheme Deploy-Target 设置为 11.0

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

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)
}
}

这是我的 podfile:

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

当我运行测试时,我收到“测试失败”警告以及

2019-01-07 10:15:54.790962+0100 AdviceAppMonkeyTests-Runner[14731:110840] 捆绑包“AdviceAppMonkeyTests”无法加载,因为它已损坏或缺少必要的资源。尝试重新安装捆绑包。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/ AdviceAppMonkeyTests-Runner.app/PlugIns/AdviceAppMonkeyTests.xctest/AdviceAppMonkeyTests):库未加载:@rpath/libswiftSwiftOnoneSupport.dylib 引用自:/Users/matthias.zarzecki/Library/Developer/Xcode/DerivedData/AdviceApp-hantxpruajwefgbjvzwhvlvwhmrh/Build/Products /Debug-iphonesimulator/AdviceAppMonkeyTests-Runner.app/PlugIns/AdviceAppMonkeyTests.xctest/Frameworks/SwiftMonkey。

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

4

1 回答 1

0

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

这里的所有细节:https ://github.com/zalando/SwiftMonkey/issues/71

TLDR:use_frameworks 只需要进入主目标的 target-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

也可以将构建系统设置为“旧版”使其工作,但这很有可能在未来其他地方出错

于 2019-02-14T11:04:39.930 回答