Xcode8 + Swift2.3遇到的一些坑

今天升级了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'

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容