В последнее время я работаю над кодом тестирования пользовательского интерфейса для приложения iOS, мой код тестирования пользовательского интерфейса использует swift, но сам проект имеет некоторый код Objective-C, и я создаю одноэлементный объект для параметров аргументов запуска, который также написанбыстро, поэтому я добавляю тег @objcMembers к классу.
, но во время выполнения кода тестирования пользовательского интерфейса кажется, что он не способен достичь переменных и функций, сам синглтон также не существует?что-то я пропустил?
import UIKit
#if DEBUG
@objcMembers
class EALaunchArugments: NSObject {
static let sharedInstance = EALaunchArugments()
// key for property
static private let UITestingKey = "-UITesting"
var isUITesting: Bool {
let value = self.getLaunchArgumentValue(key: EALaunchArugments.UITestingKey)
return Bool(value ?? "") ?? false
}
private func getLaunchArgumentValue(key: String) -> String? {
let arguments = ProcessInfo.processInfo.arguments
let indexOfKey = arguments.firstIndex(of: key)
guard let index = indexOfKey, index != NSNotFound else {
return nil
}
guard index + 1 >= arguments.count else {
return nil
}
return arguments[index + 1]
}
func setAllLaunchArgumentsSettingsForUITesting() {
// some work
}
}
#endif