我已经阅读了iOS 10.3中提供的这一新功能,并认为它将更灵活,开箱即用.但是在我阅读了文档后,我发现你需要决定显示它的时间和调用它的viewController.有没有什么方法可以让我在任何一个viewController在那一刻显示的随机时间后触发它?
因此,我正在使用UIApplication扩展中的以下方法来获取顶视图控制器:
class func topViewController(controller: UIViewController? = UIApplication.shared.keyWindow?.rootViewController) -> UIViewController? {
if let navigationController = controller as? UINavigationController {
return topViewController(controller: navigationController.visibleViewController)
}
if let tabController = controller as? UITabBarController {
if let selected = tabController.selectedViewController {
return topViewController(controller: selected)
}
}
if let presented = controller?.presentedViewController {
return topViewController(controller: presented)
}
return controller
}
Run Code Online (Sandbox Code Playgroud)
但是问题是:它总是返回UIViewController。但是我需要检查是否MyViewController为例。我该如何实现?
我正在开发可可触摸框架,并使用CocoaPods导入“ RealmSwift”。项目构建成功,但是测试无法加载。我收到以下错误:
xctest(97035)遇到错误(早期意外退出,操作从未完成引导-不会尝试重新启动。(潜在错误:测试运行程序无法加载测试包。由于某些其他原因(例如问题),无法加载可执行文件与它所依赖的库或代码签名/权利不匹配。))
崩溃日志:
2019-02-27 17:35:44.197599+0400 xctest[12408:121075] The bundle “MyFrameworkTests” couldn’t be loaded because it is damaged or missing necessary resources. Try reinstalling the bundle.
2019-02-27 17:35:44.197835+0400 xctest[12408:121075] (dlopen_preflight(/Users/zakaria/Library/Developer/Xcode/DerivedData/MyFramework-cltpexonmtkefveximwygxbkkcrj/Build/Products/Debug-iphonesimulator/MyFrameworkTests.xctest/MyFrameworkTests): Library not loaded: @rpath/Realm.framework/Realm
Referenced from: /Users/zakaria/Library/Developer/Xcode/DerivedData/MyFramework-cltpexonmtkefveximwygxbkkcrj/Build/Products/Debug-iphonesimulator/MyFrameworkTests.xctest/MyFrameworkTests
Reason: image not found)
Run Code Online (Sandbox Code Playgroud)
我尝试了所有可以在网上找到的解决方案,但无济于事。
值得一提的是,这在iOS项目中成功完成,仅在可可触摸框架中出现了问题。
我的podfile如下:
target 'Framework' do
use_frameworks!
pod 'RealmSwift', '~> 3.13.1'
target 'FrameworkTests' do
inherit! :search_paths
end
end
Run Code Online (Sandbox Code Playgroud)
我正在使用Xcode版本:10.1和CocoaPods版本:1.6.0