Skip to content

Check retain-cycle automatically when developing iOS app

License

Notifications You must be signed in to change notification settings

HaloWang/WCRetainCycleChecker

Repository files navigation

WCRetainCycleChecker

WCRetainCycleChecker is a tool to check the retain-cycle between UIViewController subclass and proterties it retains.

🇨🇳 中文

How it work?

WCRetainCycleChecker use method swizzling to change the implementation of UIViewController.viewDidDisappear.

Installation

pod 'WCRetainCycleChecker', :configurations => ['Debug']

Then:

cd YOUR_PODFILE_PATH && pod install

After finish it, WCRetainCycleChecker will effect in your project. If your UIViewController subclass has retain-cycle, WCRetainCycleChecker will warn you with following message:

Warning:<RetainedViewController: 0x7fa789f01800> still in memory after `-viewDidDisappear` (2s)

More

You can also use FBRetainCycleDetector in WCRetainCycleChecker.retainCycleFound callback to get more infomation.

There is also a repo called MLeaksFinder which is more powerful than mine 👍.