SlideShare a Scribd company logo
1 of 3
Download to read offline
libcat
    iOS
    12 12        (   ) 12    30    ~ 17   00
                                  304




    Shell        System                   iOS UIControllers, UIViews

                                               ,
    Rails Console
    interactive

            Logging
            Breakpoint
            Compile, Run


                            <-> Console <->




                                  ,                ,



                       ,
            view.hidden = true
            view.frame = {{10,10}, {100,100}}
    UI
            open (o)
            flick (f)
            drag (d)


            UI                        ,   ,
                        ,




libcat/
script/
PrivateAPI/
TestCases/
SimpleApp/
TestApp/
LibcatPresentation/




.
Console
~/libcat/script$ ./console.rb
ls TARGET           : list target object (l)        help      :   help (h)
  > ls              : list current object           quit      :   quit (q)
  > ls -r           : list recursive                about     :   about libcat Console
cd 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 info
pwd                 : view & controller hierarchy     > enum UIInterfaceOrientationPortrait
properties TARGET   : list properties (p)             > enum UIInterfaceOrientation
  > text            : property getter               map ARGS
  > text = hello    : property setter                 > view.subviews.map text frame.size
flick 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 Navigation
         ls TARGET
         cd TARGET
         pwd

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 Browser
      open

UI commands
      flash (f)
      touch (t)
      back (b)
      drag (d)
      rm TARGET
      png TARGET

Automation Script
require './console'
c = Console.new
c.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

Examples
      object introspection https://gist.github.com/879287
      media query https://gist.github.com/870633
      list properties https://gist.github.com/831768

More Related Content

What's hot

basic shell_programs
 basic shell_programs basic shell_programs
basic shell_programsmadhugvskr
 
PHP in 2018 - Q4 - AFUP Limoges
PHP in 2018 - Q4 - AFUP LimogesPHP in 2018 - Q4 - AFUP Limoges
PHP in 2018 - Q4 - AFUP Limoges✅ William Pinaud
 
Chaincode Development 區塊鏈鏈碼開發
Chaincode Development 區塊鏈鏈碼開發Chaincode Development 區塊鏈鏈碼開發
Chaincode Development 區塊鏈鏈碼開發HO-HSUN LIN
 
20191116 custom operators in swift
20191116 custom operators in swift20191116 custom operators in swift
20191116 custom operators in swiftChiwon Song
 
Beginning web programming with PHP [PHP 101-02]
Beginning web programming with PHP [PHP 101-02]Beginning web programming with PHP [PHP 101-02]
Beginning web programming with PHP [PHP 101-02]Mozammel Haque
 
Diagrama de flujo de simulacion de variables
Diagrama de flujo de simulacion de variablesDiagrama de flujo de simulacion de variables
Diagrama de flujo de simulacion de variablesErickPea26
 
Javascript - The basics
Javascript - The basicsJavascript - The basics
Javascript - The basicsBruno Paulino
 
Web Components With Rails
Web Components With RailsWeb Components With Rails
Web Components With RailsBoris Nadion
 
MySQL Create Table
MySQL Create TableMySQL Create Table
MySQL Create TableHoyoung Jung
 
How to count money using PHP and not lose money
How to count money using PHP and not lose moneyHow to count money using PHP and not lose money
How to count money using PHP and not lose moneyPiotr Horzycki
 
Oracle (SQL), Sulieman Khudruj
Oracle (SQL), Sulieman KhudrujOracle (SQL), Sulieman Khudruj
Oracle (SQL), Sulieman KhudrujSulieman Khudruj
 
GHC Participant Training
GHC Participant TrainingGHC Participant Training
GHC Participant TrainingAidIQ
 
RAILWAY RESERWATION PROJECT PROGRAM
RAILWAY RESERWATION PROJECT PROGRAMRAILWAY RESERWATION PROJECT PROGRAM
RAILWAY RESERWATION PROJECT PROGRAMKrishna Raj
 
Laziness in Swift
Laziness in Swift Laziness in Swift
Laziness in Swift SwiftWro
 

What's hot (20)

M.php
M.phpM.php
M.php
 
basic shell_programs
 basic shell_programs basic shell_programs
basic shell_programs
 
