iOS插件开发系列: MakeFile编写教程
MakeFile介绍
MakeFile文件指定工程用到的文件、框架、库等信息,将整个过程插件编译打包进行自动化。
theos中.mk说明
include theos/makefiles/common.mk #这是固定写法
TWEAK_NAME = XLsnow #项目创建时候的插件名称
XLsnow_FILES = Tweak.xm #tweak 包含的源文件 .m .c .mm .xm
include $(THEOS_MAKE_PATH)/tweak.mk
after-install:: #当tweak安装成功后注销SpringBoard进程
install.exec "killall -9 SpringBoard"
如何指定SDK的版本,导入什么framework, lib文件在哪里的链接。
指定处理器架构
ARCHS = armv7 arm64 arm64e
这里指定了不同的处理器架构,中间必须存在空格进行分割。
arm64e是指iPhoneXs及其之后的机型
注意:采用arm64架构的App 不兼容armv7/armv7s架构,
必须适配arm64架构的dylib。
* 指定SDK版本
TARGET = iphone:Base SDK:Deployment Target
比如
TARGET = iphone:16.5:14.0
这句语法的含义为:指定采用14.0版本的SDK,并发布对象为IOS 14.0-16.5版本。
也可以把“Base SDK”设置为“latest”,指定以Xcode附带的最新版本SDK编译,这样最方便, 就是需要14.0起步, 如:
TARGET = iphone:lastest:14.0
导入framework
XLsnow_FRAMEWORKS = framework name
XLsnow_FRAMEWORKS = UIKit CoreTelephony CoreAudio
上面语句是增加AppStore级别的共有API接口,而我们是进行theos开发当然是想要拿到“私有API”中的方法。
在使用时候,需要明白 每个IOS版本之间可能发生变化,再导入之前,一定要确认好 导入的private framework 确实存在
private framework name = 私有库 比如设置
XLsnow_PRIVATE_FRAMEWORKS = AppSupport ChatKit IMCore