Take the 2-minute tour ×

In RestKit 0.2, how do I allow my app to connect to a server with an invalid https security certificate? From the AFNetworking documentation it looks like all I have to do is #define _AFNETWORKING_ALLOW_INVALID_SSL_CERTIFICATES_ . However, I've added that command to my pch file, to Build Settings > Preprocessor Macros, and to my App Delegate. All of which fail to allow the connection. Any ideas?

share|improve this question
When I added AFNETWORKING_ALLOW_INVALID_SSL_CERTIFICATES Build Settings > Preprocessor Macros on the sub project RestKit, it finally ignored the certificate. Any idea why I had to put it on the subproject and it wasn't picked up in my main project? –  dirkoneill Dec 17 '12 at 4:08
Where did you have the #define? –  esker Dec 18 '12 at 3:25
Nevermind, looks like in your question you describe the #define as being declared in your App Delegate. –  esker Dec 18 '12 at 4:06
add comment

2 Answers

Choose the Pods project > Build Settings > Preprocessor Macros and add _AFNETWORKING_ALLOW_INVALID_SSL_CERTIFICATES_ to the Debug entry.

share|improve this answer
add comment
up vote 4 down vote accepted

It would appear that the only way to accept invalid certificates is to go to the RestKit subproject, go to Build Settings > Preprocessor Macros and add the value _AFNETWORKING_ALLOW_INVALID_SSL_CERTIFICATES_ . You then need to clean your project.

I'm guessing that because the RestKit subproject contains AFNetworking some sort of pre-compilation is going on that cannot be reversed in your main project. So if you have the flag in the RestKit Build Settings, RestKit will compile with support for invalid certificates. Otherwise, by default, it will not.

share|improve this answer
This is closest I've seen to an explanation, but that still doesn't really make sense. Why would the allowsInvalidSSLCertificate property exist if setting it in the main project would just ignore it? –  Kyle Clegg Jun 26 '13 at 23:19
add comment

Your Answer


