openssl plugin ios 9.2 compatibility

is there a compatibility issue with openssl plugin and iOS 9.2? My app is working in lower iOS version but not with 9.2. And i always get a network error even if there is internet.

When you say “earlier” versions, are you saying 9.x or 8.x?

Rob

8.x and 6.x

Okay you are running into the iOS 9 ATS “issue”. Apple requires all web based network connections to connect to https:// not http://. You can either change your URL’s to use https:// if the service supports it, or else you have to add some exception rules to your build.setting’s iphone.plist table.

See: https://coronalabs.com/blog/2015/09/17/about-app-transport-security-ats/

Rob

i’ve tried adding this in my build.settings but i still get a network error. i’ve tried it in iPad3 and iPod Touch. (example.com is replaced with my url)

NSAppTransportSecurity =
            {
                NSExceptionDomains =
                {
                    [“example.com”] =
                    {
                        NSIncludesSubdomains = true,
                        NSThirdPartyExceptionAllowsInsecureHTTPLoads = true,
                        NSAllowsArbitraryLoads = true,
                    },
                },
            },

I tried the SSL test and found this in the result.

Apple ATS 9 / iOS 9 R           Protocol or cipher suite mismatch

Could this be the reason why my app could not connect to my server?

As for my build.settings, I’m not quite sure if I need to put the whole url or just the domain? Should it be https://sub.example.net or sub.example.net?

Below is my build.settings:

NSAppTransportSecurity =
            {
                NSExceptionDomains =
                {
                    [“sub.example.net”] =
                    {
                        NSIncludesSubdomains = true,
                        NSThirdPartyExceptionAllowsInsecureHTTPLoads = true,
                        NSAllowsArbitraryLoads = true,
                    },
                },
            },

Thank you very much!

Just the domain name.  Are there possibly other URL’s being hit?

When you say “earlier” versions, are you saying 9.x or 8.x?

Rob

8.x and 6.x

Okay you are running into the iOS 9 ATS “issue”. Apple requires all web based network connections to connect to https:// not http://. You can either change your URL’s to use https:// if the service supports it, or else you have to add some exception rules to your build.setting’s iphone.plist table.

See: https://coronalabs.com/blog/2015/09/17/about-app-transport-security-ats/

Rob

i’ve tried adding this in my build.settings but i still get a network error. i’ve tried it in iPad3 and iPod Touch. (example.com is replaced with my url)

NSAppTransportSecurity =
            {
                NSExceptionDomains =
                {
                    [“example.com”] =
                    {
                        NSIncludesSubdomains = true,
                        NSThirdPartyExceptionAllowsInsecureHTTPLoads = true,
                        NSAllowsArbitraryLoads = true,
                    },
                },
            },

I tried the SSL test and found this in the result.

Apple ATS 9 / iOS 9 R           Protocol or cipher suite mismatch

Could this be the reason why my app could not connect to my server?

As for my build.settings, I’m not quite sure if I need to put the whole url or just the domain? Should it be https://sub.example.net or sub.example.net?

Below is my build.settings:

NSAppTransportSecurity =
            {
                NSExceptionDomains =
                {
                    [“sub.example.net”] =
                    {
                        NSIncludesSubdomains = true,
                        NSThirdPartyExceptionAllowsInsecureHTTPLoads = true,
                        NSAllowsArbitraryLoads = true,
                    },
                },
            },

Thank you very much!

Just the domain name.  Are there possibly other URL’s being hit?