SlideShare a Scribd company logo
1 of 35
Download to read offline
Xcodeを便利に使って

爆速開発
#01: 開発スピード向上

@himara2

ヤフーvsクラスメソッド 炎の7番勝負
2014.02.25 Tue.
自己紹介
・平松 亮介(@himara2)
・ヤフー株式会社 iOSエンジニア
・Petapic iOSアプリ
・社内LT会「iOS_LT」
http://techblog.yahoo.co.jp/ios/ios_lt/
x10
今年のヤフーの目標はx10
Xcodeを効率的に使って
普段の作業をx10に.
incremental
Ctrl+6 -> search
開いているクラス内のメソッドにJump
Cmd+Shift+O
全ファイル対象にクラスやメソッドを検索
Suggest completions
返り値の型なしでも補完してくれる

※補完されない場合は
Preference > Text Editting > Suggest Completion while typing にチェック
Localization
複数言語対応の確認を簡単に
便利ですね!
blocks
そらで書けますか?
型、名前、パラメータ...
fuckingblocksyntax.com
ムリ。
code snippet.
code snippet
・Xcodeの便利なアイツ
code snippet
名前
shortcut
scope
body

= <#Return Type#>
code snippet
・inlineBlock, typedefBlock
・ショートカット or ドラッグで使用
・自作のsnippetも登録可
・追加したsnippetは以下のpathに保存される
~/Library/Developer/Xcode/UserData/CodeSnippets
=> ここをgit管理すればチームで共有できる
Dash
Dash
・ドキュメントをインクリメンタルサーチ
・Google, Stack Over Flowも検索
・Xcode pluginある
・Dash Plugin for Xcode
Dash
・http://kapeli.com/dash
・ドキュメントをインクリメンタルサーチ
・GoogleやStack Over Flowも同時に検索
・Xcode pluginもある
・Dash Plugin for Xcode
便利ですね!
Xcode Template
Xcode Template
Xcode Template
・Xcodeの初期テンプレートを自作できる
・よく使うものは登録して爆速化
・iOSの場合の置き場所
自作: ~/Library/Developer/Xcode/Templates/
デフォ: /Applications/Xcode.app/Contents/Developer/Platforms/
iPhoneOS.platform/Developer/Library/Xcode/Templates/
File Templates
Xcode Template
・中身
- TemplateInfo.plist
- TemplateInfo.icns
- ___FILEBASENAME___.h
- ___FILEBASENAME___.m
Xcode Template
・中身
- TemplateInfo.plist
- TemplateInfo.icns
- ___FILEBASENAME___.h
- ___FILEBASENAME___.m

これらのファイルを良い感じに編集すると...
追加されたテンプレを選択
Singletonオプションが増えてる
File作成時点でシングルトンの記述が!
便利ですね!
まとめ
1. Ctrl+6 -> incremental search
2. Cmd + Shift + O
3. Suggest Completion
4. Localization
5. Code Snippet
5-1. Dash
6. Xcode Template
x10になりそうですね!!
発表は以上です!
終わり

More Related Content

What's hot

iOS 8 Widget ~ 導入から Tips まで
iOS 8 Widget ~ 導入から Tips までiOS 8 Widget ~ 導入から Tips まで
iOS 8 Widget ~ 導入から Tips まで
Yuki Tanabe
 
OSC2011Tokyo/Fall OpenStack Swift入門
OSC2011Tokyo/Fall OpenStack Swift入門OSC2011Tokyo/Fall OpenStack Swift入門
OSC2011Tokyo/Fall OpenStack Swift入門
irix_jp
 

What's hot (20)

Objective-Cプログラマのためのswift導入法
Objective-Cプログラマのためのswift導入法Objective-Cプログラマのためのswift導入法
Objective-Cプログラマのためのswift導入法
 
第7回 カジュアル Swift 勉強会 @ 青葉台 オープニング #cswift
第7回 カジュアル Swift 勉強会 @ 青葉台 オープニング #cswift第7回 カジュアル Swift 勉強会 @ 青葉台 オープニング #cswift
第7回 カジュアル Swift 勉強会 @ 青葉台 オープニング #cswift
 
Swift勉強会
Swift勉強会Swift勉強会
Swift勉強会
 
