iOSDC Japan 2017にCfPを出しました! #iosdc

周りのレベルが高く、すでに少し心が折れ気味ですが、5つ出したので、まとめておきます。 iosdc.jp

1. iOSDCだけではもったいない!iOSアプリケーションエンジニアの他言語コミュニティ生存戦略 [LT]

iosdc.jp

以下はCfPでまとめきれなかった部分も含んだ概要です。

PyCon JPでiOSアプリ開発を担当していたり、buildersconのスタッフをしたりと、iOS/Swiftに限らないコミュニティに属しながら、学んだことやiOSアプリエンジニアとしての価値、他言語カンファレンスに参加することの意義についてお話します。
私は以下のような不安に、日々怯えていました。

  • Appleが大きく方向転換したら生き残れるのか…
  • 自分の価値は、多言語のコミュニティ内であるのか..
  • Swift以外の言語は仕事で書いてないけど、いざ放り込まれた時に、キャッチアップしていくためには…

これらの不安はiOSアプリエンジニアに限った話ではないとは思いますが、特にiOSという独特な環境の下での生きている我々は、サーバーサイドやインフラについて怖いというイメージが先行してしまっているのではないでしょうか。 このトークでは昨年から他言語のカンファレンススタッフとして活動していく中で感じた、コミュニティでのiOSアプリケーションエンジニアとしての生き残り方を紹介します。聞いた方が、まずは他言語のカンファレンスに足を運んでくれることが目標です。

iOS以外のプログラミング言語カンファレンスのスタッフもしている経験から、他のコミュニティにも飛び込んでみようという話を5分で話します!

2. CodableでAPI通信を再発明 [30min]

iosdc.jp

iOSアプリ開発では、WebAPIとJSONでのやり取りがほぼ不可欠となっています。また、巨大な通信ライブラリに依存した実装がほとんどで、よくわからずに使われていることもあるのではないでしょうか。 このトークでは、初級者向けにURLSessionとSwift 4で追加されるCodableを組み合わせ、一般的なiOSアプリで想定されるWebAPI通信を実装してみることで、ライブラリの優位性、必要可否について検証してみます。 ライブコーディングにも初挑戦したいと思います。

ボクの中での、本命です!!!
URLSessionを使ってAPI通信を行い、サードパーティライブラリを使うメリット、デメリットについてお話したいと思っています!
ライブコーディ (もどき) にも挑戦します!!!

3. iOSアプリエンジニアのためのCocoa Appコトハジメ (iOSDC駆動開発) [15 or 30min]

iosdc.jp

日夜iOSアプリを作る我々は、iOSと同じくらいmacOSに触れているはずにも関わらず、Cocoaフレームワークは敬遠されがちです。かくいう私もやるやる詐欺で手付かずでしたが、今回のiOSDC駆動開発でAPIクライアントアプリを作ってみました。【絶賛作成中!!!】このトークでは、取り組んでみてわかったiOSとの違いと共通点の共有、実際にしてしまった勘違いや躓きポイントを赤裸々にお話し、皆さんがCocoaフレームワークと仲良くなるきっかけになればと思っています。

iOSDC駆動開発で作っているCocoa Appについてのトークです。macOSのアプリ作成は初めてのチャレンジで、ハマりどころがかなりありますが、iOSアプリエンジニアのみなさんがチャレンジするきっかけになるようなトークにしたいと思います。

4. アプリ譲渡、それは突然訪れた ~明日は我が身でも、過剰な不安をしないために~ [15min]

iosdc.jp

「アプリ譲渡?そんなの自分には関係ないでしょ?」 そう思っていた時期がボクにもありました。 突然、アプリ譲渡になるという知らせ。調べてみても、中々有益な情報には出会えません。不安に駆られながらも、ボクはアプリ譲渡という実績を解除しました。 このトークでは、譲渡元、譲渡先それぞれの操作をしてみた実体験から、事前準備、移行作業、事後作業で行ったことを解説し、明日アプリ譲渡することになった時に、少しでも不安を払拭できるようなお話をします。

昨日のSwift愛好会で話したネタなのですが、実は現在絶賛ハマり中で、途中までしか話せていません…
iOSDCまでにはまとめられると思うので、完全版でお話できればと思っています。

