我在过去两天遇到了一些问题,我在互联网上找不到任何可以帮助我解决的问题。
问题在于:
在过去的两天里,我尝试了以下方法:
有一点非常奇怪的是,我已根据此Stack Overflow打印了我的框架中可用的方法,在第一个项目中我有 130 方法,第二个我只有 72 方法。
有人知道发生了什么吗?
此致
杰里米
答案 0 :(得分:1)
您需要这样做的主要原因是静态库中的类别或其他动态元素。 Objective C的Categories与Swift中的扩展大致相同,因此您可以使用其他方法扩展类/对象。
在Objective C中,您可以创建一个静态库以链接到您的项目。但是,如果没有此标志(特定库的-force_load的-ObjC),则不会在库外部加载类别的符号。我想最初的动机是使用类别作为内部资源,所以默认情况下不加载它们。这也使二进制文件变得更小。然而,许多库实际上添加了他们想要公开的类别(==扩展名),因此通常需要使用标志。
希望有所帮助^ _ ^。
答案 1 :(得分:0)
我终于找出导致问题的原因。我需要在第二个项目的Build Settings中的“Other Linker Flags”中添加 -ObjC 标志。
我不明白为什么没有这个标志,框架只有72个方法,并且使用标志所有方法都可用。有人有想法吗?