Базовая реализация SwiftMonkey завершается с ошибкой «Bundle не может быть загружен» - PullRequest
0 голосов
/ 07 января 2019

Я пытался добавить SwiftMonkey-Target в свой текущий проект в течение нескольких часов, и, похоже, ничего не работает.

Пример проекта от https://github.com/zalando/SwiftMonkey работает. Все настроено одинаково / По инструкции.

  • Работает на XCode 10.1
  • Установленные блоки (для базового уровня iOS 11.0)
  • SwiftMonkeyPaws, импортированные в AppDelegate, лапы, назначенные при запуске
  • Новая UI-Test Deploy-Target, которая вызывает пример testMonkey () - функция
  • Схема установлена ​​только для "теста" (не запущена), как в примере проекта
  • Схема 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)
}
}

А это мой подфайл:

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-hantxpruajwehhp/Dj/hl/hljpjvjvjpjv) AdviceAppMonkeyTests-Runner.app/PlugIns/AdviceAppMonkeyTests.xctest/AdviceAppMonkeyTests): библиотека не загружена: @ rpath / libswiftSwiftOnoneSupport.dylib Ссылка на: Причина: изображение не найдено)

У вас есть идеи, что я могу попробовать?

1 Ответ

0 голосов
/ 14 февраля 2019

Я работал с создателями несколько дней, чтобы решить эту проблему, и мы выяснили:)

Все подробности здесь: https://github.com/zalando/SwiftMonkey/issues/71

TLDR: use_frameworks должен идти внутри только для целевых модулей основной цели

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

Также в качестве альтернативы установка системы сборки на «наследие» заставляла ее работать, но у нее был слишком большой потенциал, чтобы что-то не получиться в будущем

...