swift - viewController 中的函数崩溃
问题描述
嗨开发人员我遇到了 Adobe Audience Manager POD 的问题
在我的 VC 我有这个
override func viewDidLoad() {
super.viewDidLoad()
configureUI()
ACPAudience.signal(withData: ["ViewedScreen": "ButtonClicked"]) { (response, error) in
if let error = error {
print(error)
} else {
print(response as Any)
}
}
}
每次我运行它都会崩溃:
dynamic_cast 错误 2:以下一个或多个 type_info 具有隐藏可见性或在多个翻译单元中定义。他们都应该有公众知名度。N20AdobeMarketingMobile6ModuleE、N20AdobeMarketingMobile13ConfigurationE、N20AdobeMarketingMobile22ModuleDetailsInterfaceE。
解决方案是在应用程序委托中创建一个NSNotification没有崩溃或任何奇怪的东西
应用程序委托中的代码几乎相同
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
NotificationCenter.default.addObserver(self, selector: #selector(getProfileACP2), name: NSNotification.Name(rawValue: "getProfileACP"), object: nil)
}
@objc private func getProfileACP2(){
ACPAudience.signal(withData: ["ViewedScreen": "ButtonClicked"]) { (response, error) in
if let error = error {
print(error)
} else {
print(response as Any)
}
}
}
然后在VC上像这样工作
override func viewDidLoad() {
super.viewDidLoad()
print("getProfileACP")
print("----------------------------------------------")
NotificationCenter.default.post(name: NSNotification.Name(rawValue: "getProfileACP"), object: nil)
print("----------------------------------------------")
print("getProfileACP")
}
解决方案
推荐阅读
- r - 如何在 Github 的 Atom 中更新 R 的路径变量?
- java - 如何修复 Firebase 身份验证中的空指针异常?
- python-2.7 - 变量引用和可变性
- google-chrome-extension - 如何使用 chrome.tabs.executeScript() 更改网页
- python - 如何使 QPushButtons 将文本添加到 pyqt5 中的 QLineEdit 框中?
- angular - 无法将 Firebase Auth 连接到 Angular Web App,页面仅重新加载
- reactjs - redux-saga+next.js:动作被触发,但 store 无法访问并被冻结
- visual-studio-code - 是否可以在 VSCode 中侦听/拦截与打字稿语言服务器之间的 LSP 消息?
- python-3.x - TensorFlow 2.0 中 lambda 函数的组合
- c# - 映射包含导航属性的实体框架实体时出现 Automapper 异常