Xcode8 + Swift2.3遇到的一些坑
2016-10-27 本文已影响27人
流星大石头
今天升级了Xcode8,发现报了一堆错误,具体怎么解决,可以参考这个博客
http://js.sunansheng.com/p/36ef88795906?utm_campaign=maleskine&utm_content=note&utm_medium=mobile_all_hots&utm_source=recommendation
如果你的项目中使用了很多Swift的第三方框架,记得在pod中指定这些第三方框架的版本为Swift2.3的,不要搞成了Swift3.0的。修改为之后,直接pod update --verbose --no-repo-update
更新完毕之后,如果你是使用纯代码写的话,就会发现设计到UITableViewCell的界面都错乱了,是因为ios 10 SDK 悄悄的干了一件事情,将UITableViewContentVew.width设置为0了,你只要在每个Cell的布局的最前面加入:
contentView.snp_makeConstraints { (make) in
make.edges.equalTo(self)
}
这样就重新设置了ContentView的宽度了,让你的界面恢复原样了
例如:
pod 'Alamofire', '~>3.5.1'
pod 'SwiftyJSON','~>2.4.0'
pod 'WebViewJavascriptBridge'
pod 'SnapKit','~>0.22.0'
pod 'YYWebImage'
post_install do |installer|
installer.pods_project.targets.each do |target|
target.build_configurations.each do |config|
config.build_settings['ENABLE_BITCODE'] = 'NO'
config.build_settings['SWIFT_VERSION'] = '2.3'
end
end
end
很多集成进去的pod,Use Legacy Swift Language Version 为 undefine,为避免每个都手动改,可以在Podfile中加:
config.build_settings['SWIFT_VERSION'] = '2.3'