[Phonegap+Sencha Touch] 移动开发65 iOS 9 (XCode 7) 上架之前需要做的几个步骤(解决不能联网,http请求失败)

原文地址:http://blog.csdn.net/lovelyelfpop/article/details/48995639



Cordova 5.4.0+(Cordova-iOS 3.9.2+)已经解决了这个问题,不过好像第2点的bitcode并没有解决(虽然更新日志里说解决了)


1、App Transport Security 

要求以后所有的HTTP协议都需要使用了HTTPS协议进行传输。http请求失败

解决办法,暂时按下图修改info.plist文件(自己手动添加下图的键值):

[Phonegap+Sencha Touch] 移动开发65 iOS 9 (XCode 7) 上架之前需要做的几个步骤(解决不能联网,http请求失败)_第1张图片



2、bitcode

如果用到了第三方库,而库没有支持bitcode,则会报错:

1
ld: '/Users/**/Framework/SDKs/PolymerPay/Library/mobStat/lib**SDK.a(**ForSDK.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 arm64


注:bitcode是被编译程序的一种中间形式的代码。包含bitcode配置的程序将会在App store上被编译和链接。bitcode允许苹果在后期重新优化我们程序的二进制文件,而不需要我们重新提交一个新的版本到App store上。

当我们提交程序到App store上时,Xcode会将程序编译为一个中间表现形式(bitcode)。然后App store会再将这个botcode编译为可执行的64位或32位程序。


所以,要么让第三方库支持bitcode,要么关闭target的bitcode选项。 

在Xcode 7中,我们新建一个iOS程序时,bitcode选项默认是设置为YES的。


解决方法:

可以在”Build Settings”->”Enable Bitcode”设为"NO"



3、提交AppStore报错:"iPad Multitasking support requires launch story board in bundle"

1
ERROR ITMS-90475: "Invalid Bundle. iPad Multitasking support requires launch story board in bundle 'xxxx'."

这是因为iOS9 iPad 的分屏适配所致。

最偷懒的方法,移除app对iPad Multitasking的支持,具体做法如下图:

[Phonegap+Sencha Touch] 移动开发65 iOS 9 (XCode 7) 上架之前需要做的几个步骤(解决不能联网,http请求失败)_第2张图片






欢迎加入Sencha Touch + Phonegap交流群

1群:194182999 (满)

2群:419834979

共同学习交流(博主QQ:479858761)

你可能感兴趣的:(ios,xcode,Cordova,PhoneGap)