【问题标题】:CocoaPods UIImageView+AFNetworking.h unrecognized selector setImageWithURLRequestCocoaPods UIImageView+AFNetworking.h 无法识别的选择器 setImageWithURLRequest
【发布时间】:2014-03-04 18:31:05
【问题描述】:

我在 Xcode 5 上安装了 AFNetworking 2.1.0CocoaPods

//ViewController.h
#import <AFNetworking/AFNetworking.h>
#import <AFNetworking/UIImageView+AFNetworking.h>

在 UIImageview 上调用 setImageWithURLRequest 应用程序失败并显示此日志:

这是错误日志:

2014-02-07 11:55:19.984 OPS[1717:60b] *** Terminating app 
due to uncaught exception'NSInvalidArgumentException', 
reason: '-[UIImageViewsetImageWithURLRequest:placeholderImage:success:failure:]: 
unrecognized selector sent to instance 0x147b06d0'

我发现了一些关于这个问题的讨论,但提供的解决方案(添加 -ObjC -all_load)在我的情况下不起作用。

有什么想法吗?

谢谢

【问题讨论】:

  • 您的方法调用中是否缺少空格?您使用哪个版本的 AFNetworking?
  • 我正在使用 AFNetworking 2.1.0。没有空格丢失,实际上错误是在运行时而不是在编译时
  • 你试过更简单的 [yourImageView setImageWithURL:theImageURL]; ?
  • 您可以添加您的代码 sn-p 吗?您是否尝试更新最新的可可豆荚并再次运行 pod install?
  • 你能 NSLog 你的 [imageView 类] 吗?只是为了确保在运行时它实际上是一个 UIImageView 并且它没有指向其他东西

标签: ios xcode5 afnetworking cocoapods objective-c-category


【解决方案1】:

Xcode 5CocoapodsAFNetworking 1.3.3 也有同样的问题。

我在此 Google 网上论坛讨论中找到了答案:AFNetworking unrecognized selector

确保您的项目和目标设置没有覆盖 xcconfig 文件中的值。

每个级别都应该(至少)有 $(inherited) 来继承父级的设置。

在 Build Settings 中,确保您在 Other Linker Flags 中有 $(inherited)

在我添加 $(inherited) 之前构建设置(选择级别,而不是组合):

添加$(inherited)后的构建设置:

这为我解决了问题。

【讨论】:

  • 感谢您解决了问题。我之前尝试过这个修复,但我只在项目中添加了 $(inherited) 而不是在目标中。
  • 这解决了我的问题!它只是在目标中改变。双击其他链接器标志(您的项目名称选项卡)并添加 $(inherited)
  • 非常感谢您! CocoaPods 警告过我这一点,但我实际上并不知道您可以保留现有标志并使用 $(inherited) 。我的错。
【解决方案2】:

我有同样的问题,上面的解决方案没有解决它。这是一个愚蠢的错误。我只包含了 .h,而不是 .h 和 .m

【讨论】:

    【解决方案3】:

    检查 PodFile。可能是为另一个目标设置安装“pod 'AFNetworking', '~> 3.0'”。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-25
      • 2018-01-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多