PHP in 2018 - Q4 - AFUP Limoges
PHP in 2018 - Q4 - AFUP LimogesPHP in 2018 - Q4 - AFUP Limoges
PHP in 2018 - Q4 - AFUP Limoges
 
Chaincode Development 區塊鏈鏈碼開發
Chaincode Development 區塊鏈鏈碼開發Chaincode Development 區塊鏈鏈碼開發
Chaincode Development 區塊鏈鏈碼開發
 
20191116 custom operators in swift
20191116 custom operators in swift20191116 custom operators in swift
20191116 custom operators in swift
 
ES6: The future is now
ES6: The future is nowES6: The future is now
ES6: The future is now
 
Beginning web programming with PHP [PHP 101-02]
Beginning web programming with PHP [PHP 101-02]Beginning web programming with PHP [PHP 101-02]
Beginning web programming with PHP [PHP 101-02]
 
Diagrama de flujo de simulacion de variables
Diagrama de flujo de simulacion de variablesDiagrama de flujo de simulacion de variables
Diagrama de flujo de simulacion de variables
 
mobl
moblmobl
mobl
 
package org dev
package org devpackage org dev
package org dev
 
Javascript - The basics
Javascript - The basicsJavascript - The basics
Javascript - The basics
 
Web Components With Rails
Web Components With RailsWeb Components With Rails
Web Components With Rails
 
MySQL Create Table
MySQL Create TableMySQL Create Table
MySQL Create Table
 
How to count money using PHP and not lose money
How to count money using PHP and not lose moneyHow to count money using PHP and not lose money
How to count money using PHP and not lose money
 
C99[2]
C99[2]C99[2]
C99[2]
 
Oracle (SQL), Sulieman Khudruj
Oracle (SQL), Sulieman KhudrujOracle (SQL), Sulieman Khudruj
Oracle (SQL), Sulieman Khudruj
 
Ccc
CccCcc
Ccc
 
GHC Participant Training
GHC Participant TrainingGHC Participant Training
GHC Participant Training
 
RAILWAY RESERWATION PROJECT PROGRAM
RAILWAY RESERWATION PROJECT PROGRAMRAILWAY RESERWATION PROJECT PROGRAM
RAILWAY RESERWATION PROJECT PROGRAM
 
Laziness in Swift
Laziness in Swift Laziness in Swift
Laziness in Swift
 

Viewers also liked

A Presentation on " Corporate Role in Preparedness and Relief / Humanitarian ...
A Presentation on " Corporate Role in Preparedness and Relief / Humanitarian ...A Presentation on " Corporate Role in Preparedness and Relief / Humanitarian ...
A Presentation on " Corporate Role in Preparedness and Relief / Humanitarian ...CDRN
 
the-conduct-of-humanitarian-relief-ops-certificate (1)
the-conduct-of-humanitarian-relief-ops-certificate (1)the-conduct-of-humanitarian-relief-ops-certificate (1)
the-conduct-of-humanitarian-relief-ops-certificate (1)Muhammad Rizwan
 
Purdin (IRC)--Humanitarian Relief--2008.09.02
Purdin (IRC)--Humanitarian Relief--2008.09.02Purdin (IRC)--Humanitarian Relief--2008.09.02
Purdin (IRC)--Humanitarian Relief--2008.09.02ericpgreen
 
IRD Presentation at the 2010 International Food Aid & Development Conference
IRD Presentation at the 2010 International Food Aid & Development ConferenceIRD Presentation at the 2010 International Food Aid & Development Conference
IRD Presentation at the 2010 International Food Aid & Development ConferenceInternational Relief and Development
 
Understanding Donor Behavior: Insights from FirstGiving 2007 - 2010
Understanding Donor Behavior: Insights from FirstGiving 2007 - 2010Understanding Donor Behavior: Insights from FirstGiving 2007 - 2010
Understanding Donor Behavior: Insights from FirstGiving 2007 - 2010FirstGiving
 
Decision Support for Robust Humanitarian Relief Supply Chains
Decision Support for Robust Humanitarian Relief Supply ChainsDecision Support for Robust Humanitarian Relief Supply Chains
Decision Support for Robust Humanitarian Relief Supply ChainsTina Comes
 
