Swizzling 不在框架中工作

Swizzling Not Working in a framework

我正在开发一个 iOS 框架,需要编写一个 swizzling 方法(用于 UIViewController 中的 viewDidAppear 方法)。

我的 swizzling 方法在我的应用程序中完美运行。但是当我 cut/paste 我的 header+ 实现文件到我的框架并启动应用程序时,它不起作用。我在 load 方法中放置了一个 NSLog,但它没有打印任何内容。

对于 swizzling,我遵循了这个教程: http://spin.atomicobject.com/2014/12/30/method-swizzling-objective-c/ 我在 public header 中添加了我的 "UIViewController+Logging.h"。

知道为什么它不起作用吗?

那是因为应用程序启动时您的类别不会自动加载。看到这个问题:Objective-C categories in static library