iOS-VendoriOS9开发技术IOS开发

[iOS9开发]问题及解决方法

2015-09-25  本文已影响1170人  饱醉豚吔屎啦你

截至15.09.25 

1 bitcode报错, 

提示错误如下图如下,具体是xxx does not contain

或者

xcode7默认会开启bitcode 会导致第三方框架报错,下面是友盟的错误:libMobClickLibrary.a(MobClick.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

有两种方式可以解决 :1,更新库 2,build setting 中,搜索bitcode,并把 enable bitcode 设置为 NO

问题2: 网络请求失败返回404

解决方法:

找到Info.plist, 右击 -> Open as-> Source Code,添加以下代码

NSAppTransportSecurityNSAllowsArbitraryLoads

问题3: 分享出现-canOpenURL: failed for URL:(主要是第三方分享)

找到Info.plist, 右击 -> Open as-> Source Code,添加以下代码(我只有微信和qq,其他平台待收集)

weixin

wechat`

其他scheme链接如下

http://wiki.mob.com/ios9-对sharesdk的影响(适配ios-9必读)/

问题4: 发布app的时候提示错误 .bundle' does not contain a bundle executable,如下图所示

搜索所有项目中在xxx.bundle的Info.plist文件,如果该bundle不是可执行的,需要重复以下步骤,

删除CFBundleExecutable

将CFBundlePackageType 配置为 BNDL,默认好像就已经配好了

5如果使用ios9 sdk编译,,Foundation下默认所有http请求都被改为https请求  如果目前没有时间解决,可以在info.plist中添加:

1,NSAppTransportSecurity -> key:NSAllowsArbitraryLoads value:YES

2,将xcode7的ios sdk改为ios9以下

经过测试 所有通过NSURLConnection发送的请求都会被强制使用https

ASIHTTPRequest库不会受到影响 因为它底层是对CFNetwork的封装。

需要注意的是 以上解决方法目前尚不清楚苹果会不会拒绝上架,有条件的最好尽快改为https.

问题六 企业证书

使用企业证书打包的app 第一次安装时不会主动提示 信任/不信任

需要开发者到 设置->通用->描述文件->企业级应用 信任该证书

问题7 directory not found for option问题

问题原因:Xcode7将framworks位置改变了。

解决方法:

点击项目,选择 Targets->build setting

找到 Frameworks Search Path 或者 Library Search Paths

删除$(SDKROOT)/Developer/Library/Frameworks,

或者使用$(PLATFORM_DIR)/Developer/Library/Frameworks替换

问题8 定位

if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 8) {

//[_locationManager requestWhenInUseAuthorization];//?只在前台开启定位

[_locationManager requestAlwaysAuthorization];//?在后台也可定位

}

// iOS9新特性:将允许出现这种场景:同一app中多个location manager:一些只能在前台定位,另一些可在后台定位(并可随时禁止其后台定位)。

if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 9) {

_locationManager.allowsBackgroundLocationUpdates = YES;

}

问题 :微信库64位的问题

xcode 7 的动态库后缀名改了,这下子旧的项目也要重新替换。

这里有一篇文章是关于ios 微信的用法和配置 可以参考一下

不过 64 位的问题 也随之而来,如果不加入libc++.dylib后就会报错 编译不过

所以在微信引入库里面,需要加入

libsqlite3.0.dylib

libz.dylib

SystemConfiguration.framework

libc++.dylib (如果编译错了,加上这个库进去。)

注意:xcode 7 变了后缀

问题 二进制库不支持bitcode

在 xcode 7 项目 中 build Settings 搜索这个字,默认情况是YES ,不支持就改成No 。

今天微信编译的时候也报相关的错,这一点真是让人纠结。xcode 设置总是多。有时候很难理解。只好一点点记录。

上一篇下一篇

猜你喜欢

热点阅读