Submit Search
Upload
打造你專屬的Xcode plugin
•
7 likes
•
982 views
Yuhua Chen
Follow
Build your own Xcode plugin @CocoaHeads Taipei
Read less
Read more
Mobile
Slideshow view
Report
Share
Slideshow view
Report
Share
1 of 20
Download now
Download to read offline
Recommended
實現 Angular, Docker 與 Kubernetes 持續部署 (NG+2020)
實現 Angular, Docker 與 Kubernetes 持續部署 (NG+2020)
Will Huang
[2020 .NET Conf] 企業Azure DevOps Service 實際應用架構與秘辛
[2020 .NET Conf] 企業Azure DevOps Service 實際應用架構與秘辛
Edward Kuo
快快樂樂學會 Angular 2 網站開發框架 (Modern Web 2016)
快快樂樂學會 Angular 2 網站開發框架 (Modern Web 2016)
Will Huang
@Connect(); microsoft visual studio vnext & azure
@Connect(); microsoft visual studio vnext & azure
Bruce Chen
Angular Conf 2018 - 原來 Angular 可以這樣玩設定
Angular Conf 2018 - 原來 Angular 可以這樣玩設定
Poy Chang
Rancher 快速打造叢集的解決方案
Rancher 快速打造叢集的解決方案
Miles Chou
Class 20170126
Class 20170126
Ivan Wei
開發人員不可不知的 Windows Container 容器技術預覽
開發人員不可不知的 Windows Container 容器技術預覽
Will Huang
Recommended
實現 Angular, Docker 與 Kubernetes 持續部署 (NG+2020)
實現 Angular, Docker 與 Kubernetes 持續部署 (NG+2020)
Will Huang
[2020 .NET Conf] 企業Azure DevOps Service 實際應用架構與秘辛
[2020 .NET Conf] 企業Azure DevOps Service 實際應用架構與秘辛
Edward Kuo
快快樂樂學會 Angular 2 網站開發框架 (Modern Web 2016)
快快樂樂學會 Angular 2 網站開發框架 (Modern Web 2016)
Will Huang
@Connect(); microsoft visual studio vnext & azure
@Connect(); microsoft visual studio vnext & azure
Bruce Chen
Angular Conf 2018 - 原來 Angular 可以這樣玩設定
Angular Conf 2018 - 原來 Angular 可以這樣玩設定
Poy Chang
Rancher 快速打造叢集的解決方案
Rancher 快速打造叢集的解決方案
Miles Chou
Class 20170126
Class 20170126
Ivan Wei
開發人員不可不知的 Windows Container 容器技術預覽
開發人員不可不知的 Windows Container 容器技術預覽
Will Huang
應用 Sikuli 在 Android 設備上執行自動化測試
應用 Sikuli 在 Android 設備上執行自動化測試
Jz Chang
Dev-Ops与Docker的最佳实践 QCon2016 北京站演讲
Dev-Ops与Docker的最佳实践 QCon2016 北京站演讲
ChinaNetCloud
Angular js twmvc#17
Angular js twmvc#17
twMVC
使用 ASP.NET 5 實戰開發雲端應用程式
使用 ASP.NET 5 實戰開發雲端應用程式
Will Huang
給 iOS 工程師的 Flutter 開發
給 iOS 工程師的 Flutter 開發
Weizhong Yang
Angular 7 全新功能探索 (Angular Taiwan 2018)
Angular 7 全新功能探索 (Angular Taiwan 2018)
Will Huang
Visual Studio 2017 新功能探索 (Study4.TW)
Visual Studio 2017 新功能探索 (Study4.TW)
Will Huang
進擊的前端工程師:今天就用 JSON Server 自己打造 API 吧!
進擊的前端工程師:今天就用 JSON Server 自己打造 API 吧!
Will Huang
玩轉 .NET Interactive Notebooks 一次就上手
玩轉 .NET Interactive Notebooks 一次就上手
Poy Chang
容器與 Gitlab CI 應用
容器與 Gitlab CI 應用
Philip Zheng
Angular 4 新手入門攻略完全制霸
Angular 4 新手入門攻略完全制霸
Will Huang
PD: Bab 2
PD: Bab 2
biela777
Hasan bin thabit
Hasan bin thabit
Suhaila Zailani
Berg hind joseph_credentials
Berg hind joseph_credentials
Berghind
What do you_know_about_the_usa
What do you_know_about_the_usa
Antshil
GoGoJob - employer
GoGoJob - employer
Socionics Solutions Group
Ottimizzatore di tensione news
Ottimizzatore di tensione news
Elio Pellegrino
свято осені
свято осені
Катерина Ткаленко
Guide to open suse 13.2 by mustafa rasheed abass & abdullah t. tua'ama (update)
Guide to open suse 13.2 by mustafa rasheed abass & abdullah t. tua'ama (update)
Mustafa AL-Timemmie
Socrates
Socrates
imas lusyani
Ungheni About High Schools
Ungheni About High Schools
Doina Morari
Systéme nerveux et plongée fassas
Systéme nerveux et plongée fassas
Islem Soualhi
More Related Content
What's hot
應用 Sikuli 在 Android 設備上執行自動化測試
應用 Sikuli 在 Android 設備上執行自動化測試
Jz Chang
Dev-Ops与Docker的最佳实践 QCon2016 北京站演讲
Dev-Ops与Docker的最佳实践 QCon2016 北京站演讲
ChinaNetCloud
Angular js twmvc#17
Angular js twmvc#17
twMVC
使用 ASP.NET 5 實戰開發雲端應用程式
使用 ASP.NET 5 實戰開發雲端應用程式
Will Huang
給 iOS 工程師的 Flutter 開發
給 iOS 工程師的 Flutter 開發
Weizhong Yang
Angular 7 全新功能探索 (Angular Taiwan 2018)
Angular 7 全新功能探索 (Angular Taiwan 2018)
Will Huang
Visual Studio 2017 新功能探索 (Study4.TW)
Visual Studio 2017 新功能探索 (Study4.TW)
Will Huang
進擊的前端工程師:今天就用 JSON Server 自己打造 API 吧!
進擊的前端工程師:今天就用 JSON Server 自己打造 API 吧!
Will Huang
玩轉 .NET Interactive Notebooks 一次就上手
玩轉 .NET Interactive Notebooks 一次就上手
Poy Chang
容器與 Gitlab CI 應用
容器與 Gitlab CI 應用
Philip Zheng
Angular 4 新手入門攻略完全制霸
Angular 4 新手入門攻略完全制霸
Will Huang
What's hot
(11)
應用 Sikuli 在 Android 設備上執行自動化測試
應用 Sikuli 在 Android 設備上執行自動化測試
Dev-Ops与Docker的最佳实践 QCon2016 北京站演讲
Dev-Ops与Docker的最佳实践 QCon2016 北京站演讲
Angular js twmvc#17
Angular js twmvc#17
使用 ASP.NET 5 實戰開發雲端應用程式
使用 ASP.NET 5 實戰開發雲端應用程式
給 iOS 工程師的 Flutter 開發
給 iOS 工程師的 Flutter 開發
Angular 7 全新功能探索 (Angular Taiwan 2018)
Angular 7 全新功能探索 (Angular Taiwan 2018)
Visual Studio 2017 新功能探索 (Study4.TW)
Visual Studio 2017 新功能探索 (Study4.TW)
進擊的前端工程師:今天就用 JSON Server 自己打造 API 吧!
進擊的前端工程師:今天就用 JSON Server 自己打造 API 吧!
玩轉 .NET Interactive Notebooks 一次就上手
玩轉 .NET Interactive Notebooks 一次就上手
容器與 Gitlab CI 應用
容器與 Gitlab CI 應用
Angular 4 新手入門攻略完全制霸
Angular 4 新手入門攻略完全制霸
Viewers also liked
PD: Bab 2
PD: Bab 2
biela777
Hasan bin thabit
Hasan bin thabit
Suhaila Zailani
Berg hind joseph_credentials
Berg hind joseph_credentials
Berghind
What do you_know_about_the_usa
What do you_know_about_the_usa
Antshil
GoGoJob - employer
GoGoJob - employer
Socionics Solutions Group
Ottimizzatore di tensione news
Ottimizzatore di tensione news
Elio Pellegrino
свято осені
свято осені
Катерина Ткаленко
Guide to open suse 13.2 by mustafa rasheed abass & abdullah t. tua'ama (update)
Guide to open suse 13.2 by mustafa rasheed abass & abdullah t. tua'ama (update)
Mustafa AL-Timemmie
Socrates
Socrates
imas lusyani
Ungheni About High Schools
Ungheni About High Schools
Doina Morari
Systéme nerveux et plongée fassas
Systéme nerveux et plongée fassas
Islem Soualhi
Calcimax
Calcimax
Raj Kamal
Bach 14 peças faceis
Bach 14 peças faceis
Gilmar Silva
Bitcoin USA.com ATM Network
Bitcoin USA.com ATM Network
Bitcoinz USA
Developments Under the Clean Air Act Implications and Ramifications
Developments Under the Clean Air Act Implications and Ramifications
Quarles & Brady
Literate environment analysis presentation
Literate environment analysis presentation
EvangelineOrr
"How to Operate a Website that Complies with Today’s Accessibility and Privac...
"How to Operate a Website that Complies with Today’s Accessibility and Privac...
Quarles & Brady
Get connected bender
Get connected bender
Doina Morari
Современные организации и корпоративные культуры
Современные организации и корпоративные культуры
Ekaterina Trubilo
Viewers also liked
(19)
PD: Bab 2
PD: Bab 2
Hasan bin thabit
Hasan bin thabit
Berg hind joseph_credentials
Berg hind joseph_credentials
What do you_know_about_the_usa
What do you_know_about_the_usa
GoGoJob - employer
GoGoJob - employer
Ottimizzatore di tensione news
Ottimizzatore di tensione news
свято осені
свято осені
Guide to open suse 13.2 by mustafa rasheed abass & abdullah t. tua'ama (update)
Guide to open suse 13.2 by mustafa rasheed abass & abdullah t. tua'ama (update)
Socrates
Socrates
Ungheni About High Schools
Ungheni About High Schools
Systéme nerveux et plongée fassas
Systéme nerveux et plongée fassas
Calcimax
Calcimax
Bach 14 peças faceis
Bach 14 peças faceis
Bitcoin USA.com ATM Network
Bitcoin USA.com ATM Network
Developments Under the Clean Air Act Implications and Ramifications
Developments Under the Clean Air Act Implications and Ramifications
Literate environment analysis presentation
Literate environment analysis presentation
"How to Operate a Website that Complies with Today’s Accessibility and Privac...
"How to Operate a Website that Complies with Today’s Accessibility and Privac...
Get connected bender
Get connected bender
Современные организации и корпоративные культуры
Современные организации и корпоративные культуры
Similar to 打造你專屬的Xcode plugin
Flutter 踩雷心得
Flutter 踩雷心得
Weizhong Yang
Google app engine安裝教學
Google app engine安裝教學
勝億 曾
Clojure cnclojure-meetup
Clojure cnclojure-meetup
sunng87
Eclipse開發平台快速入門
Eclipse開發平台快速入門
Luo Korth
How to avoid check style errors
How to avoid check style errors
Guo Albert
Java Build Tool course in 2011
Java Build Tool course in 2011
Ching Yi Chan
NodeJS基礎教學&簡介
NodeJS基礎教學&簡介
GO LL
docker intro
docker intro
koji lin
Cloudstack dev/user sharing
Cloudstack dev/user sharing
gavin_lee
Html5
Html5
cazhfe
Phalcon2014 Startup
Phalcon2014 Startup
Steve Luo
icecream / icecc:分散式編譯系統簡介
icecream / icecc:分散式編譯系統簡介
Kito Cheng
VSCode Remote Development
VSCode Remote Development
Philip Zheng
VSCode Remote Development 介紹
VSCode Remote Development 介紹
Philip Zheng
Docker 最佳实践
Docker 最佳实践
YuLing Liu
GDG Taichung - Flutter and Firebase.pdf
GDG Taichung - Flutter and Firebase.pdf
Duran Hsieh
Workflow Overview
Workflow Overview
Kevin Cao
jsdoc-toolkit
jsdoc-toolkit
satans17
Composer 套件管理
Composer 套件管理
Shengyou Fan
CodeIgniter 2.0.X
CodeIgniter 2.0.X
Bo-Yi Wu
Similar to 打造你專屬的Xcode plugin
(20)
Flutter 踩雷心得
Flutter 踩雷心得
Google app engine安裝教學
Google app engine安裝教學
Clojure cnclojure-meetup
Clojure cnclojure-meetup
Eclipse開發平台快速入門
Eclipse開發平台快速入門
How to avoid check style errors
How to avoid check style errors
Java Build Tool course in 2011
Java Build Tool course in 2011
NodeJS基礎教學&簡介
NodeJS基礎教學&簡介
docker intro
docker intro
Cloudstack dev/user sharing
Cloudstack dev/user sharing
Html5
Html5
Phalcon2014 Startup
Phalcon2014 Startup
icecream / icecc:分散式編譯系統簡介
icecream / icecc:分散式編譯系統簡介
VSCode Remote Development
VSCode Remote Development
VSCode Remote Development 介紹
VSCode Remote Development 介紹
Docker 最佳实践
Docker 最佳实践
GDG Taichung - Flutter and Firebase.pdf
GDG Taichung - Flutter and Firebase.pdf
Workflow Overview
Workflow Overview
jsdoc-toolkit
jsdoc-toolkit
Composer 套件管理
Composer 套件管理
CodeIgniter 2.0.X
CodeIgniter 2.0.X
打造你專屬的Xcode plugin
1.
打造你專屬的Xcode plugin Michael
Chen KKBOX
2.
Overview • Xcode
plugin template • 窺探Xcode runtime • 寫plugin⼀一些⼩小撇步 • 好東⻄西要與好朋友分享
3.
Xcode plugin有百百種...
4.
⾃自⼰己的plugin⾃自⼰己刻 ⾃自⼰己的GA⾃自⼰己刻
5.
Xcode plugin簡介 •
附檔名為.xcplugin • 放在~/Library/Application Support/Developer/Shared/Xcode/Plug-ins/
6.
Xcode template •
Infos.plist ! $ defaults read /Applications/Xcode.app/Contents/Info.plist | grep DVTPlugInCompatibilityUUID DVTPlugInCompatibilityUUID = "A2E4D43F-41F4-4FB9-BB94-7177011C9AED";
7.
Xcode template •
設定Building Settings 參數名稱值說明 Installation Build Products Location ${HOME} Product根⺫⽬目錄 Installation Directory /Library/Application Support/Developer/ Shared/Xcode/Plug-ins 這是⼀一個相對路徑,會被上 ⾯面設定所影響。 Deployment Location YES Installation Directory Wrapper Extension xcplugin Xcode plugin的附檔名
8.
其實也不⽤用這麼⿇麻煩... https://github.com/kattrali/Xcode5-Plugin-Template
9.
可以開始寫 • 新增⼀一個主要class,跟Principal
class名稱⼀一樣。 • plugin初始化 + (void)pluginDidLoad:(NSBundle *)bundle
10.
⼩小撇步1 • 設定Scheme,讓Xcode⾃自⼰己對⾃自⼰己debug
11.
⼩小撇步2 • class-dump
xcode • https://github.com/luisobo/Xcode-RuntimeHeaders
12.
⼩小撇步3 • Find
a control http://stackoverflow.com/questions/2715534 • 接收所有的通知 [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(listenAll:) name:nil object:nil]; • Hack private API swizzle method https://github.com/rentzsch/jrswizzle
13.
⼤大功告成 • MCLog
- 利⽤用Regular Expression過濾console log https://github.com/yuhua-chen/MCLog
14.
好東⻄西不分享嗎?
15.
上架吧 • GitHub
• Alcatraz - The package manager for Xcode. http://alcatraz.io/ • clone下來 • package.json加上資訊 • 發pull request
16.
17.
Twitter轉發, blog分享
18.
意外收穫
19.
太爽拉! • Trending
repositories 成就達成!
20.
謝謝各位! Michael Chen
@yuhua_twit
Download now