您好,欢迎来到二三娱乐。
搜索
您的当前位置:首页automation validate framework co

automation validate framework co

来源:二三娱乐

automation validate framework configure

前言

由于需要提供多个语言版本的framework,以供客户使用。因此需要根据指定语言版本使用对应的XCode打包,为了减少人工的错误,所以校验framework的配置非常必要, 于是我想使用Swift写个command line tool 校验一下

功能

  • 校验 XCode 版本
  • 校验 minimumOSVersion
  • 校验 DTPlatformVersion
  • 校验 code architecture , 主要是检查是否仅包含真机指令集,还是包含所有指令集

方案

  • 比对标准的plist文件和待检测的framework 的plist文件, 校验 XCode 版本, minimumOSVersion, DTPlatformVersion
  • 使用lipo 命令检测framework architectures

制作过程

配置依赖性

image not load

error: 'init(fileURLWithPath:relativeTo:)' is only available on OS X 10.11 or newer

image.png

修改package.swift注释 可以切换不同版本的 swift-version-tool


image.png

偷偷的改了下5.0, 果然不让我通过

 error: package at '/Users/*****/Desktop/自开发工具tools/FrameworkValidateCheckTools/FrameworkValidate' requires a minimum Swift tools version of 5.0.0 (currently 4.2.0)

没办法,只能向现实低头,老老实实的写#available, 接下来就比较简单了递归遍历目标文件夹,检测*framework/Info.plist, 校验配置属性的合法性

执行lipo 命令

总结

  • swift package manager 开发起来还是引起了不少不适,主要在于没有project文件,要频繁使用命令行进行编译,错误提示也不太友好,导致开发比较低效,可能有更好的使用swift package manager方式,我不知道罢了。
  • 对于三方库的集成我觉得可以将三方库编译成.o文件,这样应该就可以在不使用swift package manager 的情况下, 对其进行集成

Copyright © 2019- yule263.com 版权所有 湘ICP备2023023988号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务