我对Xcode 4.X中的静态Libary事物太过分了。
以下是我通常采取的步骤..
1)为了创建一个静态库,我打开Xcode,新的静态库,然后在项目中添加一些类..然后构建阶段 - >复制头 - >在这里逐个添加所有标题,然后我建立项目 在ios模拟器上运行时 - >静态库不会创建..(红色) 在ios设备上运行时 - >静态库被创建..
2)使用图书馆.. 我创建了一个新项目,然后我“将文件添加到项目中”,并且“如果需要则复制”以下2个文件。 .a文件(即静态图书馆) 包含库文件头的文件夹
现在,当我尝试在我的项目中导入头文件时,没有出现“建议”......但我仍在写,并且它没有出现错误“找不到头文件”......
但是当我运行项目时,会出现如下错误:
ld:警告:忽略文件 /Users/Subodh/Library/Developer/Xcode/DerivedData/LibraryImporting_test-cbchzzjdcehzvfgwmzbvifrnrwgk/Build/Products/Debug-iphoneos/libLibraryImporting_test.a, 文件是为存档而构建的,而不是链接的体系结构 (I386): /Users/Subodh/Library/Developer/Xcode/DerivedData/LibraryImporting_test-cbchzzjdcehzvfgwmzbvifrnrwgk/Build/Products/Debug-iphoneos/libLibraryImporting_test.a
Undefined symbols for architecture i386:
"_OBJC_CLASS_$_LibraryImporting_test", referenced from:
objc-class-ref in AppDelegate.o
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Plz指导我....指出如果在某个步骤出错......请帮助PLZ 如果有人提到我在制作图书馆并在项目中使用它所做的所有步骤会更好......这将是一个很好的帮助
答案 0 :(得分:3)
问题的关键是错误消息的这一部分:
文件是为归档而构建的,而不是被链接的体系结构 (I386)
您已经导入了为iPhone设备(ARM)构建的库,并且您正尝试在i386的iPhone模拟器中使用它。
我建议使用Xcode Workspace,其中静态库项目是其中一个项目,而iPhone应用程序是另一个项目。这样,Xcode将根据需要为Debug / Release和Device / Simulator构建库。