SlideShare une entreprise Scribd logo
1  sur  28
Télécharger pour lire hors ligne
CUIツールで開発効率改善
2014/3/27 iPhone Dev Sapporo
@giginet
自己紹介
• Twitter/Github @giginet
• 北海道大学情報科学研究科 M1
• はてなインターン・クックパッドインターン
• 札幌ゲーム製作者コミュニティKawaz
• Objective-C/C++/Python/JavaScript etc…
• ゲームプログラミングしてます
Kawaz
• 札幌ゲーム製作者コミュニティKawazを運営してます
• http://www.kawaz.org/
• プロ、アマ問わずゲーム作りたいさまざまな人が集まってイン
ディーゲームを作るコミュニティ
• プログラマ、音屋、絵師、シナリオライターetc…
Wave Weaver
• 新作ゲームリリースしました!
• 波をかわして曲を紡ぐ『Wave Weaver』
今日話すこと
• nomad-cliというユーティリティが便利
だったので簡単に紹介します
nomad-cli
http://nomad-cli.com/
nomad-cli
• iOS Dev CenterやiTunes Connectの操
作をCUI上で行う便利ユーティリティ集
需要
• iOS開発ではGUIでの操作を要求される場面が多い
• CIを使っていると、CUIでいろいろ操作したい感が高まる
TestFlight
DeployGate
Dropbox
Jenkins
GitLab
CIあるある
• Provisioning Profileが古くてビルドが落ちる!
• 例えばProvisioning Profile(PP)にデバイスを追加したなど、
変更するとUUIDが変わる
• リポジトリにはPPを含めたくない
• XcodeのPreferencesからPPを更新できる(5.x以上)
• GUIによるPPの更新が必要。苦行
• →コマンドでPPを最新の状態に保ちたい
• Dev CenterからいちいちGUIでデバイスを追加したり、管理す
る作業が面倒
CUPERTINO
• CUIからiOS Dev Centerを操作できる
• 例えば以下のような事が可能
• デバイスの追加、削除
• App IDの一覧を取得
• 証明書の一覧を取得
• Provisioning Profileをダウンロード、作成、管理
導入方法
$ (gem install multipart-post -v 1.2.0)
$ gem install cupertino
$ ios login
• rubygemsで入る
• 導入後、iosコマンドが利用できるようになるので、ios loginで
ログイン
最新版に常に更新
$ ios profile:download YourProfile
$ open YourProfile.mobileprovision
• 実際は後述のSHENZHENのオプションに渡してやると良い
DEMO
便利?
• ちょっとだけ便利
• わざわざブラウザ開きたくない方にオススメ
• Provisioning Profileのダウンロードと、デバイスの管理はよく
使う
• vimで編集できてうれしい
• いちいちビルドボタンを押すのすら面倒
SHENZHEN
• CUIからビルドしたり、TestFlightに飛ばしたりが簡単にできる
• 対話式に設定できてxcode-buildとか使うより若干楽で嬉し
い
$ ipa build
$ ipa distribute —a <API_TOKEN> -T
<TEAM_TOKEN>
便利?
• ほんのちょっとだけ便利
• 元々CUIでできるが、xcode-build使ったり、curl使ったりする
よりは若干楽
• CI環境とかで使うなら良いかも
• TestFlightのTokenとかいちいち調べるヒマあったらGUIアプリ
でいい感じする
他にも
• nomad-cliには他のユーティリティも用意されている
• ちゃんと使ってないので紹介だけ
HOUSTON Push Notificationの管理、発行
DUBAI PassBookの管理、配信
VENIS In App Purchaseの売り上げを取得
まとめ
• GUIでできることはGUIでやった方が楽
ご静聴
ありがとうございました

Contenu connexe

Tendances

C# で i phone ゲーム開発
C# で i phone ゲーム開発C# で i phone ゲーム開発
C# で i phone ゲーム開発
Katsutoshi Makino
 
Unreal Engine 4 勉強会 福岡 2014/05/25
Unreal Engine 4 勉強会 福岡 2014/05/25Unreal Engine 4 勉強会 福岡 2014/05/25
Unreal Engine 4 勉強会 福岡 2014/05/25
Daisuke Nakamura
 

Tendances (20)

Unity名古屋セミナー [Asset Store]
Unity名古屋セミナー [Asset Store]Unity名古屋セミナー [Asset Store]
Unity名古屋セミナー [Asset Store]
 
がんばれガンプ ソルバルウを倒せについて
がんばれガンプ ソルバルウを倒せについてがんばれガンプ ソルバルウを倒せについて
がんばれガンプ ソルバルウを倒せについて
 
