启用ARC的Theos构建系统

4

我目前正在使用theos构建系统为越狱的iPhone编写应用程序和调整。是否有一种方法可以在theos中为特定项目启用自动引用计数?

我已经谷歌搜索并尝试解密theos makefiles,但我没有找到任何东西。


我认为它不会,因为ARC是由Xcode编译器提供的,在Theos中你必须硬编码所有内容。我建议尝试iOSOpenDev,因为你可以使用Logos制作一个tweak,并且基本上可以做到Theos所能做到的一切。此外,你可以在Xcode中使用代码完成和ARC来完成这些工作。 - Chris Loonam
相信theos使用与Xcode相同的编译器(llvm),应该有一种方法来设置编译器标志...我想。我在iOSOpenDev上遇到了很多问题(而且我更喜欢Sublime Text作为代码编辑器,而不是Xcode)。 - drewmm
2个回答

12

我不会取消接受上面的答案,因为我怀疑这可能只是与拥有不同版本的theos有关,而上面的答案确实让我找到了所需的东西。事实证明,至少对于我使用的theos版本,要设置的环境变量为

ADDITIONAL_OBJCFLAGS = -fobjc-arc

(ADDITIONAL_CFLAGS也是一种选项,但我认为在直接使用C语言的代码上启用ARC是否有意义并不重要)。

(ADDITIONAL_CFLAGS 是另一个选项,但我认为对于纯C代码启用ARC是否有意义并不重要。)


很高兴我们走上了正确的道路。我刚刚发现那个make文件是一个演示。很高兴你解决了它。 - j_mcnally
@drewmm - 由于我使用iOSOpenDev,我找不到我的项目的make file文件。我应该把它放在哪里? - TorukMakto

4
请查看https://github.com/Maxner/BrightnessFix/blob/master/Makefile
ARCHS=armv7 armv7s
TARGET_IPHONEOS_DEPLOYMENT_VERSION = 6.0
TARGET_CC = xcrun -sdk iphoneos clang 
TARGET_CXX = xcrun -sdk iphoneos clang++
TARGET_LD = xcrun -sdk iphoneos clang++
SHARED_CFLAGS = -fobjc-arc

include theos/makefiles/common.mk

TWEAK_NAME = BrightnessFix
BrightnessFix_FILES = Tweak.xm
BrightnessFix_FRAMEWORKS = UIKit

include $(THEOS_MAKE_PATH)/tweak.mk

SHARED_CFLAGS = -fobjc-arc

这就是你要找的内容。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接