3

好的,我正在尝试创建一个可可库(静态)并使用,但我不断收到错误消息。

我创建了一个超级基本的静态库 ( TSXLib),其中只有一个附加类。

#import <Foundation/Foundation.h>

@interface ClassOne : NSObject

- (void)doIt;

@end

#import "ClassOne.h"

@implementation ClassOne

- (void)doIt
{
    NSLog(@"Oops... I did it again!");
}

@end

然后,我将动态库安装名称(在构建设置中)设置为:

@executable_path/../Frameworks/libTSXLib.a

现在在我的测试项目中:

  • 我拖放libTSXLib.a文件(并将其复制到目标)
  • 添加了一个构建阶段(复制文件),我将其复制libTSXLib.aFrameworks
  • 然后我要去我的AppDelegate.m并尝试导入我图书馆的课程
  • #import <ClassOne.h>,编译器抛出一个找不到类的错误

有任何想法吗?


注意: 我实际上对库、框架等感到很困惑(这就是为什么我倾向于尽可能避免它们)。我要做的就是打包一些类/函数,以便我可以在不同的项目中轻松地重用它们。不管是框架,还是库,我真的不在乎。我需要的是:打包并重用我的代码。(在捆绑时阻止任何人查看/使用其中的内容的能力将是一个加号)

4

1 回答 1

7

好的,所以,一段时间后回来,这就是我为使其正常工作所做的工作:

第 1 步:创建库

  • 使用内置的 Cocoa 库模板创建一个新项目
  • 库类型设置为静态
  • 添加你的类/函数/任何
  • Build Phases下,注意哪些标头将变为Public

第 2 步:在测试项目中使用库

  • 将最终的 .a 库文件拖放到项目中(如果您也将其复制到目标目录也没关系)
  • 链接到图书馆
  • 将用户标头搜索路径更新为您的初始库.a文件来源(使用递归(如/the/path/to/your/library/folder/**
  • 始终搜索用户路径设置为YES
  • 在Build Settings下添加-ObjCOther Linker Flags
于 2013-02-12T02:22:23.940 回答