使用ARC创建KalViewController对象?

时间:2012-01-03 22:28:46

标签: xcode

我成功安装了&链接Kal Calendar的静态库。但是,我正在努力创建一个日历对象而不使用alloc&在ARC环境下自动释放。我试图通过使用“-fno-objc-arc”来关闭ARC选项......但是它给了我'Apple Mach-O Linker(Id)Error'

有没有人成功地将它与ARC和故事板一起使用? :'(

编辑:这是我收到的错误消息。

Ld Test.app/Test正常i386     cd / Users / Phrixus / Desktop / Test     setenv MACOSX_DEPLOYMENT_TARGET 10.6     setenv PATH“/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin:/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin”     /Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/clang -arch i386 -isysroot /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator5.0.sdk -L / Users / Phrixus / Desktop / Test - F / Users / Phrixus / Desktop / Test -filelist /Users/Phrixus/Library/Developer/Xcode/DerivedData/Test-cwrxnjyllxlrlmczaymhzykteqlq/Build/Intermediates/Test.build/Debug-iphonesimulator/Test.build/Objects-normal/i386/ Test.LinkFileList -mmacosx-version-min = 10.6 -Xlinker -objc_abi_version -Xlinker 2 -Objc -all_load -fobjc-arc -Xlinker -no_implicit_dylibs -D__IPHONE_OS_VERSION_MIN_REQUIRED = 50000 -framework UIKit -framework Foundation -framework CoreGraphics -o / Users / Phrixus /桌面/测试/ Test.app /测试

架构i386的未定义符号:   “_OBJC_CLASS _ $ _ KalViewController”,引自:       CalendarViewController.o中的objc-class-ref ld:找不到架构i386的符号 clang:错误:链接器命令失败,退出代码为1(使用-v查看调用)

2 个答案:

答案 0 :(得分:2)

我怀疑,这不是ARC问题。

您正在为模拟器构建,但您尝试链接的库是针对该设备的。

要么A)弄清楚如何构建和安装与模拟器兼容的KalViewController版本并链接它。

或B)

确保图书馆真正包含在内。换句话说,是否检查了libKal.a目标复选框?我为你和found somebody else who appears to have solved the same problem that you have做了一些谷歌搜索。

答案 1 :(得分:0)

如果在安装时遇到问题,或者只是选择不将其添加为静态库,我认为您不必将libKal.a包含为静态库。 您可以在项目中创建一个新组,并添加Kal(和Kal.bundle)中的所有.h和.m文件。 如果您正在使用ARC,则会编译错误,但您可以转到“构建阶段”下的“编译源”并为Kal文件添加选项-fno-objc-arc。 通过这种方式,您可以使用带有ARC的Kal库。