A guard to help you check if you make UI changes not in main thread
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
Carthage/Build/iOS
ODUIThreadGuard.xcodeproj
ODUIThreadGuard
ODUIThreadGuardFrameWork
ODUIThreadGuardFrameWorkTests
ODUIThreadGuardTests
ODUIThreadGuardUITests Initial Commit Dec 23, 2016
Sources
DemoScreenShot.jpeg
LICENSE
ODUIThreadGuard.podspec
README.md

README.md

ODUIThreadGuard

ODUIThreadGuard is a guard to help check if you make UI changes not in main thread.

As Xcode 9 embedded this function into Xcode, there is no reason to maintain this project in the feature, Happy Coding.

Carthage compatible CocoaPods Support Swift Version License MIT

ODUIThreadGuard is a guard to help check if you make UI changes not in main thread. Highly recommend you add this file to your project as early as possible.

ScreenShot

Features

  • Passive implementation
  • Throw an assertion if setNeedsDisplay, setNeedsLayout, or setNeedsDisplayInRect: is called for instantiation of any UIView
  • Get the thread stack to help you locate where you make the mistake

Usage

No matter which way you use ODUIThreadGuard, no need to import any files, it is a extension of UIView, so it will work automatically.

CocoaPods

You can use CocoaPods to install ODUIThreadGuard by adding it to your Podfile:

platform :ios, '8.0'
use_frameworks!
pod 'ODUIThreadGuard'

Then drop ODUIThreadGuard.swift into your porject.

Carthage

Create a Cartfile that lists the framework and run carthage update. Follow the instructions to add $(SRCROOT)/Carthage/Build/iOS/YourLibrary.framework to an iOS project.

github "olddonkey/ODUIThreadGuard"

Manually

  1. Download and drop ODUIThreadGuard.swift in your project.
  2. Congratulations!

You can change the pre compile flag to change the setting, in default, this only runs in DEBUG mode, so won't affect users in Release.

Requirements

  • iOS 8.0+
  • Swift 3

The main development of ODUIThreadGuard is based on Swift 3.

Contact

Follow and contact me through email: olddonkeyblog@gmail.com. If you find an issue, just open a ticket on it. Pull requests are warmly welcome as well.

License

ODUIThreadGuard is released under the MIT license. See LICENSE for details.