RoomAlive - HoloLensに向けていまできること
RoomAlive - HoloLensに向けていまできることRoomAlive - HoloLensに向けていまできること
RoomAlive - HoloLensに向けていまできること
 
CEDEC 2011 「ARG:プラットフォームに依存しない新しい遊び方」八重尾スライド
CEDEC 2011 「ARG:プラットフォームに依存しない新しい遊び方」八重尾スライドCEDEC 2011 「ARG:プラットフォームに依存しない新しい遊び方」八重尾スライド
CEDEC 2011 「ARG:プラットフォームに依存しない新しい遊び方」八重尾スライド
 
Cocos sharpでゲーム開発してみました
Cocos sharpでゲーム開発してみましたCocos sharpでゲーム開発してみました
Cocos sharpでゲーム開発してみました
 
ゲームデータDLとの戦い ~幻塔戦記グリフォン~
ゲームデータDLとの戦い ~幻塔戦記グリフォン~ゲームデータDLとの戦い ~幻塔戦記グリフォン~
ゲームデータDLとの戦い ~幻塔戦記グリフォン~
 
Unity名古屋セミナー [プログラミングなしでゲーム開発]
Unity名古屋セミナー [プログラミングなしでゲーム開発]Unity名古屋セミナー [プログラミングなしでゲーム開発]
Unity名古屋セミナー [プログラミングなしでゲーム開発]
 
Dreamforce2014 ~Mini Hack~
Dreamforce2014 ~Mini Hack~Dreamforce2014 ~Mini Hack~
Dreamforce2014 ~Mini Hack~
 
Cocos sharpformsの使用例
Cocos sharpformsの使用例Cocos sharpformsの使用例
Cocos sharpformsの使用例
 
C# で i phone ゲーム開発
C# で i phone ゲーム開発C# で i phone ゲーム開発
C# で i phone ゲーム開発
 
Unreal Engine 4 勉強会 福岡 2014/05/25
Unreal Engine 4 勉強会 福岡 2014/05/25Unreal Engine 4 勉強会 福岡 2014/05/25
Unreal Engine 4 勉強会 福岡 2014/05/25
 
第一回 関西UE4ハンズオンセミナー
第一回 関西UE4ハンズオンセミナー第一回 関西UE4ハンズオンセミナー
第一回 関西UE4ハンズオンセミナー
 
UnityでUI開発を高速化した件
UnityでUI開発を高速化した件UnityでUI開発を高速化した件
UnityでUI開発を高速化した件
 
"有翼のフロイライン Wing of Darkness"と歩むUE4の世界
"有翼のフロイライン Wing of Darkness"と歩むUE4の世界"有翼のフロイライン Wing of Darkness"と歩むUE4の世界
"有翼のフロイライン Wing of Darkness"と歩むUE4の世界
 
Unityと.NET
Unityと.NETUnityと.NET
Unityと.NET
 
ゲーム開発で使えるかもしれないレイアウトデザイン
ゲーム開発で使えるかもしれないレイアウトデザインゲーム開発で使えるかもしれないレイアウトデザイン
ゲーム開発で使えるかもしれないレイアウトデザイン
 
GTMF2016「Unreal Engine 4で高品質なVRコンテンツを 制作するために知っておきたい100のテクニック」
GTMF2016「Unreal Engine 4で高品質なVRコンテンツを 制作するために知っておきたい100のテクニック」GTMF2016「Unreal Engine 4で高品質なVRコンテンツを 制作するために知っておきたい100のテクニック」
GTMF2016「Unreal Engine 4で高品質なVRコンテンツを 制作するために知っておきたい100のテクニック」
 
Powerful of blueprint visual scripting
Powerful of blueprint visual scriptingPowerful of blueprint visual scripting
Powerful of blueprint visual scripting
 
マインクラフトPEのマルチプレイサーバー立ててみた
マインクラフトPEのマルチプレイサーバー立ててみたマインクラフトPEのマルチプレイサーバー立ててみた
マインクラフトPEのマルチプレイサーバー立ててみた
 
Unity って何?
Unity って何?Unity って何?
Unity って何?
 

En vedette

PHPとTravis CIでブラウザテスト
PHPとTravis CIでブラウザテストPHPとTravis CIでブラウザテスト
PHPとTravis CIでブラウザテスト
Yusuke Ando
 

En vedette (20)

