【问题标题】:"unrecognized selector sent to instance" to a static library despite ObjC flag尽管有 ObjC 标志,但将“无法识别的选择器发送到实例”发送到静态库
【发布时间】:2011-05-17 16:50:41
【问题描述】:

我的应用程序出现运行时错误:

2011-05-17 09:42:31.124 rxsync[67464:207] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[NSMutableURLRequest setHTTPBodyWithFormMultipartValues:fileNames:contentTypes:usingBoundary:]: unrecognized selector sent to instance 0x4e3cd90'

此方法NSMutableURLRequest setHTTPBodyWithFormMultipartValues: fileNames: contentTypes: usingBoundary:] 由我的 .xcworkspace 中的静态库定义。

这是我目前检查过的内容:

  1. 静态库包含在我的Link Binary With Libraries阶段中。
  2. 我的应用程序的其他链接器标志 (OTHER_LDFLAGS = -ObjC) 中有 ObjC。 (事实上​​,我的静态库中也有它,因为它基于同一个 xcconfig 文件。)
  3. 我的 .h 和 .m 文件中的签名相同。
  4. 静态库肯定已重建。
  5. 我已验证我向其发送消息的对象是有效的。

我错过了哪些可能性?

我使用的是 Xcode 4.0.2。这是一个 iPhone 目标。

【问题讨论】:

    标签: xcode static-libraries


    【解决方案1】:

    您还需要将 -all_load 添加到正在使用您的静态库的目标的其他链接器标志中。

    【讨论】:

    • 修复了它。谢谢。我看到了对此的引用,但我认为它仅适用于 Xcode 3。:)
    • 这也解决了我的问题。我们怎么会知道呢?
    • 我前段时间遇到了这个问题,并在编译器/链接器文档中进行了搜索。我花了一些时间来解决这个问题......
    猜你喜欢
    • 1970-01-01
    • 2019-08-28
    • 2012-07-24
    相关资源
    最近更新 更多