14 Ways to Share Results with Donors
14 Ways to Share Results with Donors14 Ways to Share Results with Donors
14 Ways to Share Results with DonorsKivi Leroux Miller
 
Negotiation skills exercises إختبار مهارات التفاوض
Negotiation skills exercises إختبار مهارات التفاوض Negotiation skills exercises إختبار مهارات التفاوض
Negotiation skills exercises إختبار مهارات التفاوض Ashraf Osman
 
Creating a Donor Communications Plan
Creating a Donor Communications PlanCreating a Donor Communications Plan
Creating a Donor Communications PlanKivi Leroux Miller
 
01 basic concepts in international relations
01 basic concepts in international relations01 basic concepts in international relations
01 basic concepts in international relationsfatima d
 
Mango: Successful grant management for NGOs
Mango: Successful grant management for NGOsMango: Successful grant management for NGOs
Mango: Successful grant management for NGOsTerry Lewis
 
Mango Training for NGOs - key financial concepts and jargon
Mango Training for NGOs - key financial concepts and jargonMango Training for NGOs - key financial concepts and jargon
Mango Training for NGOs - key financial concepts and jargonTerry Lewis
 

Viewers also liked (16)

A Presentation on " Corporate Role in Preparedness and Relief / Humanitarian ...
A Presentation on " Corporate Role in Preparedness and Relief / Humanitarian ...A Presentation on " Corporate Role in Preparedness and Relief / Humanitarian ...
A Presentation on " Corporate Role in Preparedness and Relief / Humanitarian ...
 
the-conduct-of-humanitarian-relief-ops-certificate (1)
the-conduct-of-humanitarian-relief-ops-certificate (1)the-conduct-of-humanitarian-relief-ops-certificate (1)
the-conduct-of-humanitarian-relief-ops-certificate (1)
 
Purdin (IRC)--Humanitarian Relief--2008.09.02
Purdin (IRC)--Humanitarian Relief--2008.09.02Purdin (IRC)--Humanitarian Relief--2008.09.02
Purdin (IRC)--Humanitarian Relief--2008.09.02
 
IRD Presentation at the 2010 International Food Aid & Development Conference
IRD Presentation at the 2010 International Food Aid & Development ConferenceIRD Presentation at the 2010 International Food Aid & Development Conference
IRD Presentation at the 2010 International Food Aid & Development Conference
 
Understanding Donor Behavior: Insights from FirstGiving 2007 - 2010
Understanding Donor Behavior: Insights from FirstGiving 2007 - 2010Understanding Donor Behavior: Insights from FirstGiving 2007 - 2010
Understanding Donor Behavior: Insights from FirstGiving 2007 - 2010
 
Relief international
Relief internationalRelief international
Relief international
 
Disaster Risk Reduction
Disaster Risk ReductionDisaster Risk Reduction
Disaster Risk Reduction
 
Decision Support for Robust Humanitarian Relief Supply Chains
Decision Support for Robust Humanitarian Relief Supply ChainsDecision Support for Robust Humanitarian Relief Supply Chains
Decision Support for Robust Humanitarian Relief Supply Chains
 
14 Ways to Share Results with Donors
14 Ways to Share Results with Donors14 Ways to Share Results with Donors
14 Ways to Share Results with Donors
 
HRP White Paper web2015
HRP White Paper web2015HRP White Paper web2015
HRP White Paper web2015
 
Negotiation skills exercises إختبار مهارات التفاوض
Negotiation skills exercises إختبار مهارات التفاوض Negotiation skills exercises إختبار مهارات التفاوض
Negotiation skills exercises إختبار مهارات التفاوض
 
Creating a Donor Communications Plan
Creating a Donor Communications PlanCreating a Donor Communications Plan
Creating a Donor Communications Plan
 
01 basic concepts in international relations
01 basic concepts in international relations01 basic concepts in international relations
01 basic concepts in international relations
 
Mango: Successful grant management for NGOs
Mango: Successful grant management for NGOsMango: Successful grant management for NGOs
Mango: Successful grant management for NGOs
 
Police Report Writing
Police Report WritingPolice Report Writing
Police Report Writing
 
Mango Training for NGOs - key financial concepts and jargon
Mango Training for NGOs - key financial concepts and jargonMango Training for NGOs - key financial concepts and jargon
Mango Training for NGOs - key financial concepts and jargon
 

