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

Like this? Share it with your network

Share

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

on

  • 6,958 views

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

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

Statistics

Views

Total Views
6,958
Views on SlideShare
3,370
Embed Views
3,588

Actions

Likes
4
Downloads
10
Comments
0

7 Embeds 3,588

http://dev.classmethod.jp 2127
http://gihyo.jp 821
http://tochiba.hatenablog.com 417
http://acaric-valuator.blog.jp 217
http://49.212.34.189 4
http://s.deeeki.com 1
http://news.google.com 1
More...

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

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

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