Swift ドキュメントコメント
Swift ドキュメントコメントSwift ドキュメントコメント
Swift ドキュメントコメント
 
NSNotification in Swift #cocoa_kansai
NSNotification in Swift #cocoa_kansaiNSNotification in Swift #cocoa_kansai
NSNotification in Swift #cocoa_kansai
 
Swift 構造体の時代 #yidev
Swift 構造体の時代 #yidevSwift 構造体の時代 #yidev
Swift 構造体の時代 #yidev
 
Swift : クラス継承とプロトコル拡張を比べてみる #yidev
Swift : クラス継承とプロトコル拡張を比べてみる #yidevSwift : クラス継承とプロトコル拡張を比べてみる #yidev
Swift : クラス継承とプロトコル拡張を比べてみる #yidev
 
プロトコル拡張の話? #WWDC21cafe
プロトコル拡張の話? #WWDC21cafeプロトコル拡張の話? #WWDC21cafe
プロトコル拡張の話? #WWDC21cafe
 
Swift を振り返ってみよう #cswift
Swift を振り返ってみよう #cswiftSwift を振り返ってみよう #cswift
Swift を振り返ってみよう #cswift
 
Study Swift
Study Swift Study Swift
Study Swift
 
iOS 8 Widget ~ 導入から Tips まで
iOS 8 Widget ~ 導入から Tips までiOS 8 Widget ~ 導入から Tips まで
iOS 8 Widget ~ 導入から Tips まで
 
Swift入門
Swift入門Swift入門
Swift入門
 
【Swift】 それ、enumとstructでやってみましょう!!
【Swift】 それ、enumとstructでやってみましょう!!【Swift】 それ、enumとstructでやってみましょう!!
【Swift】 それ、enumとstructでやってみましょう!!
 
Xcode 7で始めるCI
Xcode 7で始めるCIXcode 7で始めるCI
Xcode 7で始めるCI
 
OSC2011Tokyo/Fall OpenStack Swift入門
OSC2011Tokyo/Fall OpenStack Swift入門OSC2011Tokyo/Fall OpenStack Swift入門
OSC2011Tokyo/Fall OpenStack Swift入門
 
Xcode グループとフォルダー参照 #yhios
Xcode グループとフォルダー参照 #yhiosXcode グループとフォルダー参照 #yhios
Xcode グループとフォルダー参照 #yhios
 
Apple審査を一発通過! iOS開発経験0でも出来る じげん流Swift開発のすべて
Apple審査を一発通過!iOS開発経験0でも出来るじげん流Swift開発のすべてApple審査を一発通過!iOS開発経験0でも出来るじげん流Swift開発のすべて
Apple審査を一発通過! iOS開発経験0でも出来る じげん流Swift開発のすべて
 
yidev 第18回勉強会 「業務でSwiftで3ヶ月開発してきたので一旦振り返り」
yidev 第18回勉強会 「業務でSwiftで3ヶ月開発してきたので一旦振り返り」yidev 第18回勉強会 「業務でSwiftで3ヶ月開発してきたので一旦振り返り」
yidev 第18回勉強会 「業務でSwiftで3ヶ月開発してきたので一旦振り返り」
 
lazy var の特徴を知る #cocoa_kansai #cswift
lazy var の特徴を知る #cocoa_kansai #cswiftlazy var の特徴を知る #cocoa_kansai #cswift
lazy var の特徴を知る #cocoa_kansai #cswift
 
iOS豆知識ver0.0.5
iOS豆知識ver0.0.5iOS豆知識ver0.0.5
iOS豆知識ver0.0.5
 

Viewers also liked

Xcodeショートカット
XcodeショートカットXcodeショートカット
Xcodeショートカット
Keita Otsuka
 
Plannahのチーム開発とdeploy gateの紹介
Plannahのチーム開発とdeploy gateの紹介Plannahのチーム開発とdeploy gateの紹介
Plannahのチーム開発とdeploy gateの紹介
Kenji Kinukawa
 
Vasily i os-20140403
Vasily i os-20140403Vasily i os-20140403
Vasily i os-20140403
Yusuke Arai
 
