需求: 在theos上编译插件的时候总是会提示这个,我是不是有哪里没有设置好
操作步骤:
环境: 完整clone的theos+sdk,theos环境变量已添加,LLVM+Clang\ld64\cc tools\make\ldid已安装
找个简单的tweak先在电脑上编译没问题后再用手机编译试试
这个插件电脑上编译是没问题的
实际上这个插件非常简单,就几个钩子
其实我在iOS12上使用theos是没有问题的但是不知道为什么升了13装了一样的依赖就挂了(保资料升级,theos在用户分区)
很久之前在iOS11上装过theos没啥问题,看你的错误也不像环境的问题。明天我在iOS13上装看看
已经弄明白什么问题了
实际上是perl的权限问题
我们都知道 perl是theos一个很重要的依赖项
相信很多人都喜欢把theos安装到/var上,但是这样做会导致一个问题,即perl被sandbox化,但是可以看到,
bingner源的perl并没有com.apple.private.security.no-container的entitlements,导致theos相关模块并不能被正常调用,因此就会报错
解决办法:给perl包里的所有二进制程序加上com.apple.private.security.no-container的entitlements,或者把theos安装到/var外面(我是把theos安装到了/opt了 ,毕竟perl里面的二进制程序太多
其它在/var里面调用perl/python/etc标头的脚本同理,要么移动到/var外面执行,要么把这些东西加上com.apple.private.security.no-container的entitlements。
2 个赞
这个怎么说呢 我之前已经跟bingner反馈过zsh bash没有com.apple .private.security.no-container的问题。但是我和他显然都忘了,需要加上com.apple .private.security.no-container的不仅仅只有这两个。(被unc0ver的dpkg惯坏了)
是写的太菜了吗呜呜呜呜
Sam Bingner说他会更新的(perl/python/etc)
不过估计不会很快就是了。毕竟虽然没有难度但挺麻烦的。
1 个赞
我营销号看多了 现在我就把微信卸载了
震惊! Theos iOS13无法编译背后的真相竟然是这样! 网友看了都高呼iOS不可战胜!
先安装perl和所有其它依赖
我人都傻了