Similar to libcat 콘솔과 함께 하는 아이폰아이패드 앱 개발

Migrating Objective-C to Swift
Migrating Objective-C to SwiftMigrating Objective-C to Swift
Migrating Objective-C to SwiftElmar Kretzer
 
Android development with Scala and SBT
Android development with Scala and SBTAndroid development with Scala and SBT
Android development with Scala and SBTAnton Yalyshev
 
2011 py con
2011 py con2011 py con
2011 py conEing Ong
 
Talk - Query monad
Talk - Query monad Talk - Query monad
Talk - Query monad Fabernovel
 
C++totural file
C++totural fileC++totural file
C++totural filehalaisumit
 
RedHat/CentOs Commands for administrative works
RedHat/CentOs Commands for administrative worksRedHat/CentOs Commands for administrative works
RedHat/CentOs Commands for administrative worksMd Shihab
 
CONFidence 2015: DTrace + OSX = Fun - Andrzej Dyjak
CONFidence 2015: DTrace + OSX = Fun - Andrzej Dyjak   CONFidence 2015: DTrace + OSX = Fun - Andrzej Dyjak
CONFidence 2015: DTrace + OSX = Fun - Andrzej Dyjak PROIDEA
 
Quick Intro to Android Development
Quick Intro to Android DevelopmentQuick Intro to Android Development
Quick Intro to Android DevelopmentJussi Pohjolainen
 
Architecting Alive Apps
Architecting Alive AppsArchitecting Alive Apps
Architecting Alive AppsJorge Ortiz
 
[1D6]RE-view of Android L developer PRE-view
[1D6]RE-view of Android L developer PRE-view[1D6]RE-view of Android L developer PRE-view
[1D6]RE-view of Android L developer PRE-viewNAVER D2
 
Minimizing Decision Fatigue to Improve Team Productivity
Minimizing Decision Fatigue to Improve Team ProductivityMinimizing Decision Fatigue to Improve Team Productivity
Minimizing Decision Fatigue to Improve Team ProductivityDerek Lee Boire
 
Debugging on Rails. Mykhaylo Sorochan
Debugging on Rails. Mykhaylo SorochanDebugging on Rails. Mykhaylo Sorochan
Debugging on Rails. Mykhaylo SorochanSphere Consulting Inc
 
WebLogic Administration und Deployment mit WLST
WebLogic Administration und Deployment mit WLSTWebLogic Administration und Deployment mit WLST
WebLogic Administration und Deployment mit WLSTenpit GmbH & Co. KG
 
iOS Automation Primitives
iOS Automation PrimitivesiOS Automation Primitives
iOS Automation PrimitivesSynack
 
Owasp orlando, april 13, 2016
Owasp orlando, april 13, 2016Owasp orlando, april 13, 2016
Owasp orlando, april 13, 2016Mikhail Sosonkin
 
ZIO: Powerful and Principled Functional Programming in Scala
ZIO: Powerful and Principled Functional Programming in ScalaZIO: Powerful and Principled Functional Programming in Scala
ZIO: Powerful and Principled Functional Programming in ScalaWiem Zine Elabidine
 
Дмитрий Демчук. Кроссплатформенный краш-репорт
Дмитрий Демчук. Кроссплатформенный краш-репортДмитрий Демчук. Кроссплатформенный краш-репорт
Дмитрий Демчук. Кроссплатформенный краш-репортSergey Platonov
 

Similar to libcat 콘솔과 함께 하는 아이폰아이패드 앱 개발 (20)

Migrating Objective-C to Swift
Migrating Objective-C to SwiftMigrating Objective-C to Swift
Migrating Objective-C to Swift
 
Android development with Scala and SBT
Android development with Scala and SBTAndroid development with Scala and SBT
Android development with Scala and SBT
 
2011 py con
2011 py con2011 py con
2011 py con
 
C++ tutorial
C++ tutorialC++ tutorial
C++ tutorial
 
Talk - Query monad
Talk - Query monad Talk - Query monad
Talk - Query monad
 
C++totural file
C++totural fileC++totural file
C++totural file
 
