libcat 콘솔과 함께 하는 아이폰아이패드 앱 개발
TRANSCRIPT
libcat iDiD z�z� w�w� HUtHUq�HUtHUq� JJ �2�2iOST @'O �2 36 C0�12Q 12W (E) 12G 30< ~ 17G 00<���x� Xx`9� 304}
�:�: HU"KHU"KShellLA SystemS M�9! iOS UIControllers, UIViews M�9��;^V � S 9� c�P
|\ ~-S Bw� ho)%, =T ?lRails Console �Wy {interactive"5�S 9� s*w�
Logging bU�Breakpoint �d I�Compile, Run � w�"1UFLA� ,e�d
a4� RA5 <-> Console <-> R>#N]
�[�[.� �fT k$F `9, u'rp 9�, aZ
k$F a�f ?l�; 8E "nWw� 9�
u'rpT _�, 8view.hidden = trueview.frame = {{10,10}, {100,100}}
UI �f y�L M�9�open (o)flick (f)drag (d)
Y�~Fj+o ZBUI mg U7o �(, ][, *v&U"1UF, G/&Um �� �
B Blibcat/script/PrivateAPI/TestCases/SimpleApp/TestApp/LibcatPresentation/
.
Console~/libcat/script$ ./console.rbls TARGET : list target object (l) help : help (h) > ls : list current object quit : quit (q) > ls -r : list recursive about : about libcat Consolecd TARGET : change target object clear : clear the screen > cd : to topViewController history : input commands history > cd . : to self sleep N : sleep N seconds > cd .. : to superview > cd / : to rootViewController class introspection > cd ~ : to keyWindow > classInfo TARGET (c) > cd ~~ : to UIApplication > methods TARGET (m) > cd 0 : at index as listed > classMethods TARGET (M) > cd 1 0 : at section and row > ivars TARGET (i) > cd Title : labeled as Title > protocols TARGET > cd view : to property > UIApplication > cd UIButton : to class > UITableViewDelegate > cd 0x6067490 : at memory address enum ENUMTYPE : enum type infopwd : view & controller hierarchy > enum UIInterfaceOrientationPortraitproperties TARGET : list properties (p) > enum UIInterfaceOrientation > text : property getter map ARGS > text = hello : property setter > view.subviews.map text frame.sizeflick TARGET : flick target UI (f) events (USE_PRIVATE_API) : list touch events (e)touch TARGET : touch target UI (t) > events record : record on/off (er)back : popViewController UI (b) > events play : play events (ep)drag TARGET : drag target UI (d) > events cut N : cut N events (ex)rm TARGET : removeFromSuperview UI > events clear : clear events (ec)png TARGET : capture target as image UI > events replay NAME : replay events (ee) > events save NAME : save events (es)open : open Safari UI (o) > events load NAME : load events (el)
Object Navigationls TARGETcd TARGETpwd
TARGET> cd . : to self > cd .. : to superview > cd / : to rootViewController> cd ~ : to keyWindow> cd ~~ : to UIApplication> cd 0 : at index as listed > cd 1 0 : at section and row> cd -1 0 : at index on toolbar> cd Title : labeled as Title > cd view : to property > cd UIButton : to class > cd 0x6067490 : at memory address
Properties> properties> text> backgroundColor> view.frame.size> text = hello> backgroundColor = redColor> alpha = 0.5> view.frame = {{0, 0}, {320, 416}}
.
Class Introspection> classInfo TARGET (c)> methods TARGET (m)> classMethods TARGET (M)> ivars TARGET (i)> protocols TARGET> UIApplication> UITableViewDelegate
map ARGS> view.subviews.map text frame.size> view.subviews.map frame subviews.count
Show UIViews on Web Browseropen
UI commandsflash (f)touch (t)back (b)drag (d)rm TARGETpng TARGET
Automation Scriptrequire './console'c = Console.newc.input 'ls'c.input 'view.backgroundColor = greenColor'
script/test_script.rb
UI Events Recorder> events : list touch events (e)> events record : record on/off (er)> events play : play events (ep)> events cut N : cut N events (ex)> events clear : clear events (ec)> events replay NAME : replay events (ee)> events save NAME : save events (es)> events load NAME : load events (el)
USEPRIVATEAPI=1
Examplesobject introspection https://gist.github.com/879287media query https://gist.github.com/870633list properties https://gist.github.com/831768