0x00 报错

错误:
​​​Passing address of non-local object to __autoreleasing parameter for write-back​

使用第三方库时,由于这个库太老了。

@interface NSStream (SKPSMTPExtensions)

+ (void)getStreamsToHostNamed:(NSString *)hostName
port:(NSInteger)port
inputStream:(NSInputStream **)inputStream
outputStream:(NSOutputStream **)outputStream;

@end

这个方法在内部修改了 ​​inputStream​

*inputStream = xxx;
*outputStream = xxx;

0x01 方案

需要把参数 ​​NSInputStream **​​​ 修改为 ​​NSInputStream * __strong *​​​ 需要把参数 ​​NSOutputStream **​​ 修改为 ​​NSOutputStream * __strong *​​ 即可


0x02 参考

​文章一​


0x03 我的小作品

欢迎体验我的作品之一:​​小五笔 86 版​​​ 五笔学习好帮手
​App Store​​ 搜索即可~