简单的IOS专题

简单-IOS9适配总结(续)

2016-03-29  本文已影响55人  Www刘

11 didFinishLaunchingWithOptions

如果运行的时候报下列错误,那就是你的didFinishLaunchingWithOptions写的不对了

***** Assertion failurein-[UIApplication _runWithMainScene:transitionContext:completion:], /BuildRoot/Library/Caches/com.apple.xbs/Sources/UIKit_Sim/UIKit-3505.16/UIApplication.m:3294**

iOS9不允许在didFinishLaunchingWithOptions结束了之后还没有设置window的rootViewController。 也许是xcode7的编译器本身就不支持。

解决的方法当然就是先初始化个值,之后再赋值替换掉

UIWindow *window = [[UIWindowalloc] initWithFrame:[UIScreenmainScreen].bounds];

window.rootViewController = [[UIViewController alloc]init];

12 tableView

虽然现在的iOS9已经推送正式版了,但是iOS9使用时还是会感觉到App比以前更加卡顿了,tableView拖动时卡顿显示的最为明显。 并且之前遇到一个bug,原本好的项目用xcode7一编译,tableView刷新出了问题 ,[tableView reloadData]无效 有一行cell明明改变了但是刷新不出来。 感觉可能是这个方法和某种新加的特性冲突了,猜测可能是reloadData的操作被推迟到下一个RunLoop执行最终失效。

解决的方法是,注释[tableView reloadData],改用局部刷新,问题居然就解决了。

[self.tableView reloadSections:[NSIndexSet indexSetWithIndex:0] withRowAnimation:UITableViewRowAnimationNone];

13 directory not found for option问题

警告如下:

ld: warning: directory not found for option '-F/Applications/Xcode 7.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator9.0.sdk/Developer/Library/Frameworks'

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

解决方法:

点击项目,选择 Targets->xxxTests

选择build setting ,找到 Frameworks Search Path 或者 Library Search Paths

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

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

frameworks位置改变

目前就这些。。。。

上一篇下一篇

猜你喜欢

热点阅读