5. アプリ譲渡、それは突然訪れた ~明日は我が身でも、過剰な不安をしないために~ [LT]

iosdc.jp

4の話のLT版CfPです。がんばって5分にまとめます。

以上、5つ!!!

正直、もっと熟考して、数より質で勝負してもよかったかなぁとも思っています。
高度な話ではないかもしれませんが、よろしくお願いします!!!

WWDC 2017 keynote 個人的まとめ #wwdc

今年もやってきましたWWDC!!!

今年こそは現地で参加したいと思っていましたが、見事に外れました。
転籍もろもろでお金がなかったので、実際行ってたら生活やばかったと思います。

今回はヤフー株式会社 LODGE様で行われたWWDC Extended Tokyo 2017 で参加してきました。
いつも家で1人だと、睡魔との戦いなので、みんなで集まって見れるのはよかったです。

とりあえずメモとして公開で、後で直す

イントロ by Tim Cook

16million の登録 5300人の参加者 75カ国から

tvOS watchOS macOS iOS すべてのOSがうまくいっている

今回は6つのトピック

tvOS

Apple TVで検索が楽になっている 50のパートナーによって、数多くのチャンネルが選択できるようになった amazonがパートナーに参加、prime videoも追加

Apple Watch (watchOS)

  • watchOS4
    • Face
      • Siriが欲しい情報を、場所、時間から推論して、パーソナルな情報をFaceに表示してくれる
      • サードパーティアプリにも対応
      • 万華鏡Faceの追加
      • ウッディ、ジャシー、バズ・ライトイヤーのFaceが追加
    • ACTIVITY
      • よりパーソナライズ
    • ジムのマシンとの連携
    • Music
      • アートワークを表示させることで、視覚的にわかりやすく
      • workoutアプリにも組み込まれ、使いやすくなります。
    • Dockは垂直UIに変化
    • Background機能の充実
    • Bluetoothの拡張

