iOS 앱 개발을 위한 인앱 디버거 제작
만든 것
CocoaPods
@noppefoxwolf 의 코드를 상당히 참고로 만들었습니다.
용도
iOS 앱을 만들고 있고, 현재의 UserDefaults 상태를 보거나, 접속처의 서버 바꾸거나, DB내의 데이터를 보거나 하고 싶은 일이 있다고 생각합니다.
그런 때 사용하기 쉬운 디버거 만들었습니다.
디버거라고 해도, 요컨대 언제라도 누를 수 있어 어디에서나 움직일 수 있는, 디버거를 여는 버튼을 간단하게 만드는 녀석입니다.
그리고 그 안에 표시하는 것을 플러그인으로 만들 수 있도록 했습니다.
사용법
Example과 Recommended Plugins를 보는 것이 빠르다고 생각합니다.
초기화
AppDelegate에서 싱글 톤에 대한 초기화 메서드를 호출하면됩니다.
인수에 사용하고 싶은 디버거의 클래스를 건네줍니다.
덧붙여서 다른 인수에서는, 초기화 위치의 지정, 메뉴의 정렬의 유무, 디버거의 바닥글에 내는 view의 지정을 할 수 있습니다.
AppDelegate.swift
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
DebugHead.sharedInstance.prepare(menuClasses: [DebugMenuExit.self, DebugMenuHideDebugHead.self, DebugMenuFooViewController.self])
return true
}
플러그인을 만드는 방법
프로토콜에 준거한 클래스를 만들어 초기화 메소드에 건네줄 뿐입니다.
DebugMenu
public class DebugMenuFoo: DebugMenu {
// tableViewで表示される名前。
public static let debugMenuTitle = "Title"
// そのメニューの危険性。メニューの表示色がかわる。sortがtrueだと危険性順にソートされる。
public static let debugMenuDangerLevel = DebugMenuDangerLevel.[None or Low or High or Extreme]
// メニューのところのアクセサリー。
public static let debugMenuAccessoryType = UITableViewCellAccessoryType.None
// メニューが選択された時の動作。UIViewControllerのインスタンスを返すと、それが表示される。
public static func debugMenuSelected(debugHead: UIView, debugMenuTableViewController: UITableViewController) -> UIViewController? {
// Do something
return nil
}
}
이상!
꼭 플러그인 만들어 공개해 주세요! (CoreData 브라우저라든지 Realm 브라우저라든지… 원한다)
Reference
이 문제에 관하여(iOS 앱 개발을 위한 인앱 디버거 제작), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/malt03/items/9ca22e0df67e764427d6텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)