iOS 9适配-bitcode, https, URL scheme, 找不到.dylib
来源:互联网 发布:在淘宝网购物流程 编辑:程序博客网 时间:2024/06/05 15:08
转自:http://www.cnblogs.com/guangleijia/p/4846999.html
如有侵犯,请来信oiken@qq.com
一、iOS9 bitcode
首先最大的问题就是坑货xcode7,xcode7默认是打开bitcode的,bitcode是苹果为了解决他自己以后的应用可以随意更换硬件的处理做的准备也就是arm指令集和x64指令集的问题
那么我们的工程如果你采用了别人封装的第三方库,那么好了,会爆以下错误
ld: ‘/UsersFramework/SDKs/PolymerPay/Library/mobStat/lib**SDK.a(**ForSDK.o)’does not contain bitcode. You must rebuild it with bitcode enabled (Xcodesetting ENABLE_BITCODE), obtain an updated library from the vendor, or disablebitcode for this target. for architecture arm64
上述这段文字说明了我们的第三方库不支持bitcode,如果你需要支持,就需要这个第三方库也支持bitcode。苹果目前给出的临时解决方案就好比当初MRC和ARC时候的解决办法,当初xcode5更新时候默认是工程创建是ARC的,你可以关闭ARC改为MRC,经过了一段时间后,大家都开始使用了ARC,那么bitcode也一样,在xcode7时候默认是开启的,我们需要关闭,那么如何关闭
我引用了一篇文章的gif图来做演示
在targets里面选择BuildSetting中搜索bitcode,然后改为no就ok了
二、iOS9 https问题
三、iOS 9 使用URL scheme必须将其加入白名单(摘抄)
三、新浪微博的jsonkit在部分机型上面导致崩溃(群友Gemini提供
问题是 程序会奔溃到jsonkit.m void keyObjectISA = ((void **)keys[idx]);这行代码,因为在os x10.10中,NSString采用了TaggedPointer这项技术,此类型不使用解应用isa来获取其所属类,而是通过接下来的三位来查找类表索引的类型,且对象指针最低位置为1。
如何解决:解决方法由群友sun提供参考地址如下
http://blog.csdn.net/woainiliuwei007/article/details/48549103
由于taggedpointer类型不能用isa了,就必须修改为object_getClass(keyObject) ,而且在line:2601处也需要做修改
这里附一个修改过的jsonkit,可以正常使用
http://download.csdn.net/detail/woainiliuwei007/9123789
五、报错 Assertion failure in -[UIApplication _runWithMainScene:transitionContext:completion:], /BuildRoot/Library/Caches/com.apple.xbs/Sources/UIKit_Sim/UIKit-3505.16/UIApplication.m:3294 (群友sun提供)
在Info.plist中,可以找到:“Main storyboard file base name” String “Main”,删掉这个条目, 再启动,屏幕变成了黑屏
手动添加window
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// Override point for customization after application launch.
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; //全屏window
self.window.backgroundColor = [UIColor whiteColor]; //白色背景
[self.window makeKeyAndVisible]; //
return YES;
}
ok,这个由于更新xcode7报错已解决!
如果按照上面修改完,发现还在报错,那么去看看你的项目是不是加了引导页
把上面的add方法,变成下面的就好。
这个add方法在xcode7之前是没有问题的,在xcode7后不能这样写了!
六、找不到(丢失).dylib文件,换成.tbd文件而又无法运行,请用下面的方式来解决。(我验证过,是ok的)
- Go to Build Phases >Link Binary with Librairies > + > Add other
- Once in the file selection window do "CMD"+Shift+G (Go to folder) and type /usr/lib/
- From /user/lib you can add : libz.dylib and more...
- Compile and have fun
(我验证过,下面这个还是出错的 is not an object file (not allowed in a library). )
Xcode7 对库后缀进行了改变,需要进行重新引入。1、重新将变红的库找到libsqlite3.tbd,libz.tbd重新引用。
2、clean工程,重新编译解决问题。
- iOS 9适配-bitcode, https, URL scheme, 找不到.dylib
- iOS 9 适配系列-网络适配&后台定位&bitcode&URL scheme
- iOS开发:iOS9.0适配之http修改为https、Bitcode、Scheme白名单等问题
- iOS适配http和Url scheme
- ios URL Scheme
- ios URL Scheme
- ios 常用 url scheme
- ios的URL Scheme
- iOS URL scheme
- iOS URL Scheme
- iOS URL scheme
- iOS URL scheme
- iOS URL scheme 详解
- iOS 设置URL Scheme
- iOS中的URL Scheme
- iOS中的URL Scheme
- iOS 设置Url Scheme
- 项目在适配IOS 9中 找不到libz.dylib、libconv.dylib等依赖库
- Linux<九>程序与资源管理
- cocos2d-x 3.8.1 基本游戏运行流程图
- (转)HttpClient学习
- 【转载】MIMO技术杂谈(三):知己知彼,百战不殆--信道信息的获取和应用
- ShareSDK源码分析及部分代码实现
- iOS 9适配-bitcode, https, URL scheme, 找不到.dylib
- Java Hibernate Oracle存储大文件
- 开发纪录开始日!
- ClassCastException深入分析与JVM
- Android异步消息处理机制完全解析
- SAP 开票类型的确定
- Redis集群配置
- shrio教程初级(六)shiro整合springmvc
- iOS 常用打开操作(打开网页,打电话,发邮件,发信息等)