GitHub Travis-CI Go!
GitHub Travis-CI  Go!GitHub Travis-CI  Go!
GitHub Travis-CI Go!
 
リーン・スタートアップと Ci について @ DevOps 懇親会 #1
リーン・スタートアップと Ci について @ DevOps 懇親会 #1リーン・スタートアップと Ci について @ DevOps 懇親会 #1
リーン・スタートアップと Ci について @ DevOps 懇親会 #1
 
Yahoo! Hack India: Hyderabad 2013 | YDN & Hacking 101
Yahoo! Hack India: Hyderabad 2013 | YDN & Hacking 101Yahoo! Hack India: Hyderabad 2013 | YDN & Hacking 101
Yahoo! Hack India: Hyderabad 2013 | YDN & Hacking 101
 
開発リードタイム短縮への挑戦 〜とある現場のパターン・ランゲージ〜
開発リードタイム短縮への挑戦 〜とある現場のパターン・ランゲージ〜開発リードタイム短縮への挑戦 〜とある現場のパターン・ランゲージ〜
開発リードタイム短縮への挑戦 〜とある現場のパターン・ランゲージ〜
 
To be sn agile enterprise
To be sn agile enterpriseTo be sn agile enterprise
To be sn agile enterprise
 
iOS対応のCIサービス「Bitrise」を使ってみた
iOS対応のCIサービス「Bitrise」を使ってみたiOS対応のCIサービス「Bitrise」を使ってみた
iOS対応のCIサービス「Bitrise」を使ってみた
 
楽天が挑むDevOps
楽天が挑むDevOps楽天が挑むDevOps
楽天が挑むDevOps
 
Concourse updates
Concourse updatesConcourse updates
Concourse updates
 
Ci/CD Android
Ci/CD AndroidCi/CD Android
Ci/CD Android
 
iOSのCI as a Service事情
iOSのCI as a Service事情iOSのCI as a Service事情
iOSのCI as a Service事情
 
オブジェクト指向な人がRx swiftを試してみた
オブジェクト指向な人がRx swiftを試してみたオブジェクト指向な人がRx swiftを試してみた
オブジェクト指向な人がRx swiftを試してみた
 
「最強」のチームを「造る」技術基盤 ディレクターズ・カット
「最強」のチームを「造る」技術基盤 ディレクターズ・カット「最強」のチームを「造る」技術基盤 ディレクターズ・カット
「最強」のチームを「造る」技術基盤 ディレクターズ・カット
 
Jenkins on-mac
Jenkins on-macJenkins on-mac
Jenkins on-mac
 
PHPとTravis CIでブラウザテスト
PHPとTravis CIでブラウザテストPHPとTravis CIでブラウザテスト
PHPとTravis CIでブラウザテスト
 
Xcode 7で始めるCI
Xcode 7で始めるCIXcode 7で始めるCI
Xcode 7で始めるCI
 
Androidアプリ開発のテスト環境
Androidアプリ開発のテスト環境Androidアプリ開発のテスト環境
Androidアプリ開発のテスト環境
 
iOSアプリにおけるリリースフローとCI環境
iOSアプリにおけるリリースフローとCI環境iOSアプリにおけるリリースフローとCI環境
iOSアプリにおけるリリースフローとCI環境
 
DeNA×マネーフォワード×Wantedly Railsエンジニアセミナー
DeNA×マネーフォワード×Wantedly RailsエンジニアセミナーDeNA×マネーフォワード×Wantedly Railsエンジニアセミナー
DeNA×マネーフォワード×Wantedly Railsエンジニアセミナー
 
iOSアプリ開発のテスト環境 - テストをはじめる最初の一歩 -
iOSアプリ開発のテスト環境 - テストをはじめる最初の一歩 -iOSアプリ開発のテスト環境 - テストをはじめる最初の一歩 -
iOSアプリ開発のテスト環境 - テストをはじめる最初の一歩 -
 
iOSアプリ開発のCI環境 - Jenkins編 -
iOSアプリ開発のCI環境 - Jenkins編 -iOSアプリ開発のCI環境 - Jenkins編 -
iOSアプリ開発のCI環境 - Jenkins編 -
 

Similaire à nomad-cliの紹介

20120316 designerworkshoppublished
20120316 designerworkshoppublished20120316 designerworkshoppublished
20120316 designerworkshoppublished
Yoichiro Sakurai
 
20120413 nestakabaneworkshop
20120413 nestakabaneworkshop20120413 nestakabaneworkshop
20120413 nestakabaneworkshop
Yoichiro Sakurai
 
