提交了一个Pull Request给新theos加上了armv7s支持

讨论在 https://github.com/theos/theos/issues/172

起因:

老的theos,或者叫theos-legacy,需要手动复制substrate的库到项目目录。
这个库本身包含armv7s,所以通过在Makefile里添加

export ARCHS=armv7 armv7s arm64

可以编译带有armv7s的tweak。
新版的theos,或者叫modern theos使用的是symbol stub,也就是你Xcode里看到的.tbd文件。
EDIT: .tbd stub的功能是在后续某个版本的Xcode中添加的,所以如果你使用的是老版的Xcode的话你最好还是使用theos legacy再加segalign参数来进行编译

出于上面的issues链接里提到的原因modern theos自带的stub没有armv7s的部分,导致这个方法会在link时crash掉编译过程。

对普通开发者的影响:

大多数时候你并不需要折腾archs因为v7和v7s的兼容性非常好。 然而某些老项目用了这个方法来编译v7s,你用新的theos编译这些项目来进行学习的话会出问题。这个pr则修复了这一问题。

GLHF

1 个赞