cycript 디버그

4700 단어

recursiveDescription - UIView 객체 인쇄

cy# [[UIApp keyWindow] recursiveDescription].toString()
`; layer = >
   | >
   |    | >
   |    |    | >
   |    |    |    | ; layer = >
   |    |    |    |    | >
   |    |    |    |    |    | >
...
   |    |    | >
   |    |    |    | 

_printHierarchy - 모든 UIViewController를 직접 인쇄

[[[UIWindow keyWindow] rootViewController] _printHierarchy].toString()

_autolayoutTrace - Recursive Description의 간략한 버전입니다. UIView의 설명을 삭제했습니다.

cy# [[UIApp keyWindow] _autolayoutTrace].toString()
*<0x156b6410>
|   *<0x16258d80>
|   |   *<0x16259610>
|   |   |   *<0x16243bb0>
|   |   |   |   *<0x1601dd70>
|   |   |   |   |   *<0x16004cc0>
|   |   |   |   |   |   *<0x1629d9a0>
...
|   |   |   |   <0x1624b250>
|   |   |   <0x160055a0>
|   |   |   |   <0x16004ec0>
|   |   |   <0x16259810>
|   |   |   |   <0x1625a180>`

_ivarDescription - 객체의 모든 instance 이름과 값을 인쇄합니다.

cy# [choose(SBApplication)[0] _ivarDescription].toString()
`:
in SBApplication:
\t_bundleIdentifier (NSString*): @"com.apple.social.remoteui.SocialUIService"
\t_displayIdentifier (NSString*): @"com.apple.social.remoteui.SocialUIService"
\t_path (NSString*): @"/Applications/SocialUIService.app"
\t_bundleVersion (NSString*): @"87"
\t_defaultImageNamesByScreenType (NSMutableDictionary*): <__nsdictionarym:>
\t_defaultImageNamesForOrientation (NSDictionary*): nil
...
in NSObject:
\tisa (Class): SBApplication`

_methodDescription - 객체의 속성, 인스턴스 및 클래스 인쇄 방법

cy# [choose(SBApplicationController)[0] _methodDescription].toString()
`:
in SBApplicationController:
\tClass Methods:
\t\t+ (void) setClearSystemAppSnapshotsWhenLoaded:(BOOL)arg1; (0x1b2ad1)
...
\t\t+ (id) sharedInstanceIfExists; (0x1b2b6d)
\tInstance Methods:
\t\t- (id) setupApplication; (0x1b3e3d)
...
\t\t- (id) applicationWithDisplayIdentifier:(id)arg1; (0x1b3d0d)
in NSObject:
\tClass Methods:
\t\t+ (bool) cy\$hasImplicitProperties; (0xdb45d80)
...
\t\t+ (void) finalize; (0x39a49ad1)
\tProperties:
\t\t@property (nonatomic) BOOL isAccessibilityElement;  (@dynamic isAccessibilityElement;)
...
\t\t@property (nonatomic) BOOL shouldGroupAccessibilityChildren;  (@dynamic shouldGroupAccessibilityChildren;)
\tInstance Methods:
\t\t- (id) cy\$toCYON:(bool)arg1 inSet:(set, std::allocator >*)arg2; (0xdb45b60)
...
\t\t- (void) finalize; (0x39a49ad5)`

대상 App에 대한 Documents 디렉토리 경로 찾기

cycript -p TargetApp
cy# [[NSFileManager defaultManager] URLsForDirectory:NSDocumentDirectory inDomains:NSUserDomainMask][0] 

bundle info 가져오기

[[NSBundle mainBundle] infoDictionary].toString()

좋은 웹페이지 즐겨찾기