RedHat/CentOs Commands for administrative works
RedHat/CentOs Commands for administrative worksRedHat/CentOs Commands for administrative works
RedHat/CentOs Commands for administrative works
 
CONFidence 2015: DTrace + OSX = Fun - Andrzej Dyjak
CONFidence 2015: DTrace + OSX = Fun - Andrzej Dyjak   CONFidence 2015: DTrace + OSX = Fun - Andrzej Dyjak
CONFidence 2015: DTrace + OSX = Fun - Andrzej Dyjak
 
Quick Intro to Android Development
Quick Intro to Android DevelopmentQuick Intro to Android Development
Quick Intro to Android Development
 
Architecting Alive Apps
Architecting Alive AppsArchitecting Alive Apps
Architecting Alive Apps
 
The zen of async: Best practices for best performance
The zen of async: Best practices for best performanceThe zen of async: Best practices for best performance
The zen of async: Best practices for best performance
 
[1D6]RE-view of Android L developer PRE-view
[1D6]RE-view of Android L developer PRE-view[1D6]RE-view of Android L developer PRE-view
[1D6]RE-view of Android L developer PRE-view
 
Minimizing Decision Fatigue to Improve Team Productivity
Minimizing Decision Fatigue to Improve Team ProductivityMinimizing Decision Fatigue to Improve Team Productivity
Minimizing Decision Fatigue to Improve Team Productivity
 
Debugging on rails
Debugging on railsDebugging on rails
Debugging on rails
 
Debugging on Rails. Mykhaylo Sorochan
Debugging on Rails. Mykhaylo SorochanDebugging on Rails. Mykhaylo Sorochan
Debugging on Rails. Mykhaylo Sorochan
 
WebLogic Administration und Deployment mit WLST
WebLogic Administration und Deployment mit WLSTWebLogic Administration und Deployment mit WLST
WebLogic Administration und Deployment mit WLST
 
iOS Automation Primitives
iOS Automation PrimitivesiOS Automation Primitives
iOS Automation Primitives
 
Owasp orlando, april 13, 2016
Owasp orlando, april 13, 2016Owasp orlando, april 13, 2016
Owasp orlando, april 13, 2016
 
ZIO: Powerful and Principled Functional Programming in Scala
ZIO: Powerful and Principled Functional Programming in ScalaZIO: Powerful and Principled Functional Programming in Scala
ZIO: Powerful and Principled Functional Programming in Scala
 
Дмитрий Демчук. Кроссплатформенный краш-репорт
Дмитрий Демчук. Кроссплатформенный краш-репортДмитрий Демчук. Кроссплатформенный краш-репорт
Дмитрий Демчук. Кроссплатформенный краш-репорт
 

Recently uploaded

Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
Unlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsUnlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsPrecisely
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsHyundai Motor Group
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsAndrey Dotsenko
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 

Recently uploaded (20)

Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptxVulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 
Unlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsUnlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power Systems
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort ServiceHot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 

libcat 콘솔과 함께 하는 아이폰아이패드 앱 개발

  • 1. libcat iOS 12 12 ( ) 12 30 ~ 17 00 304 Shell System iOS UIControllers, UIViews , Rails Console interactive Logging Breakpoint Compile, Run <-> Console <-> , , , view.hidden = true view.frame = {{10,10}, {100,100}} UI open (o) flick (f) drag (d) UI , , , libcat/ script/ PrivateAPI/ TestCases/ SimpleApp/ TestApp/ LibcatPresentation/ .
  • 2. Console ~/libcat/script$ ./console.rb ls TARGET : list target object (l) help : help (h) > ls : list current object quit : quit (q) > ls -r : list recursive about : about libcat Console cd 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 info pwd : view & controller hierarchy > enum UIInterfaceOrientationPortrait properties TARGET : list properties (p) > enum UIInterfaceOrientation > text : property getter map ARGS > text = hello : property setter > view.subviews.map text frame.size flick 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 Navigation ls TARGET cd TARGET pwd 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}} .
  • 3. 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 Browser open UI commands flash (f) touch (t) back (b) drag (d) rm TARGET png TARGET Automation Script require './console' c = Console.new c.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 Examples object introspection https://gist.github.com/879287 media query https://gist.github.com/870633 list properties https://gist.github.com/831768