Xcodeプラグインで!
快適な開発ライフを
ヤフー vs クラスメソッド!
Battle #1

Copylight © Classmethod, Inc.

1
自己紹介
• 平井 祐樹!
• クラスメソッド株式会社!
• iPhoneアプリサービス事業部!
• iOS開発歴2年ぐらい!
• モテたい

Copylight © Classmethod, Inc.

2
Storyboard Identifierの!
コード補完が!
無くて困っていませんか?

Copylight © Classmethod, Inc.

3
プログラムからStoryboardの!
Identifierを指定する場合
- (IBAction)xxxButtonTapped:(id)sender
{
UIStoryboard *storyboard =
[UIStoryboard st...
プログラムからStoryboardの!
Identifierを指定する場合
- (IBAction)xxxButtonTapped:(id)sender
{
UIStoryboard *storyboard =
[UIStoryboard st...
プログラムからStoryboardの!
Identifierを指定する場合
- (IBAction)xxxButtonTapped:(id)sender
{
UIStoryboard *storyboard =
[UIStoryboard st...
というわけで、

Copylight © Classmethod, Inc.

5
プラグイン作りました!

Copylight © Classmethod, Inc.

6
StoryboardIdentifierHelper
• Storyboard関連のコード補完プラグイン!
- instantiateViewControllerWithIdentifier:!
- performSegueWithIdenti...
実行例

Copylight © Classmethod, Inc.

8
実行例

Copylight © Classmethod, Inc.

8
いっぱい「いいね!」!
してくれたら公開します!

Copylight © Classmethod, Inc.

9
Xcodeプラグインは!
誰でも作れます!

Copylight © Classmethod, Inc.

10
Xcodeプラグイン開発入門

Copylight © Classmethod, Inc.

11
アジェンダ
1. Xcodeプラグイン開発について!
2. 作成方法!
3. 開発の流れ!
4. 機能の呼び出し方!
5. まとめ

Copylight © Classmethod, Inc.

12
1.Xcodeプラグイン開発について

Copylight © Classmethod, Inc.

13
1-1.必要なもの
• Mac!
• Xcode 5

Copylight © Classmethod, Inc.

14
1-2.必要なスキル
• Objective-Cの知識!
• OS Xアプリ開発の知識

[C]
Copylight © Classmethod, Inc.

15
1-3.学習方法
• 公式でサポートされていない!
• なので情報がほとんどない!
– 日本語の情報が皆無!
– 英語でもXcode 4の情報がほとんど

Copylight © Classmethod, Inc.

16
1-3.学習方法
• 公式でサポートされていない!
• なので情報がほとんどない!
– 日本語の情報が皆無!
– 英語でもXcode 4の情報がほとんど
既存のプラグインのソースコードを読む!
Copylight © Classmethod, ...
2.作成方法
• Xcodeプロジェクトの作成(いつもの)!
• Xxx-Info.plistとBuild settingsの設定!
• プラグイン実装(Objective-Cを書く)

Copylight © Classmethod, Inc...
3.開発の流れ
1. プラグイン作成!
2. ビルドしてXcode再起動!
3. しこんでおいたNSLogを確認!
(ログは/var/log/system.logに出力される)!

4. 失敗したらプラグインを消す!
(Cleanまたは直接ファ...
4.機能の呼び出し方
1. Xcodeのメニューから!
2. 通知を監視!
3. 既存のメソッドをすりかえ(Swizzling)

Copylight © Classmethod, Inc.

19
詳しくはブログで!!
http://dev.classmethod.jp/iphone/xcode5-plugin-1

Copylight © Classmethod, Inc.

20
5.まとめ

Copylight © Classmethod, Inc.

21
みんなでプラグインを作って!
快適開発ライフを!!
(僕の開発ライフを楽にしてくださいw)

Copylight © Classmethod, Inc.

22
ご清聴ありがとうございました

Copylight © Classmethod, Inc.

23
Xcodeプラグインで快適な開発ライフを
Upcoming SlideShare
Loading in...5
×

Xcodeプラグインで快適な開発ライフを

8,059

Published on

Xcodeプラグイン開発に関する情報をまとめました。

Published in: Technology
0 Comments
6 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
8,059
On Slideshare
0
From Embeds
0
Number of Embeds
10
Actions
Shares
0
Downloads
11
Comments
0
Likes
6
Embeds 0
No embeds

No notes for slide

Xcodeプラグインで快適な開発ライフを

  1. 1. Xcodeプラグインで! 快適な開発ライフを ヤフー vs クラスメソッド! Battle #1 Copylight © Classmethod, Inc. 1
  2. 2. 自己紹介 • 平井 祐樹! • クラスメソッド株式会社! • iPhoneアプリサービス事業部! • iOS開発歴2年ぐらい! • モテたい Copylight © Classmethod, Inc. 2
  3. 3. Storyboard Identifierの! コード補完が! 無くて困っていませんか? Copylight © Classmethod, Inc. 3
  4. 4. プログラムからStoryboardの! Identifierを指定する場合 - (IBAction)xxxButtonTapped:(id)sender { UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Xxx" bundle:[NSBundle mainBundle]]; UIViewController *viewController = [storyboard instantiateViewControllerWithIdentifier:@"・・・"]; // ・・・ } Copylight © Classmethod, Inc. 4
  5. 5. プログラムからStoryboardの! Identifierを指定する場合 - (IBAction)xxxButtonTapped:(id)sender { UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Xxx" bundle:[NSBundle mainBundle]]; UIViewController *viewController = [storyboard 文字列で指定! instantiateViewControllerWithIdentifier:@"・・・"]; // ・・・ } Copylight © Classmethod, Inc. 4
  6. 6. プログラムからStoryboardの! Identifierを指定する場合 - (IBAction)xxxButtonTapped:(id)sender { UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Xxx" bundle:[NSBundle • 間違えてもビルドできてしまう…! mainBundle]]; コード補完されない!!! • しかも落ちる… UIViewController *viewController = [storyboard 文字列で指定! instantiateViewControllerWithIdentifier:@"・・・"]; // ・・・ } Copylight © Classmethod, Inc. 4
  7. 7. というわけで、 Copylight © Classmethod, Inc. 5
  8. 8. プラグイン作りました! Copylight © Classmethod, Inc. 6
  9. 9. StoryboardIdentifierHelper • Storyboard関連のコード補完プラグイン! - instantiateViewControllerWithIdentifier:! - performSegueWithIdentifer:sender:! segue.identiferを- isEqualToString:で比較するとき! • 参考:Lin-Xcode5 Copylight © Classmethod, Inc. 7
  10. 10. 実行例 Copylight © Classmethod, Inc. 8
  11. 11. 実行例 Copylight © Classmethod, Inc. 8
  12. 12. いっぱい「いいね!」! してくれたら公開します! Copylight © Classmethod, Inc. 9
  13. 13. Xcodeプラグインは! 誰でも作れます! Copylight © Classmethod, Inc. 10
  14. 14. Xcodeプラグイン開発入門 Copylight © Classmethod, Inc. 11
  15. 15. アジェンダ 1. Xcodeプラグイン開発について! 2. 作成方法! 3. 開発の流れ! 4. 機能の呼び出し方! 5. まとめ Copylight © Classmethod, Inc. 12
  16. 16. 1.Xcodeプラグイン開発について Copylight © Classmethod, Inc. 13
  17. 17. 1-1.必要なもの • Mac! • Xcode 5 Copylight © Classmethod, Inc. 14
  18. 18. 1-2.必要なスキル • Objective-Cの知識! • OS Xアプリ開発の知識 [C] Copylight © Classmethod, Inc. 15
  19. 19. 1-3.学習方法 • 公式でサポートされていない! • なので情報がほとんどない! – 日本語の情報が皆無! – 英語でもXcode 4の情報がほとんど Copylight © Classmethod, Inc. 16
  20. 20. 1-3.学習方法 • 公式でサポートされていない! • なので情報がほとんどない! – 日本語の情報が皆無! – 英語でもXcode 4の情報がほとんど 既存のプラグインのソースコードを読む! Copylight © Classmethod, Inc. 16
  21. 21. 2.作成方法 • Xcodeプロジェクトの作成(いつもの)! • Xxx-Info.plistとBuild settingsの設定! • プラグイン実装(Objective-Cを書く) Copylight © Classmethod, Inc. 17
  22. 22. 3.開発の流れ 1. プラグイン作成! 2. ビルドしてXcode再起動! 3. しこんでおいたNSLogを確認! (ログは/var/log/system.logに出力される)! 4. 失敗したらプラグインを消す! (Cleanまたは直接ファイル削除) Copylight © Classmethod, Inc. 18
  23. 23. 4.機能の呼び出し方 1. Xcodeのメニューから! 2. 通知を監視! 3. 既存のメソッドをすりかえ(Swizzling) Copylight © Classmethod, Inc. 19
  24. 24. 詳しくはブログで!! http://dev.classmethod.jp/iphone/xcode5-plugin-1 Copylight © Classmethod, Inc. 20
  25. 25. 5.まとめ Copylight © Classmethod, Inc. 21
  26. 26. みんなでプラグインを作って! 快適開発ライフを!! (僕の開発ライフを楽にしてくださいw) Copylight © Classmethod, Inc. 22
  27. 27. ご清聴ありがとうございました Copylight © Classmethod, Inc. 23
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×