Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >解决Xcode9 Swift4下Cocoapods编译Swift第三方时报错

解决Xcode9 Swift4下Cocoapods编译Swift第三方时报错

作者头像
LinXunFeng
发布于 2018-06-29 07:42:00
发布于 2018-06-29 07:42:00
99200
代码可运行
举报
文章被收录于专栏:LinXunFeng的专栏LinXunFeng的专栏
运行总次数:0
代码可运行

随着Xcode9 Swift4 的到来,一些小问题也接踵而至。许多优秀的Swift第三方框架还未来得及迎接Swift4的到来,它们还停留在swift3.x的状态,这个时候新建一个项目,使用cocoapods写上需要使用的第三方,一编译就是满屏红,如下图。

报错

所幸,苹果每次升级Xcode都会保留上个版本的swift,以防暴乱?~~

有两种解决方案 其本质都是控制编译时所使用的Swift版本

第一种:Xcode

Pods -> Targets -> SnapKit -> Build Settings -> Swift language version option 选择 Swift 3.2。不推荐使用该方法,一个个点效率有些低~~

Pods

第二种:使用Cocoapods控制

打开Podfile文件,添加并按需要修改下方代码来指定哪些第三方的Swift编译版本,接着来一次

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
pod install

最后再来一下编译就搞定了

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
post_install do |installer|
    # 需要指定编译版本的第三方的名称
    myTargets = ['ObjectMapper', 'SnapKit']
    
    installer.pods_project.targets.each do |target|
        if myTargets.include? target.name
            target.build_configurations.each do |config|
                config.build_settings['SWIFT_VERSION'] = '3.2'
            end
        end
    end
end

位置如图所示