ゆとりエンジニア交流会_20130706
ゆとりエンジニア交流会_20130706ゆとりエンジニア交流会_20130706
ゆとりエンジニア交流会_20130706
拓 小林
 

Similaire à nomad-cliの紹介 (20)

C#への招待
C#への招待C#への招待
C#への招待
 
多人数iOSアプリ開発を考える
多人数iOSアプリ開発を考える多人数iOSアプリ開発を考える
多人数iOSアプリ開発を考える
 
SwiftでAndroidアプリ書けるってよ
SwiftでAndroidアプリ書けるってよSwiftでAndroidアプリ書けるってよ
SwiftでAndroidアプリ書けるってよ
 
20150514 android
20150514 android20150514 android
20150514 android
 
1画面1Storyboardのススメ
1画面1Storyboardのススメ1画面1Storyboardのススメ
1画面1Storyboardのススメ
 
20120316 designerworkshoppublished
20120316 designerworkshoppublished20120316 designerworkshoppublished
20120316 designerworkshoppublished
 
「アーティスト活動」というプログラマの自己防衛術 - 坪倉輝明
「アーティスト活動」というプログラマの自己防衛術 - 坪倉輝明「アーティスト活動」というプログラマの自己防衛術 - 坪倉輝明
「アーティスト活動」というプログラマの自己防衛術 - 坪倉輝明
 
Cmujp21_node-webkit
Cmujp21_node-webkitCmujp21_node-webkit
Cmujp21_node-webkit
 
Oculus 体験・勉強会「VRコンテンツ制作入門」 2015/05/13
Oculus 体験・勉強会「VRコンテンツ制作入門」 2015/05/13Oculus 体験・勉強会「VRコンテンツ制作入門」 2015/05/13
Oculus 体験・勉強会「VRコンテンツ制作入門」 2015/05/13
 
札幌ゲーム製作者コミュニティKawaz「いどのなかにいる」
札幌ゲーム製作者コミュニティKawaz「いどのなかにいる」札幌ゲーム製作者コミュニティKawaz「いどのなかにいる」
札幌ゲーム製作者コミュニティKawaz「いどのなかにいる」
 
20120413 nestakabaneworkshop
20120413 nestakabaneworkshop20120413 nestakabaneworkshop
20120413 nestakabaneworkshop
 
SwiftによるiOS開発再入門
SwiftによるiOS開発再入門SwiftによるiOS開発再入門
SwiftによるiOS開発再入門
 
趣味プログラマの先輩からのアドバイス
趣味プログラマの先輩からのアドバイス趣味プログラマの先輩からのアドバイス
趣味プログラマの先輩からのアドバイス
 
Unity+osc
Unity+oscUnity+osc
Unity+osc
 
iOS豆知識ver0.0.5
iOS豆知識ver0.0.5iOS豆知識ver0.0.5
iOS豆知識ver0.0.5
 
なぜ私はソニックガーデンのプログラマに転身できたのか?
なぜ私はソニックガーデンのプログラマに転身できたのか? なぜ私はソニックガーデンのプログラマに転身できたのか?
なぜ私はソニックガーデンのプログラマに転身できたのか?
 
開発合宿!!!!
開発合宿!!!!開発合宿!!!!
開発合宿!!!!
 
デジタルハリウッド大学藤本ゼミプレゼンテーション(20071115)
デジタルハリウッド大学藤本ゼミプレゼンテーション(20071115)デジタルハリウッド大学藤本ゼミプレゼンテーション(20071115)
デジタルハリウッド大学藤本ゼミプレゼンテーション(20071115)
 
ゆとりエンジニア交流会_20130706
ゆとりエンジニア交流会_20130706ゆとりエンジニア交流会_20130706
ゆとりエンジニア交流会_20130706
 
Koyomin Zの紹介
Koyomin Zの紹介Koyomin Zの紹介
Koyomin Zの紹介
 

Plus de Kohki Miki

Decksetがよかった話
Decksetがよかった話Decksetがよかった話
Decksetがよかった話
Kohki Miki
 
VOXCHRONICLE企画草案
VOXCHRONICLE企画草案VOXCHRONICLE企画草案
VOXCHRONICLE企画草案
Kohki Miki
 
〜ゲーム制作を始めてみよう〜 Kawaz入会希望者向けスライド
〜ゲーム制作を始めてみよう〜 Kawaz入会希望者向けスライド〜ゲーム制作を始めてみよう〜 Kawaz入会希望者向けスライド
〜ゲーム制作を始めてみよう〜 Kawaz入会希望者向けスライド
Kohki Miki
 
