在制作framework上传GitHub验证.podspec文件执行pod lib lint
或者pod spec lint xxx.podspec
时遇到,先贴错误图:
PaySDK (1.0.0)
- ERROR | [iOS] unknown: Encountered an unknown error (Could not find a `ios` simulator (valid values: com.apple.coresimulator.simruntime.ios-12-2, com.apple.coresimulator.simruntime.tvos-12-2, com.apple.coresimulator.simruntime.watchos-5-2). Ensure that Xcode -> Window -> Devices has at least one `ios` simulator listed or otherwise add one.) during validation.
毕竟程序员看文章的耐心这个要看项目排期的紧急程度,如果只想知道最终解决办法,请直接看文章第四部分;如果想知道什么原因导致请您不要着急,一步一步接着往下浏览,问题需要一点点往下摸排
一、发生环境
Mac OS Mojave 版本10.14.5
cocoaPods: 1.5.3
当时第一反应是检查Xcode的模拟器,确认没问题后,开始网上搜索答案:给出的解释和方案是:
这是cocoaPods的在Xcode 10.2上的一个Bug,有下面两种解决方案:
1、升级cocoaPods:由原来的1.5.3 版本升级到 1.6.1 :gem install cocoapods -v 1.6.1 或者直接升级到最新:sudo gem install cocoapods
2、更新fourflusher :sudo gem install fourflusher
二、趟坑结果
验证第一种后,结果还是同样的错误,尝试删除cocoaPods的1.5.3版本后重新安装还是报错:
验证第二种后,还是报错,持续崩溃中,放弃一天~~
三、参考资料花絮
网上很多人都有发生这个问题,下面给出cocoaPods这个issues的传送门,英语好的可以进去看看:
https://github.com/CocoaPods/fourflusher/issues/18
https://github.com/CocoaPods/CocoaPods/issues/8458
PS:大概浏览了一遍,关于里面有说到修改cocoaPods的配置的,如果您想体验一把,还不知道修改cocoaPods那些rb文件安装在哪的,可以使用命令:
gem which cocoapods
命令行会有输出cocoaPods的具体安装路径,下面请开始自己的表演~~
- 注
此方法因为太叼,不到万不得已,不能使用,过分依赖容易走火入魔,楼主不想虐待自己,就想小心翼翼好好地活着,没试过
四、最终方案
其实在我们走完第一步时,就已经很接近真相了,不过后来又走了弯路:
在执行完sudo gem install cocoapods
,如果验证还不通过,就查看我们本地的Pod版本pod --version
其实这个时候发现虽然安装了最新版本的cocoaPods,但是使用的pod并不是最新的,并没有关联过来,WFK ~~~!!!
So,只需要一个命令:pod setup
,执行完再看一下pod的版本:pod --version
是不是切换成了最新的版本,最后再进行一下验证!如果还是没验证过,就再执行sudo gem install fourflusher
,更新一下fourflusher。
写在最后:至于如何制作framework,以及如何配置.podspec文件,到上传至cocoaPods进行版本管理,这些还是比较简单的,出了错百度都可以告诉你答案(不小心给度娘打了个广告,其实谷姐也可以)~~