Why are my ASIHTTPRequest files showing ARC errors

2019-01-17 02:32发布

问题:

I have implemented all of my ASIHTTPRequest files, but unfortunately the following errors occur:

Why is this happening?

回答1:

ASIHTTPRequest doesn't support ARC, so it is expected you get errors if you use it in an project with ARC enabled.

There are various solutions on how to disable ARC just for the asihttprequest files suggested here:

https://github.com/pokeb/asi-http-request/issues/210

The easiest one is just to disable ARC for the ASIHTTPRequest source files, see here : How can I disable ARC for a single file in a project?

Someone has started what they called an ARC compliant HTTPRequest - basically a very small wrapper around NSURLConnection that has a similar interface to ASIHTTPRequest:

https://github.com/imathome/ARCHTTPRequest

It doesn't support all/most of the features of the full ASIHTTPRequest though.

Finally, a lot of people are moving to use AFNetworking instead. The more recent versions all use ARC, although as the recommended way to use it is via CocoaPods the ARC compiler flags will be sorted out correctly automatically:

https://github.com/AFNetworking/AFNetworking/wiki/Getting-Started-with-AFNetworking



回答2:

Try this new framework MKNetworkKit

https://github.com/MugunthKumar/MKNetworkKit

This supports ARC



回答3:

This is happening because when you enable ARC you cannot use the standard memory management methods like "retain", "release", etc. Just delete those method calls and you'll be fine. Or, if you want you can turn off ARC for those files.



回答4:

ARC stands for automatic reference counting , where ios itself looks after retain, release , so either you should disable ARC or get the new ARC supported ASIHTTPRequest files... cheers.



回答5:

you can use this. If you are using ARC. Benefit of using it is that i just create a wrapper over native URLConnection class so native support of libraries is more reliable.

https://github.com/samspalace/SIKHttpRequest-ARC