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

9,521 views

Published on

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

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

No Downloads
Views
Total views
9,521
On SlideShare
0
From Embeds
0
Number of Embeds
7,811
Actions
Shares
0
Downloads
13
Comments
0
Likes
7
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

×