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'

上一篇下一篇

猜你喜欢

热点阅读