基本 SwiftMonkey 实现失败 "Bundle couldn't be loaded"
Basic SwiftMonkey-Implementation fails with "Bundle couldn't be loaded"
几个小时以来,我一直在尝试将 SwiftMonkey-Target 添加到我当前的项目中,但似乎没有任何效果。
https://github.com/zalando/SwiftMonkey 中的示例项目正在运行。一切都按照相同的方式设置/根据说明。
- 运行 在 XCode 10.1
- Pods 已安装(到 iOS 11.0 基础级别)
- SwiftMonkeyPaws 导入到 AppDelegate,爪子在启动时分配
- 新 UI-Test Deploy-Target 调用示例 testMonkey()-函数
- 方案仅设置为 "test"(不是 运行),如示例项目
- 方案部署-目标设置为 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)
}
}
这是我的播客文件:
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" 使其正常工作,但将来在其他地方出错的可能性太大
几个小时以来,我一直在尝试将 SwiftMonkey-Target 添加到我当前的项目中,但似乎没有任何效果。
https://github.com/zalando/SwiftMonkey 中的示例项目正在运行。一切都按照相同的方式设置/根据说明。
- 运行 在 XCode 10.1
- Pods 已安装(到 iOS 11.0 基础级别)
- SwiftMonkeyPaws 导入到 AppDelegate,爪子在启动时分配
- 新 UI-Test Deploy-Target 调用示例 testMonkey()-函数
- 方案仅设置为 "test"(不是 运行),如示例项目
- 方案部署-目标设置为 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)
}
}
这是我的播客文件:
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" 使其正常工作,但将来在其他地方出错的可能性太大