”iOSアプリ開発の先に何があるのか” ヤフー VS クラスメソッド iOS炎の7番勝負 #7
”iOSアプリ開発の先に何があるのか” ヤフー VS クラスメソッド iOS炎の7番勝負 #7”iOSアプリ開発の先に何があるのか” ヤフー VS クラスメソッド iOS炎の7番勝負 #7
”iOSアプリ開発の先に何があるのか” ヤフー VS クラスメソッド iOS炎の7番勝負 #7
Takeshi Fukasawa
 
"アプリデザインはじめの一歩" ヤフー VS クラスメソッド iOS炎の7番勝負 #4 #yxcm
"アプリデザインはじめの一歩" ヤフー VS クラスメソッド iOS炎の7番勝負 #4 #yxcm"アプリデザインはじめの一歩" ヤフー VS クラスメソッド iOS炎の7番勝負 #4 #yxcm
"アプリデザインはじめの一歩" ヤフー VS クラスメソッド iOS炎の7番勝負 #4 #yxcm
Shingo Hiraya
 

Viewers also liked (20)

Objective-C が好きになる Tips & Hack
Objective-C が好きになる Tips & HackObjective-C が好きになる Tips & Hack
Objective-C が好きになる Tips & Hack
 
アプリエンジニアのデザインに対するこころがまえの話
アプリエンジニアのデザインに対するこころがまえの話アプリエンジニアのデザインに対するこころがまえの話
アプリエンジニアのデザインに対するこころがまえの話
 
iBeacon yahoo 羽田資料 - ヤフー株式会社 vs クラスメソッド「iOS 炎の7番勝負」
iBeacon yahoo 羽田資料 - ヤフー株式会社 vs クラスメソッド「iOS 炎の7番勝負」iBeacon yahoo 羽田資料 - ヤフー株式会社 vs クラスメソッド「iOS 炎の7番勝負」
iBeacon yahoo 羽田資料 - ヤフー株式会社 vs クラスメソッド「iOS 炎の7番勝負」
 
Appleの先を行くポストタッチインターフェース
Appleの先を行くポストタッチインターフェースAppleの先を行くポストタッチインターフェース
Appleの先を行くポストタッチインターフェース
 
あのパターンと仲良く付き合う 西磨翁 #yxcm
あのパターンと仲良く付き合う 西磨翁 #yxcmあのパターンと仲良く付き合う 西磨翁 #yxcm
あのパターンと仲良く付き合う 西磨翁 #yxcm
 
ソノアプリ リジェクト サレルッテヨ
ソノアプリ リジェクト サレルッテヨソノアプリ リジェクト サレルッテヨ
ソノアプリ リジェクト サレルッテヨ
 
iOS アプリのメンテナンス性を高めるための基本的な考え方
iOS アプリのメンテナンス性を高めるための基本的な考え方iOS アプリのメンテナンス性を高めるための基本的な考え方
iOS アプリのメンテナンス性を高めるための基本的な考え方
 
Xcodeショートカット
XcodeショートカットXcodeショートカット
Xcodeショートカット
 
Source kittenについて
Source kittenについてSource kittenについて
Source kittenについて
 
Mapkitframework io9week
Mapkitframework io9weekMapkitframework io9week
Mapkitframework io9week
 
Plannahのチーム開発とdeploy gateの紹介
Plannahのチーム開発とdeploy gateの紹介Plannahのチーム開発とdeploy gateの紹介
Plannahのチーム開発とdeploy gateの紹介
 
ユニットテスト初学者がKiwiFramework非同期テストで失敗した
ユニットテスト初学者がKiwiFramework非同期テストで失敗したユニットテスト初学者がKiwiFramework非同期テストで失敗した
ユニットテスト初学者がKiwiFramework非同期テストで失敗した
 
Yahoo vs ClassMethod_battle5_iBeacon
Yahoo vs ClassMethod_battle5_iBeaconYahoo vs ClassMethod_battle5_iBeacon
Yahoo vs ClassMethod_battle5_iBeacon
 
1人でも頑張れる!Retty式開発環境
1人でも頑張れる!Retty式開発環境1人でも頑張れる!Retty式開発環境
1人でも頑張れる!Retty式開発環境
 
Vasily i os-20140403
Vasily i os-20140403Vasily i os-20140403
Vasily i os-20140403
 
