make是可以通过,没问题。现在是无法打包。可能你平时太忙,对于这些小问题无暇顾及,我再理清思路给你:
第一个make的时候:(前提当然都是按书上说的,包括你提及的 dpkg-deb.)
然后出现了如下的错误:
bogon:iostest jimmy$ make
/Users/jimmy/Code/iostest/theos/makefiles/targets/Darwin/iPhone.mk:21: *** first argument to `word’ function must be greater than 0. Stop.
然后通过网上查询,DHowett提供的方法:(https://github.com/DHowett/theos/issues/18)
输入如下命令:sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer/
之后再执行make就能编译通过了。
然后打包出现了问题:
bogon:iostest jimmy$ make package
/Applications/Xcode-beta.app/Contents/Developer/usr/bin/make package requires dpkg-deb.
make: *** [internal-package-check] Error 1
我想,应该是sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer/改变了文件搜索路径,他是去到/Applications/Xcode-beta.app/Contents/Developer/usr/bin/这个目录下执行make的。
结果到了第二天,我再次尝试make package(当然是关机了再开机),结果出现了另外一个错误:
make: *** [internal-package] Error 126
然后我新建了项目iostest2,且不说连make都报错,可能我没处理好。我后来又新建了项目iostest3,结果这次make成功了,但是依然是这个错误:
make: *** [internal-package] Error 126
我依然感觉是不是DHowett提供的方法: sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer/,影响了整个Theos。
我的make文件一直是如下的内容:
ARCHS = armv7 arm64
TARGET = iPhone:latest:8.0
include theos/makefiles/common.mk
TWEAK_NAME = IOSTest
IOSTest_FILES = Tweak.xm
include $(THEOS_MAKE_PATH)/tweak.mk
after-install::
install.exec “killall -9 SpringBoard”
希望作者既然开这个论坛为本书解惑,希望你真的可以帮我们这些新手读者解决问题,而不是几句话就应付过去,而且真的如我所说,你在描述theos的时候,的确没有提供一个完整的makefile文件给大家,让大家不清楚makefile文件到底需要哪些内容。
希望你不要嫌我说话太直,也希望你的这本书越来越完善,越来越受欢迎。谢谢了!