Mac (macOS)

  • macOS Sierra -> macOS High Sierra
    • Safari
      • Speed (World fastest desktop’s browser
      • Autoplay bloking
      • Intelligent Tracking Prevention
    • Mail
    • Photo
      • 表示のsort、filterが充実
      • 顔認識に名前をつけると、他のデバイスにも同期
      • 編集機能がPhotoshopレベルに充実
      • Photoアプリで作ったアルバムをサードパーティで印刷できる
    • Data
      • HFS -> AppleFile System
        • iOS 10.3で使われたやつ?
    • Video
      • H.264 (4k対応?)
      • Metalの活躍
    • Metal2
      • Up to 10x draw call
    • DeveloperKit
      • Metal for VR
      • Stream VR SDK
    • リリース
      • macOS High Sierra betaは今日から
      • 6月末にPublic beta
      • 秋に正式リリース
  • 新型iMac
    • 21.5-inch
    • Retina 4K 21.5-inch
    • Retina 5K 37-inch
      • VRコンテンツを作るならこれ
      • 64GB RAM版
  • 新型Mac Pro
    • Kabylakeを搭載
  • iMac Pro
    • 黒い!!!!!!!!
    • 27-inch型と同じフォルムだが、workstationクラスのパフォーマンス
    • 排熱効率の改善
    • 8-10-18 Code Xeon Processor
    • Faster code compiling

iOS

Installed Base iOS 10: 86% Android 7: 7%

  • iOS 11
    • Message
      • App Drawerが新しく
      • Message in iCloudで全てのデバイスで同期
    • Apple Pay
      • Apple Payの50%はアメリカの小売業によると推測される
      • 個人間送金に対応
    • Siri
      • アイコン変わったね
      • 発音がDeep learningで進化
      • 翻訳 (日本語は未対応)
      • SiriKit
      • Siriはコンテキストを理解できるようになる
        • 時間や場所で、ほしいと思われる情報を出せるようになる
    • Camera
      • H.264でより鮮明な写真に
      • Depth API
    • Photos
      • 川の流れる画像のフレームを結合して、いい感じの画像にしてくれる
    • Control Center
      • デザインがかなりよくなった
    • Home Screen
    • Notification Center
    • News
      • Siriが最適なニュースをキュレーション
    • 文字入力
      • 既に見たことがある文字を学習していて、サジェストに出してくれる
    • Map
      • モールの内部のMapにも対応 (Tokyoも対応)
      • 空港にも対応
      • ナビは法定速度、車線の指示もしてくれる
    • Do not disturb Driving
    • HomeKit
      • Speakerに対応
      • 周囲の人とパーティープレイリストを作成して、みんなで1つのプレイリストを作成できる
    • Apple Music
      • 誰がどんな音楽を聞いているのかを表示 (公開、非公開を設定可能)
      • MusicKit: Apple Musicにフルアクセス可能
    • AppStore
      • Todayタブの追加
        • 毎日新しいアプリを見つけることができる
      • Gamesタブの追加
      • Appsタブの追加
      • Searchタブが1番右に移動
      • 詳細画面のデザインがかなり変更されている
    • MachineLearning
      • バッテリーを監視、充電を学習して、消耗を減らす
      • Core ML
    • AR
      • ARKitの提供
        • Wingnut AR
        • Micro softのMRに近い
    • iOS 11は今秋リリース
    • Developer betaは今日から

iPad

  • iPad Pro
    • 10.5-inch
      • Full Screen キーボード
      • JISキーボードもサポート
    • 120Hzのフレームレート
      • 24Hz, 48Hzにも自動で対応できる
    • Camera
  • iPad+iOS 11

Apple Music

  • HomePod
    • Rock the house: 大音量
    • Spatial awareness
    • Musicologist
  • Home assistant

アライドアーキテクツ株式会社を退職、株式会社大都に入社しました。

2017/5/8でアライドアーキテクツ株式会社を退職し、5/9から株式会社大都に入社しました。
実際は x転職、○転籍 で、やることは今までとほとんど変わらない予定です。
簡単にまとめると、

  1. GreenSnap事業をGreenSnap株式会社として分社化
  2. 株式交換でGreenSnap株式会社を株式会社大都の子会社に
  3. ボクはこれについていくことにしたので、実質転職

という流れです。

コンフィデンシャル情報だったため、周りの方にもご相談できなかったことを、ご理解ください。

www.aainc.co.jp

GreenSnap社の株式取得(子会社化)のお知らせ | ニュースリリース 株式会社 大都

正直どこまで話していいのかの線引が曖昧なので、心境と確定している予定のみを書きます。

心境

選択肢は、「ついていく」、「残る」、「他を探す」という三択でした。
ただ、1週間で答えてくれと言われ、正直時間を書けて考え抜けた訳ではありません。
「他を探す」というのは、簡単にできるものでもないし、次が決まっていないのに辞めると言い出す勇気は出なかったのが、正直なところです。
残念ながら、この事業がなくなったら、おそらく社内にiOSのポジションはなく、それでも会社に対してはiOSエンジニアとして育ててもらったという恩もあります。
最終的にはiOS/Swiftが好きなのでそれができるお仕事であること、今のチームでまだやれていないことがいくつも思いついたことから、「ついていく」を選ぶことにしました。
また、こんなアチーブメントの開放経験は、一生に何度もは巡って来ないだろうと思いもひとつの要因ですw

それよりも、人に相談できなかったり、親がめちゃくちゃ心配したり、そんなこんなで知らず知らずにストレスがあったのか、確定して話せるようになったタイミングで謎の体調不良で寝込だりと、決めてからもいろいろあった気がしますw

今後

最初にも書いていますが、株式会社大都の社員になります。
ECが主軸の会社で、 The IT企業! という感じの会社ではないと思います。
ただ、東京メンバーはアライドで一緒だったチームで、且つ少人数になるので、今まで以上に柔軟な働き方をできないかなと画策してます。

大阪の会社ですが、東京オフィスが新設されます。
6月中は渋谷のコワーキングオフィスで、7月からは赤坂見附になりそうです。

新会社はEnglish Nameという文化があるらしく、気がついたらボクはJET (ジェット) という名前になっていました。
すでに社内ではJETと呼ばれています…
皆様に於かれましては、今まで通り「ゆーたろー」とお呼びください。

コミュニティ活動も続けるつもりではいます!!!
PyCon JP, builderscon, Swift愛好会, fastlane勉強会, SwiSwiSwift, etc…
今までアライドは立地、施設が最高で、コミュニティ活動に大変活用させて頂きました。
本当にありがとうございました。
今後は会場問題を解決できる役割にはなれなそうですが、自分自身の力で貢献してきたいと思います!!!

これまでの働き方に大きな不満はあまりないのですが、自分自身のエンジニアリングに対して多少の不安があります。
その不安が大きくなったタイミングで、またキャリアを考えていきたいなぁと思っていますので、相談させてもらうこともあるかと思います。
その時は、どうぞよろしくお願いします。
まだまだしばらくはiOS/Swiftでお仕事していきたいと思っていますので、今後ともよろしくお願いします!!!

最後に

恒例のWishListです。*1
個人的にほしいもの7割、新会社のみんなで使えればいいなと思うもの3割です。
ご支援頂ければ幸いです。

amzn.asia

*1:新オフィスにはまだ送れないので、また更新するかもしれません。

初めてTicketCampを使って、fripSideの公演に行ってきた。

3/18(土)にさいたまスーパーアリーナで行われた
fripSide LIVE TOUR 2016-2017 FINAL in Saitama Super Arena-Run for the 15th Anniversary-supported by animelo mix
に参戦しました。
最高のライブだったんですが、その感想をつらつらと書いていると、このエントリーが終わってしますので、ぐっと堪えて、初めて使ったTicketCamp (以下チケキャン) の体験について書こうと思います。*1

ちなみにTicketCampの運営をしている株式会社HunzaさんはPyCon JP 2016のDiamondスポンサーです。*2

ticketcamp.net

チケット購入までの経緯

3/16(木)の夕方にゲストにnaoさん*3が来ることを知って、いいなー行きたいなーと思っていました。
翌朝に、ふとチケキャンで検索してみると結構出品されていたので、これはもっと真剣に探してみるかということになりました。

初めてのチケット購入

一覧で見ていると、定価の¥8,640よりも安く出品されているものが3.5割、定価前後が5割、定価以上が1.5割くらいの分布だったように思います。*4
チケットの検討は以下の要素で行いました。

  • 定価以上で買う気はなかった
  • とはいえ安すぎるのも怖いし、転売目的ではない出品者さんには悪い気がする
  • すでにライブ前日で、発送による譲渡はリスクが高いのでNG
  • ということで、同行で出品されているもの
  • ^ 自分がfripSideのライブ初参戦だったので、それでもよさそうな出品者

17(金)の昼に調べて、最初に質問を投げてみたチケットは、回答が来た直後に他の人に落札されてしまいました。
その次に見つけたチケットは、詳細に出品者さんが初参戦と書いてあったので、即落札して、やりとりをしました。

結果、200レベルでステージとも近い席を¥5,000*5で手に入れることができました!!!
入金後の対応もよい出品者さんで、一緒にライブを楽しむことができました。

不安はなかったの?

初めての使用だったので、たしかに不安は少しありましたが、初回からかなりいい条件を引くことができたのではないかと思います。
良かった要素

  • すでに売り切れ ^ 見切れ席まで売り切れていた公演のチケットを¥5,000という破格で手に入れることができた
  • (何度も言うが) いい出品者さんで、一緒に楽しむことができた
  • お金のやり取りは、あんしん決済があり、落札後に決済しても、チケットを受け取るまでの返金は保証されている
  • 購入者の購入手数料は¥0 (決済のシステム手数料は¥216かかる)

感想

最高

(以下、ライブの感想が抑えられなかったので、暇な人だけ見てください。)

もう最初の曲がsister’s noiseの時点で、来てよかったと確信しました。
まさかシークレットゲストでKOTOKOが来るとは思わず、曲が始まってもしばらく固まってました。
naoさんもまさかNAO projectの曲を歌ってくれるとは思わず、最高でした。*6
もちろんDecadeもやって、10周年以来5年振りとのことで、次は20周年か…
唯一知らなかったのは、初公開の新曲clockwork planetだけで、最高でした。*7

まだまだ書き続けられますが、ここらへんにしておきます。

結局チケキャンどうよ

転売は昨今問題になっていますが、今回のような席を空けないための出品は、いいことなんじゃないかなぁと思います。
もちろん転売目的での出品を、システムとして防げることは求められているとは思いますが。
今回ボクが利用したような同行を前提とした取引は、需要があるのではないかと思いました。*8
もしかしたら、メルカリ アッテとかにも、似たような利用があるんですかね?

追伸

おもちゃを手に入れました。
iOSアプリでRGBセッティングした色のセットを、イヤホンジャックに付けるデバイスから、赤外線でペンライト側に送信する仕組みのようで、なにかHackしてみたいですね。

*1:それでも話の都合上、fripSideのことは多少出てきます。

*2:宣伝ではない!!!

*3:南條愛乃さんの前のボーカル、naoさんがボーカルの頃の曲を1期fripSideと呼ばれる

*4:チケットは随時出品、取引が行われているので、感覚値

*5:かなり安くなってしまったので、結局申し訳ない

*6:しかも2017秋に2期fripSideによる1期のカバーアルバムが出るんですって!

*7:まぁ基本的にほぼ全曲知っている訳ですが、ゲストの曲も全部知ってた

*8:知らない人とのやり取りで、不安が0になる訳ではありませんが

try! Swift tokyo 2017に参加 / ボランティアスタッフしました #tryswiftconf

今更なんですが、3/2(木) ~ 4(土)に行われたtry! Swift tokyo 2017に参加してきました。

カンファレンス本体

スーパーEarlyでチケットを買っていたのですが、いつものノリで、ボランティアスタッフもしました。 お金を払って、ボランティアをさせて頂いた。
初日は集合が6amということで完全に諦めて、初日は一般参加で行こうと思ってました。

という自体になってました。
それでもセッション自体はすべて満足に聞くことができました。

特にこのセッションが、かなり興味を惹かれ、QAにも行きました!

www.tryswift.co

f:id:yutailang0119:20170319134839j:plain

QAにも通訳の方が間に入ってくれるとのことだったのですが、QAルームに行ったタイミングに通訳さんがいなかったので、本当に拙い英語力を振り絞って、がんばって質問しました。

Kyleさんもがんばって聞き取ってくれたおかげで、Swift on Herokuについて聞くことができました。
最近Heroku使って何かするってのを多くやってるので、これでServer Side Swiftを始めたいなと目論んでおります。

ボク自身、英語に対して、かなりコンプレックスがあるのですが、こういう機会は、恥を忍んでやってみる方がいいなと思った一幕になりました。

2日目はちゃんとボランティアスタッフやりながらだったので、聞き流してしまい、あとでRealmで公開される動画を待とうと思います。

Speaker Dinner (1日目)

1日目の終わりから、スタッフ用のターコイズブルーTシャツに着替え、片付けに参加しました。
それは (もちろん) Speaker Dinnerに参加するため!

これはスピーカー、スポンサー、スタッフが参加できるパーティーです。
カラオケがある会場だったので、途中からカラオケが始まったのですが、機種が少し古く、海外の方は操作方法がわからなかったようです。 UIが悪い。

最高に盛り上がり、とても楽しい時間でした。
最後に蛍の光を流し、「これが日本文化だ!」とお伝えしました。

その後は、何人かで🍖を食べに行きました。

そして帰れなくなった (想定内) なので、Reproにお泊りしました。

After Party (2日目)

これがやりたかった。 f:id:yutailang0119:20170319233304j:plain

hack-a-thon

海外の方2名、日本人4名のチームでした。
賞は取れませんでしたが、やはりコミュニケーションの問題を感じることができたので、いい収穫となりました。

(気力があったら、あとで書く)

さいごに

ご存知の通り、結構いろんなカンファレンスのスタッフを経験させてもらいつつあり、自分としてはありがたい限りです。
参加させていただいたカンファレンスの知見を吸って、またカンファレンスにアウトプットを出せるような活動にしたいというのも、最近の1軸になっています。
いろいろと考えていることもありますので、引き続きよろしくお願いします。

さいごのさいごに

2016年買ったもの

年末だし、流れに乗って、今年2016年に買ったもののまとめです。

バイス、PC用品

iPhone SE 64GB スペースグレイ

www.apple.com

2016/03/24にすぐさま注文して、発売日の03/31に届きました。iPhone 6は1年ちょっとだったものの、大きく感じて危なっかしかったので、この4Inchサイズが大好きです。

iPhone 7 32GB ブラック

www.apple.com

今年はiPhone2台も買いました...
2016/09/09の16時ぴったりにログインして、これも発売日09/16に届きました。めちゃくちゃ性能いいんですが、普段使いはやっぱり小さいSEがよくて、サブ機になってます。これにSuicaとIDとQUICPayが入っているので、ほぼ100%iPhone 7で支払いできて便利です。

ディスプレイアーム

Amazon.co.jp: グリーンハウス 液晶ディスプレイアーム 4軸 クランプ式 GH-AMC03: パソコン・周辺機器

会社で使っています。席替えが発生する時に外すのがめんどうですが、デスクが混雑せずに済むので大変重宝しています。

JayBird X2

http://amzn.asia/eMQsL90

実際は2015年の12月に買ったものですが。すでに後継機のX3が出てて、自分が買った頃よりも、めちゃくちゃ安くなってしまっていますが、このライムグリーン色が欲しかったのでまあよし。
使い心地最高なんですが、イヤーチップのサイズが独特で、且つどうやら日本でアクセサリーパックの入手が困難なようで、割りと困ってます。どなたかいい案があれば教えてください、

その他

ビックカメラSuica

www.jreast.co.jp

VISAカードしか持っていなかったので、Apple Payのために作成。モバイルSuicaオートチャージ便利。

リュックサック

http://amzn.asia/iV8HOGB

今年はPyCon JP等のPCを持ち歩いての移動が多かったので、PCを入れつつ、まだまだスペースに余裕ができるバッグを探しました。現在はリンク先での取扱が無いようですが、手頃な価格で満足できる商品でした。
これを使っていると、周りからは「登山に行くの?」と聞かれますが。

ラブライブ! μ's Final LoveLive! 〜μ'sic Forever♪♪♪♪♪♪♪♪♪〜 Blu-ray Memorial BOX

amzn.asia

気づいたら家に届いていたので仕方がない。

まとめ

今年は無形物にもお金を多く使った気がする。
なんと今年は一切コンシューマーゲームを買っていないので、PS4買って大鷲トリコやりたい。

PythonistaでもPyCon JP 2016 iOSアプリをビルドしたい!

この記事はPyCon JP Advent Calendar 2016 11日目の投稿です。
昨日の10日目の記事はまだ上がっていませんが、11日目です。 f:id:yutailang0119:20161211143742p:plain PyCon JP Advent Calendar 2016のテーマはPythonと私の想い出とのことですが、最近めっきりPython書くタイミングがないので、完全にiOSネタです。

pyconjp-iosリポジトリをcloneしてきても、ビルドまで辿り着けねーよ

というデッドボールを何件かもらったので、ここ見てねと言えるように書いておこうと思います。
READMEに書けよって意見もあるとは思いますが、使うツール等最低限は書いているつもりなので...

各操作をPythonで例えようかと思ってましたが、特殊概念の操作が多くて挫折しました。

ゴール

事前準備

  • Xcode 8.1をインストール済みMacがある -> インストールはこちら
  • Apple IDがある -> 作成はこちら
  • iOS 9以上のiOS端末がある (シミュレーターでよければ、無くてよい) -> 購入はこちら

ターミナルでの操作

リポジトリのclone

リポジトリをcloneしてきます。

$git clone https://github.com/pyconjp/pyconjp-ios.git
$cd pyconjp-ios

使用ライブラリのインストール

使用しているライブラリはすべて Carthage で管理しています。
まずはCarthageをインストールしましょう。おすすめはHomebrewです。

$brew install carthage

それ以外の方法はインストールdocumentを参照↓ github.com

Carthageのインストールできたら、ライブラリを入れます。

$carthage update --platform iOS

すると

*** Cloning realm-cocoa
*** Cloning AlamofireImage
*** Cloning Alamofire
*** Checking out Alamofire at "4.2.0"
*** Checking out AlamofireImage at "3.2.0"
*** Downloading realm-cocoa.framework binary at "v2.1.1"
*** xcodebuild output can be found in /var/folders/tr/5kb724wd7259fq9z_177hq600000gn/T/carthage-xcodebuild.g50ocd.log
*** Building scheme "Alamofire iOS" in Alamofire.xcworkspace
*** Building scheme "AlamofireImage iOS" in AlamofireImage.xcworkspace

Alamofire, AlamofireImage, Realm Swift がインストールされました。

なんで update なのかは、最初にCarthage導入した時点で、XcodeにEmbed済みだから。
--platform iOS のオプションはなくてもいいですが、今回は使用しないmacOS等のframeworkもビルドする時間がかかってしまうので、付けておきましょう。

Xcodeでの操作

XcodeApple IDを入れる

  1. Xcode > Preferences... (⌘,) で設定を開き、 Accounts のタブを選択します。
  2. 左下の + から Add Apple ID を選択し、事前に作成したApple IDとパスワードを入力します。

PyConJP2016.xcodeprojの設定

設定する項目
  • Identity/Bundle Identifier
  • Signing/Team
設定画面への移動
  1. pyconjp-ios/PyConJP2016.xcodeprojXcodeで開く (Xcode 8.1のみがインストールされていれば、タブルクリックで開くはず)
  2. View > Navigators > Show Project Navigator (⌘1) で1番上のプロジェクト名をクリック
  3. 上部の General タブを選択し、 TARGETS内のPyConJP2016
1段目 Identity/Bundle Identifier

すでに入力されている "jp.pycon.pyconjp" を書き換えます。
f:id:yutailang0119:20161211141619p:plain このBundle Identifierはアプリ毎にユニークである必要があります。 この証明書 (Provisioning Profile) 周りの説明をしていたら、1エントリ丸々かかるので、今回は割愛します。 気になった方はググるか、ボクに聞いてください。
Bundle Identifierには リバースドメイン.appName が推奨されています。

例) com.yutailang0119.pyconjp