Cocoapods

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017.09.22 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Xcode14编译的APP低版本崩溃
测试说iOS 12的手机上安装Xcode14.0.2导出的新包后,打开就崩溃,但是在系统版本高的手机上就没有问题。
莫空9081
2022/10/11
3.4K1
Xcode14编译失败修改
这个的解决方案,直接Google,第一个stackoverflow的链接是Xcode 14 needs selected Development Team for Pod Bundles,这里面给出的解决方法是,在Podfile里增加下面代码,然后运行Pod install,设置Pod库的DEVELOPMENT_TEAM是开发者账号的team。
莫空9081
2022/09/14
4.8K0
Xcode15打包iOS 13以下安装崩溃修改
Xcode15打包iOS 13以下安装崩溃修改,参考Xcode15 + iOS13崩溃中解决办法,主要是下面这几个,可以试试
莫空9081
2023/11/27
1.9K4
Flutter iOS OC 混编 Swift 遭遇动态库和静态库问题填坑
Flutter 在 iOS 上的编译问题相信大家多多少少遇到过,不知道大家在搜索这方便的问题时,得到的答案是不是让你 clean 或者 install 多几次,很多时候就算解决完问题,也是处于薛定谔的状态,所以本篇也简单记录下 Flutter 开发中,OC 混编 Swift 遭遇动态库和静态库的问题,希望对“蒙圈”中的你有点帮助。
GSYTech
2022/04/25
1.8K0
Flutter iOS  OC 混编 Swift 遭遇动态库和静态库问题填坑
iOS_Error(四)
提示:HEAD -> refs/for/pod (no new changes) merge指令加上–no-ff (不使用fast-forward方式合并,合并的时候会创建一个新的commit用于合并) git merge --no-ff master 参考
mikimo
2022/07/20
1.3K0
iOS开发 创建podspec文件,为自己的项目添加pod支持
把项目源码上传到gitHub仓库再clone到本地(以ZJRefreshControl为例), 如果项目本来就在gitHub的仓库中, 直接clone到本地即可
码客说
2019/10/22
4.2K0
升级了Xcode 14.3 版本后Flutter运行IOS项目遇到File not found:arc/libarclite_iphoneos.a
简介 最近升级了Xcode 14.3 版本后遇到下面的问题 bug 解决方法 更改 项目目录下面的 ios/Profile 文件 将 post_install do |installer| installer.pods_project.targets.each do |target| flutter_additional_ios_build_settings(target) end end 更改为 post_install do |installer| installer.pods
rhyme_lph
2023/04/01
3.7K2
升级了Xcode 14.3 版本后Flutter运行IOS项目遇到File not found:arc/libarclite_iphoneos.a
CocoaPods 使用手册:1、基础 2、高级用法: podspec.json、tweak集成AsyncSocket、 静态库
注意最后一句话,意思是:以后打开项目就用 CocoaPodsDemo.xcworkspace 打开,而不是之前的.xcodeproj文件。
公众号iOS逆向
2021/03/08
3.1K0
CocoaPods 使用手册:1、基础 2、高级用法: podspec.json、tweak集成AsyncSocket、 静态库
iOS项目常用配置项
默认新建项目有两个文件LaunchScreen.storyboard和Main.storyboard
码客说
2019/10/21
1K0
CocoaPods之Podfile&Podfile.lock
CocoaPods是用ruby实现的,因此Podfile文件的语法就是ruby的语法。 podfile是一个说明文件,用以描述管理一个或者多个Xcode project的target的依赖库。这个文件应该且必须被命名为Podfile。 Podfile可以非常简单,下面的例子增加了Alamofire依赖库到单个target:
VV木公子
2018/06/05
7.2K0
CocoaPods对三方库的管理探究
CocoaPods是iOS开发中经常被用到的第三方库管理工具,我们有必要深入了解一下它对项目产生了什么影响,以及它是如何管理这些库的。
网罗开发
2021/01/29
2.9K0
CocoaPods对三方库的管理探究
XCode14 & iOS16 适配问题汇总
iOS16手机未打开开发者模式时: 1、Xcode 无法选中 iOS16的设备,报错:developer mode disable 2、无法打开升级前编译的App
傅_hc
2022/10/31
3.3K0
iOS组件化过程中遇到的问题及解决方案iOS组件化过程中遇到的问题及解决方案
Bundle中的图片命名:如果图片命名为640x1136,则真机无法加载,模拟器无影响,需改为640*1136
且行且珍惜_iOS
2021/09/07
1.9K0
CocoaPod知识整理
Pod库是很重要的组成部分,大部分第三方库都是通过CocoaPod的方式引入和管理,同时项目中的部分功能也可以用Pod库来做模块化。 本文是对CocoaPod的一些探究。 XS项目中的Pod库是很重要的组成部分,目前阅读器模块正在进行SDK化,需要用Pod库来管理,同时未来会做一些模块化的功能,同样需要用Pod库来处理。 本文对CocoaPods的一些内容进行探究。
落影
2019/07/14
4K0
iOS 开发小技巧
在使用view的缩放的时候,layer.border.width随着view的放大,会出现锯齿化的问题,解决这个问题需要设置这个属性。
s_在路上
2018/09/30
7760
Swift开发React Native组件
前面说过,React Native作为一个全新的跨平台开发框架,好多东西还不是很成熟,很多原生的控件还不是很完善,于是好多爱好者便自己封装相关的组件,可以使用oc来封装,也可以使用Swift来封装。关于封装的原理,大家可以访问我的书的《React Native移动开发实战》。 基础 学习本章知识,需要读者具备一定的OC和Swift语言基础,读者可以从下面的链接中获取学习资料。 Apple 官方引导 Xcode入门 Swift英文文档 UIKit UIKit框架是iPhone应用程序开发中最基本的框架
xiangzhihong
2018/02/06
2.9K1
Swift开发React Native组件
【IOS开发高级系列】CocoaPods使用总结专题
b、终端中,cd到项目总目录(注意:包含PodTest文件夹、PodTest.xcodeproj、PodTestTest的那个总目录);
江中散人_Jun
2023/10/16
1.7K0
【IOS开发高级系列】CocoaPods使用总结专题
基于CocoaPods的组件化原理及私有库实践
智人能在残酷的进化大战中存活下来,原因之一就是智人懂得将知识沉淀成外物,辅助彼此之间的合作,从而使得整个群体产生了规模效应,即1+1>2的效果。 从一个角度上说,石器时代是基于石器的组件化的时代,因为老张家的石矛(或其它石头利器)借给了老王,一样可以拿去狩猎。要想实现这个目的,一定要保证:
nimomeng
2019/03/04
5K0
启动优化
Edit Scheme -> Run -> Arguments -> Environment Variables ->
ruochen
2021/11/25
1.8K0
IB Designables: Failed to render and update auto layout status forhttps://github.com/CocoaPods/Cocoa
https://www.raywenderlich.com/156971/cocoapods-tutorial-swift-getting-started
iOSDevLog
2018/07/25
9240
推荐阅读
相关推荐
Xcode14编译的APP低版本崩溃
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验