2014.12 零碎知识点
1. iOS7以后app内跳转至app store相应页面只能使用如下链接,其中“xxxxxxxxx”替换为此应用在iTunes Connect生成时获得的的app id
1 [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"itms-apps://itunes.apple.com/app/idxxxxxxxxx"]];
2. 导入新特性的framework但需要兼容低系统版本时,要将Required改为Optional,但目前可能在iPhone 5s的模拟器上还是会报错,直接无视,亲测真机可用,且iPhone5模拟器不报错。
3. 在ARC下,不需要手动调用[super dealloc],但实际上此方法还是会被子类隐式调用的。
4. bringSubviewToFront:方法应该在某一块的视图全部添加完成后再去调用。否则,此方法调用后添加的view还是会将其覆盖。
5. iOS8以后,在viewDidLoad中可以取到正确的self.view.frame了,但要注意一种情况:在竖屏时拉下today extension,推上去,然后运行横屏游戏,第一次拉下today extension时,viewDidLoad取到的frame还是竖屏的(虽然再次下拉又正确了)。所以为了避免各种坑爹情况以及兼容低版本,还是老老实实把设置frame放到viewWillLayoutSubviews和viewWillAppear里。
6. 使用git时不小心提交了不需要的,可以用git rm --cached 命令删除,至于具体文件路径,懒得打字的可以一路右键“显示包内容”找到。如果是几个人共用的git,建议所有人先将代码提交再搞,而且删完之后所有人重新check out,否则很容易报错。
7. iOS8以后可以使用
1 [[UIApplication sharedApplication] openURL:[NSURL URLWithString:UIApplicationOpenSettingsURLString]];
跳转到设置中app对应的页面,如果app有涉及通知、请求位置、通讯录之类的。
8. Xcode6,如果勾选了"Enable Zombie Objects"再运行程序,会不显示内存情况,这事纠结了好久,还是在CocoaChina论坛发帖才知道的
以后还是每月初就建好草稿,然后当月持续个更新吧,月末再写这种东西根本记不住啊,总感觉还有很多漏掉的呢。。。。。