Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

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

9,741 views

Published on

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

Published in: Technology
  • Be the first to comment

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

×