”iOSアプリ開発の先に何があるのか” ヤフー VS クラスメソッド iOS炎の7番勝負 #7
”iOSアプリ開発の先に何があるのか” ヤフー VS クラスメソッド iOS炎の7番勝負 #7”iOSアプリ開発の先に何があるのか” ヤフー VS クラスメソッド iOS炎の7番勝負 #7
”iOSアプリ開発の先に何があるのか” ヤフー VS クラスメソッド iOS炎の7番勝負 #7
 
チームを加速させるRetty式開発術
チームを加速させるRetty式開発術チームを加速させるRetty式開発術
チームを加速させるRetty式開発術
 
Xcodeプラグインで快適な開発ライフを
Xcodeプラグインで快適な開発ライフをXcodeプラグインで快適な開発ライフを
Xcodeプラグインで快適な開発ライフを
 
Xcode 5のAsset Catalogにまつわる今すぐ使えるTips集
Xcode 5のAsset Catalogにまつわる今すぐ使えるTips集Xcode 5のAsset Catalogにまつわる今すぐ使えるTips集
Xcode 5のAsset Catalogにまつわる今すぐ使えるTips集
 
"アプリデザインはじめの一歩" ヤフー VS クラスメソッド iOS炎の7番勝負 #4 #yxcm
"アプリデザインはじめの一歩" ヤフー VS クラスメソッド iOS炎の7番勝負 #4 #yxcm"アプリデザインはじめの一歩" ヤフー VS クラスメソッド iOS炎の7番勝負 #4 #yxcm
"アプリデザインはじめの一歩" ヤフー VS クラスメソッド iOS炎の7番勝負 #4 #yxcm
 

Similar to Xcodeを便利に使って爆速開発する #yxcm

形態素解析の実装言語Talk パネルディスカッション
形態素解析の実装言語Talk パネルディスカッション形態素解析の実装言語Talk パネルディスカッション
形態素解析の実装言語Talk パネルディスカッション
JustSystems Corporation
 

Similar to Xcodeを便利に使って爆速開発する #yxcm (20)

20160428 html5jwebplat
20160428 html5jwebplat20160428 html5jwebplat
20160428 html5jwebplat
 
複数言語に触れてIoTの表現の幅を広げよう
複数言語に触れてIoTの表現の幅を広げよう複数言語に触れてIoTの表現の幅を広げよう
複数言語に触れてIoTの表現の幅を広げよう
 
Peak+が出荷されなかった俺はしぶしぶZTE Openの注文を決意しました。
Peak+が出荷されなかった俺はしぶしぶZTE Openの注文を決意しました。Peak+が出荷されなかった俺はしぶしぶZTE Openの注文を決意しました。
Peak+が出荷されなかった俺はしぶしぶZTE Openの注文を決意しました。
 
超高速でflutterアプリをビルドする
超高速でflutterアプリをビルドする超高速でflutterアプリをビルドする
超高速でflutterアプリをビルドする
 
JUIZ DLK 組込み向けDeep Learningコンパイラ
JUIZ DLK 組込み向けDeep LearningコンパイラJUIZ DLK 組込み向けDeep Learningコンパイラ
JUIZ DLK 組込み向けDeep Learningコンパイラ
 
デブサミ2013 【15-B-2】iOS/Android向け開発をビジュアルに!
デブサミ2013 【15-B-2】iOS/Android向け開発をビジュアルに!デブサミ2013 【15-B-2】iOS/Android向け開発をビジュアルに!
デブサミ2013 【15-B-2】iOS/Android向け開発をビジュアルに!
 
LT駆動開発04 5分では分からないTypeScriptのなんとか
LT駆動開発04 5分では分からないTypeScriptのなんとかLT駆動開発04 5分では分からないTypeScriptのなんとか
LT駆動開発04 5分では分からないTypeScriptのなんとか
 
JUIZ DLK: 組込み向け Deep Learning コンパイラ
JUIZ DLK: 組込み向け Deep Learning コンパイラJUIZ DLK: 組込み向け Deep Learning コンパイラ
JUIZ DLK: 組込み向け Deep Learning コンパイラ
 
