IOS13 异常问题及解决方案(2019.9.26)

旧的工程运行在刚发布的ios13系统上可能会遇到很多的问题,本人将已经遇到的问题和解决方案记录下,希望对你有一点帮助。
**

  1. libc++abi.dylib: terminating with uncaught exception of type
    NSException(2019.9.26)

    原有项目在ios12正常运行,更新开发环境后运行在ios13就遇到了这样的问题。在排查时发现是在NSNotificationCenter传值回调时,如果NSNotificationCenter在子线程调用,那么所监听对象的回调方法也会被放在子线程中执行,而我在该方法中进行了viewController.title属性的重新赋值,导致了异常报错。
    将原有方法加到主线程中执行即可 代码如下
    [[NSOperationQueue mainQueue] addOperationWithBlock:^{ self.title = newTitleString; }];

另外附上NSNotificationCenter运行机制的官方解释
In a multithreaded application, notifications are always delivered in the thread in which the notification was posted, which may not be the same thread in which an observer registered itself.
感兴趣的自行翻译下吧

你可能感兴趣的:(iOS开发技术总结,ios开发,个人)