这个问题源于我之前问过的一个问题。我在调试方面得到了一些帮助,但现在我在 Xcode 的控制台中出现了这个错误:
[CFURL absoluteURL]: message sent to deallocated instance 0x949dde0
我已经在所有文件中搜索了 absoluteURL
的一个实例,但它似乎将我带到了一些 ASIHttp 文件,因为我一直在使用该库。
我使用的是 Twitter Auth 代码示例,它带有一些 OAuth 库,我感觉下面的代码可能有问题:
NSString * authorizationHeader = OAuthorizationHeader([NSURL URLWithString:@"https://api.twitter.com/oauth/request_token"],
method,
bodyData,
[GSTwitterSignedRequest consumerKey],
[GSTwitterSignedRequest consumerSecret],
_authToken,
_authTokenSecret);
我只是不完全明白如何追踪它。提前致谢。
最佳答案
启用僵尸并在 Instruments with Zombies 启用的 Allocations 工具下运行您的应用程序。同时打开“跟踪引用计数”和“仅跟踪实时分配”(名称的近似值——不要放在我面前;分配工具中的两个复选框)。
当应用遇到发送到已释放实例的消息错误时,您应该能够看到该对象上的所有保留/释放,更重要的是,它的确切分配位置。 p>
某处有一个 URL 被过早发布或过度发布。
参见 Instruments documentation 中的“寻找僵尸” .
关于ios - 错误 : message sent to deallocated instance in,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15341822/