C#でのクロスプラットフォーム モバイル開発環境 Xamarin のご紹介
C#でのクロスプラットフォーム モバイル開発環境 Xamarin のご紹介C#でのクロスプラットフォーム モバイル開発環境 Xamarin のご紹介
C#でのクロスプラットフォーム モバイル開発環境 Xamarin のご紹介
 
Cocoa関西勉強会#49
Cocoa関西勉強会#49Cocoa関西勉強会#49
Cocoa関西勉強会#49
 
勉強会用Swift授業2018-0126
勉強会用Swift授業2018-0126勉強会用Swift授業2018-0126
勉強会用Swift授業2018-0126
 
Flex入門
Flex入門Flex入門
Flex入門
 
「マルチデバイス対応アプリ開発の勘所」
「マルチデバイス対応アプリ開発の勘所」「マルチデバイス対応アプリ開発の勘所」
「マルチデバイス対応アプリ開発の勘所」
 
開発から見たWindowsの国際化機能
開発から見たWindowsの国際化機能開発から見たWindowsの国際化機能
開発から見たWindowsの国際化機能
 
Hw meetup 20150304
Hw meetup 20150304Hw meetup 20150304
Hw meetup 20150304
 
形態素解析の実装言語Talk パネルディスカッション
形態素解析の実装言語Talk パネルディスカッション形態素解析の実装言語Talk パネルディスカッション
形態素解析の実装言語Talk パネルディスカッション
 
BlackJack
BlackJackBlackJack
BlackJack
 
Yidev201406.pub
Yidev201406.pubYidev201406.pub
Yidev201406.pub
 
Merpay tech talk (e2e testing framework)
Merpay tech talk (e2e testing framework)Merpay tech talk (e2e testing framework)
Merpay tech talk (e2e testing framework)
 
OpenDocument interoperability test workshop after story
OpenDocument interoperability test workshop after storyOpenDocument interoperability test workshop after story
OpenDocument interoperability test workshop after story
 

More from Hiramatsu Ryosuke

iPhoneアプリ開発を楽に楽しくするサイトまとめ
iPhoneアプリ開発を楽に楽しくするサイトまとめiPhoneアプリ開発を楽に楽しくするサイトまとめ
iPhoneアプリ開発を楽に楽しくするサイトまとめ
Hiramatsu Ryosuke
 

More from Hiramatsu Ryosuke (10)

6秒動画アプリ Vineの作り方
6秒動画アプリ Vineの作り方6秒動画アプリ Vineの作り方
6秒動画アプリ Vineの作り方
 
iOSアプリ開発にほんのり役に立つtips集
iOSアプリ開発にほんのり役に立つtips集iOSアプリ開発にほんのり役に立つtips集
iOSアプリ開発にほんのり役に立つtips集
 
5分でつまむEffective Objective-C
5分でつまむEffective Objective-C5分でつまむEffective Objective-C
5分でつまむEffective Objective-C
 
iOSアプリの特急申請 - Apple Expedited Review Request
iOSアプリの特急申請 - Apple Expedited Review RequestiOSアプリの特急申請 - Apple Expedited Review Request
iOSアプリの特急申請 - Apple Expedited Review Request
 
emoSound by たこ部 | OpenHackDay2
emoSound by たこ部 | OpenHackDay2emoSound by たこ部 | OpenHackDay2
emoSound by たこ部 | OpenHackDay2
 
AppSwitcherでアプリをユーザーファーストに
AppSwitcherでアプリをユーザーファーストにAppSwitcherでアプリをユーザーファーストに
AppSwitcherでアプリをユーザーファーストに
 
Bitbucket Pull Request 練習帳
Bitbucket Pull Request 練習帳Bitbucket Pull Request 練習帳
Bitbucket Pull Request 練習帳
 
iPhoneアプリ開発を楽に楽しくするサイトまとめ
iPhoneアプリ開発を楽に楽しくするサイトまとめiPhoneアプリ開発を楽に楽しくするサイトまとめ
iPhoneアプリ開発を楽に楽しくするサイトまとめ
 
Unix
UnixUnix
Unix
 
C-langage
C-langageC-langage
C-langage
 

Recently uploaded

Recently uploaded (12)

論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 

Xcodeを便利に使って爆速開発する #yxcm