他と衝突しなければ問題ないですが、無難に従っておきましょう。

2段目 Signing/Team

f:id:yutailang0119:20161211141759p:plain TeamはNoneが選択されていますが、XcodeApple IDが入っていれば、プルダウンで選択できると思います。Apple IDを選択するとプルダウンの下がクルクルして、

Provisioning Profile    Xcode Managed Profile
Signing Certificate     iPhone Developer: apple.id@domain.com

になると思います。

いざビルド!!!

MaciOS端末を繋ぎ、

f:id:yutailang0119:20161211143147p:plain f:id:yutailang0119:20161211142447p:plain:w250

で端末を選びます。

Product > Run (⌘r) でビルド!!!!!
(初回のビルドは時間がかかります。)

f:id:yutailang0119:20161208192801p:plain

となっても、初回はアプリが起動できません。
なぜかというと、今回Xcodeが作成した Free Provisioning Profile が端末側で許可されていないから。

iOS端末での操作

Settings (アプリ) > General > Profiles で自分のApple IDを選択し、 "apple.id@domain.com"を信頼 を押して、信頼してください。

再度Xcodeでの操作

(実際はiOS端末でアプリをタップでも開けるけど、) 再度ビルド Product > Run (⌘r) すると、アプリが起動🎉

ね、とっても簡単でしょ?

正直全くiOSアプリ開発したことがない人からしたら、わかる訳ねーよですね。 自分でも文章化してみてビックリでした。 生半可な気持ちじゃ挫折すると思う。

ちなみに Free Provisioning Profile は1週間経つと、端末にインストールしたままの状態でも起動ができなくなります。

これでも "ビルドできんぞ!!!" や "他にも質問があるんだが!!!" という人は、気軽に @yutailang0119 まで

この記事を読んだ (Pythonistaな) 皆さんは実行環境を手に入れたので、ガンガンアップデートして、ガンガンPRを送ってくださいね!!!!!

以上、Pythonについて微塵も触れない、PyCon JP Advent Calendar 2016 11日目でした!!!*2

*1:Apple Developer Programに有料登録していなくても、実機でデバッグビルド (iPhoneMacに繋いでのビルド) できる証明書。アプリを使用できるのは1週間のみ。1週間で10 Provisioning Profileの制限がある。

*2:すいませんでした。