airios9tls1.2app-transport-securitynsapptransportsecurity

air 19 & iOs 9 App Transport Security


I had downloaded the new air 19 sdk for iOs9 compatibility.

I had found on internet that I need to add the follow code in info.plist:

<key>NSAppTransportSecurity</key> <dict> <key>NSExceptionDomains</key> <dict> <key>facebook.com</key> <dict> <key>NSIncludesSubdomains</key> <true/> <key>NSThirdPartyExceptionRequiresForwardSecrecy</key> <false/> </dict> <key>fbcdn.net</key> <dict> <key>NSIncludesSubdomains</key> <true/> <key>NSThirdPartyExceptionRequiresForwardSecrecy</key> <false/> </dict> <key>akamaihd.net</key> <dict> <key>NSIncludesSubdomains</key> <true/> <key>NSThirdPartyExceptionRequiresForwardSecrecy</key> <false/> </dict> </dict> </dict>

but, I don't any idea about this, info.plist, file in my project.

Everyones now where I may add this code?

I have found this on internet:

Preparing Your Facebook Apps for iOS 9 (Beta) - Documentation - Facebook for Developers

https://developer.apple.com/library/prerelease/ios/technotes/App-Transport-Security-Techno te/

but doesn't help me.

Thanks


Solution

  • you are correct. You have to add these lines to your app's descriptor:

    <InfoAdditions>
        <![CDATA[
        <key>NSAppTransportSecurity</key>
        <dict>
            <key>NSExceptionDomains</key>
            <dict>
                <key>yourapiurl.com</key>
                <dict>
                    <key>NSIncludesSubdomains</key>
                    <true/>
                    <key>NSExceptionAllowsInsecureHTTPLoads</key>
                    <true/>
                </dict>
            </dict>
        </dict>
        ]]>
    </InfoAdditions>
    

    This basically says you want to allow non-secure urls to be called within your app. iOS9 newly requests HTTPS for all api calls.

    Full article here: http://htmlspank.tumblr.com/post/130674234457/ioerror-2032-ios9-adobe-air-and-ats