我正在尝试为 iPhone 上的应用程序编写调整。我在 Objective C 和 iPhone 开发方面有很好的背景,但我从来没有做过任何 Cydia 越狱调整,除了一些关于使用 rpetrich 转储头文件进行调整的教程。我希望使用 PoedCrackMod 来解密,使用 class-dump-z 来获取标头,然后使用 theos/logos 来修补破解的应用程序。
我已经开始运行 PoedCrackMod 来解密应用程序。这会产生一个 .ipa 文件,然后我可以提取该文件以获得 .app 文件,其中包含实际的应用程序二进制文件。
我可以使用
class-dump-z -k -k -H -g -o ~/dumped_headers/ Foo
继续获取头文件目录。我将这些标头复制到 $THEOS/include/Foo。(我应该在这里使用 -g 选项 [仅显示导出的类],还是我也可以挂钩非导出的类?)
此时,我应该能够创建一个如下所示的tweak.xm 文件:
#import <Foo/Foo.h>
作为参考,makefile 看起来像:
include theos/makefiles/common.mk
TWEAK_NAME = FooTweak
FooTweak_FILES = Tweak.xm
include $(THEOS_MAKE_PATH)/tweak.mk
当我继续尝试编译我的 Tweak(此时它应该什么都不做)时,我想出了各种重复的声明错误。这是正常的,还是我做错了什么?
如果是正常的,我该如何纠正呢?我试过注释掉重复的声明,在这种情况下我可以编译它。我已经插入了 20 多个在调用该方法时创建 UIAlertViews 的钩子,但它们似乎都没有触发 - 让我相信我没有钩住没有被调用的方法,但我要么在做转储标头或将标头导入到我的调整中是否有错误?
有没有人对我可能做错了什么有任何见解?