Cordova and iOS 9 updates

Bitcode support

Apple added support for bitcode. You need to switch it off when you have some legacy plugin like facebook.

Problem:

ld: 'App/Plugins/com.phonegap.plugins.facebookconnect/FacebookSDK.framework/FacebookSDK(FBLikeButtonBackgroundSelectedPNG.o)'
does not contain bitcode. You must rebuild it with bitcode enabled
(Xcode setting ENABLE_BITCODE), obtain an updated library from
the vendor, or disable bitcode for this target. for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)

Add following line to platforms/ios/cordova/build.xcconfig

ENABLE_BITCODE=no

ATS

You have to use HTTPS only for your apps on iOS9 and you have whitelist all your URLs.
Quick workaround it to add following to application .plist to enable everything:

<key>NSAppTransportSecurity</key>
<dict>
  <!--Include to allow all connections (DANGER)-->
  <key>NSAllowsArbitraryLoads</key>
      <true/>
</dict>

or whiltelist your URL:

<key>NSAppTransportSecurity</key>
<dict>
  <key>NSExceptionDomains</key>
  <dict>
    <key>yourserver.com</key>
    <dict>
      <!--Include to allow subdomains-->
      <key>NSIncludesSubdomains</key>
      <true/>
      <!--Include to allow HTTP requests-->
      <key>NSTemporaryExceptionAllowsInsecureHTTPLoads</key>
      <true/>
      <!--Include to specify minimum TLS version-->
      <key>NSTemporaryExceptionMinimumTLSVersion</key>
      <string>TLSv1.1</string>
    </dict>
  </dict>
</dict>

source: http://ste.vn/2015/06/10/configuring-app-transport-security-ios-9-osx-10-11/

Resource problem

Problem:

ERROR ITMS-90339: "This bundle is invalid. The Info.plist contains an invalid key 'CFBundleResourceSpecification' in bundle ...

remove following line from platforms/ios/cordova/build.xcconfig:

CODE_SIGN_RESOURCE_RULES_PATH =  $(SDKROOT)/ResourceRules.plist

source: http://blog.bamlab.fr/updating-your-cordova-project-for-ios-9/

ios
Není-li uvedeno jinak, obsah této stránky je pod licencí Creative Commons Attribution-ShareAlike 3.0 License