在我将Xcode升级到12.2版本后,该项目出现了严重的问题。EXC_BAD_ACCESS频繁崩溃。调试时,控制台提示:
-[CFString release]: message sent to deallocated instance 0x283e9e990.
崩溃的字符串是一个长字符串,类似于以下内容:
EBGUHMFDJNGGJMUFEHKJCIPNGICJEBBCCEBBJNEUFJOAHCLOJFPLNUECMHAADBKBBHMNLFMCHBALCACEOIBJUDGNEA
但这在Xcode 11中或Xcode 10中是正常的。Xcode 12.2是否需要修改某些配置?或者我的代码有问题吗?
任何建议都非常感谢,这个问题困扰了我很多天。
这是我的代码的问题,我发现了问题。原因是assign
将在Xcode12之后释放struct XMConnectParameter
中的serverString
。
struct XMConnectParameter {
NSString *serverString;
NSInteger channel;
// ...
};
typedef struct XMConnectParameter XMConnectParameter;
@property (nonatomic, assign) XMConnectParameter parameter;