【TDDBC2.1】やる夫で学ぶTDD
【TDDBC2.1】やる夫で学ぶTDD【TDDBC2.1】やる夫で学ぶTDD
【TDDBC2.1】やる夫で学ぶTDD
Kohki Miki
 
はてなインターンシップ2011、ワークショップ発表プレゼン
はてなインターンシップ2011、ワークショップ発表プレゼンはてなインターンシップ2011、ワークショップ発表プレゼン
はてなインターンシップ2011、ワークショップ発表プレゼン
Kohki Miki
 

Plus de Kohki Miki (20)

watchOS 2でゲーム作ってみた話
watchOS 2でゲーム作ってみた話watchOS 2でゲーム作ってみた話
watchOS 2でゲーム作ってみた話
 
cocos2d-consoleでパッケージ管理
cocos2d-consoleでパッケージ管理cocos2d-consoleでパッケージ管理
cocos2d-consoleでパッケージ管理
 
エターナらないゲーム開発
エターナらないゲーム開発エターナらないゲーム開発
エターナらないゲーム開発
 
ゲームコミュニティサミット2014に参加してきた話
ゲームコミュニティサミット2014に参加してきた話ゲームコミュニティサミット2014に参加してきた話
ゲームコミュニティサミット2014に参加してきた話
 
ゲームコミュニティサミット2014「*いどのなかにいる*」
ゲームコミュニティサミット2014「*いどのなかにいる*」ゲームコミュニティサミット2014「*いどのなかにいる*」
ゲームコミュニティサミット2014「*いどのなかにいる*」
 
Kawaz Hipchat超入門
Kawaz Hipchat超入門Kawaz Hipchat超入門
Kawaz Hipchat超入門
 
Kawaz Third Impact
Kawaz Third ImpactKawaz Third Impact
Kawaz Third Impact
 
Decksetがよかった話
Decksetがよかった話Decksetがよかった話
Decksetがよかった話
 
Unite Japanに参加してきた話
Unite Japanに参加してきた話Unite Japanに参加してきた話
Unite Japanに参加してきた話
 
cocos2d-x 3.0 + C++11で始めるゲーム開発超入門
cocos2d-x 3.0 + C++11で始めるゲーム開発超入門cocos2d-x 3.0 + C++11で始めるゲーム開発超入門
cocos2d-x 3.0 + C++11で始めるゲーム開発超入門
 
VOXCHRONICLE企画草案
VOXCHRONICLE企画草案VOXCHRONICLE企画草案
VOXCHRONICLE企画草案
 
〜ゲーム制作を始めてみよう〜 Kawaz入会希望者向けスライド
〜ゲーム制作を始めてみよう〜 Kawaz入会希望者向けスライド〜ゲーム制作を始めてみよう〜 Kawaz入会希望者向けスライド
〜ゲーム制作を始めてみよう〜 Kawaz入会希望者向けスライド
 
Kawaz的jQuery入門
Kawaz的jQuery入門Kawaz的jQuery入門
Kawaz的jQuery入門
 
Kobold2Dで始めるゲーム開発
Kobold2Dで始めるゲーム開発Kobold2Dで始めるゲーム開発
Kobold2Dで始めるゲーム開発
 
【TDDBC2.1】やる夫で学ぶTDD
【TDDBC2.1】やる夫で学ぶTDD【TDDBC2.1】やる夫で学ぶTDD
【TDDBC2.1】やる夫で学ぶTDD
 
はてな技術勉強会 #4LT「札幌ゲーム制作者コミュニティKawaz」について
はてな技術勉強会 #4LT「札幌ゲーム制作者コミュニティKawaz」についてはてな技術勉強会 #4LT「札幌ゲーム制作者コミュニティKawaz」について
はてな技術勉強会 #4LT「札幌ゲーム制作者コミュニティKawaz」について
 
はてなインターンシップ2011、ワークショップ発表プレゼン
はてなインターンシップ2011、ワークショップ発表プレゼンはてなインターンシップ2011、ワークショップ発表プレゼン
はてなインターンシップ2011、ワークショップ発表プレゼン
 
cocos2で始める iPhoneゲーム開発入門
cocos2で始める iPhoneゲーム開発入門cocos2で始める iPhoneゲーム開発入門
cocos2で始める iPhoneゲーム開発入門
 
PyGame入門
PyGame入門PyGame入門
PyGame入門
 
cocos2d入門
cocos2d入門cocos2d入門
cocos2d入門
 

nomad-cliの紹介