Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/120.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
iOS静态库能否包含可由使用该库的iOS代码使用/实现的类/接口?_Ios_Macos_Static Libraries_Ios Frameworks - Fatal编程技术网

iOS静态库能否包含可由使用该库的iOS代码使用/实现的类/接口?

iOS静态库能否包含可由使用该库的iOS代码使用/实现的类/接口?,ios,macos,static-libraries,ios-frameworks,Ios,Macos,Static Libraries,Ios Frameworks,如果这是一个愚蠢的问题,或者没有意义,我道歉。我以前写过一些Objective-C代码,但我不太熟悉为OSX或iOS编写代码;我几乎是个新手。目前,我正在尝试将一个项目从OSX移植到iOS。该项目编译成一个框架,其他OSX项目可以使用 我正在尝试为iOS做类似的事情。我知道iOS不支持包含dylibs的框架,解决方案是创建一个静态库。但是,OSX框架有几个类(在.m文件中),实现代码使用、扩展或实现这些类。我看到的所有静态库示例似乎都定义了一个头文件,其中包含一些可以编译到静态库中的函数 是否可

如果这是一个愚蠢的问题,或者没有意义,我道歉。我以前写过一些Objective-C代码,但我不太熟悉为OSX或iOS编写代码;我几乎是个新手。目前,我正在尝试将一个项目从OSX移植到iOS。该项目编译成一个框架,其他OSX项目可以使用

我正在尝试为iOS做类似的事情。我知道iOS不支持包含
dylib
s的框架,解决方案是创建一个静态库。但是,OSX框架有几个类(在
.m
文件中),实现代码使用、扩展或实现这些类。我看到的所有静态库示例似乎都定义了一个头文件,其中包含一些可以编译到静态库中的函数


是否可以在静态库中包含iOS代码可以使用的类?另外,如何判断代码是否使用动态库?

是的,静态库可以包含Objective-C类


在某些情况下,您需要将选项传递给链接器,以强制链接器包含静态库中定义的所有类和类别。请参见

您的断言并不完全正确。iOS确实支持框架,但它们不能包含
dylib
s。非常重要的区别。@RichardJ.RossIII感谢您的澄清!就像我说的,我是个新手。我如何判断我移植的代码是否使用动态库?Richard对我的问题发表了评论,并说如果项目包含动态库,我就无法转换项目。我知道该项目使用第三方库。这些被认为是动态库吗?您将无法在iOS上使用任何OS X库,无论是动态库还是静态库。您需要这些库的iOS版本,如果第三方供应商不提供这些库,并且它们的源代码不可用,那么您就不能使用它们。