はじめてXcodeで実機ビルドをする方法(2019.4時点)

技術書典用記事

  • USBケーブルで実機(iPhoneiPadなど)とmacをつなぐ

  • 赤い部分をクリックし、一番上の自分の繋いでいる実機を選択

  • 実行する f:id:gotou015:20190409030538p:plain

  • 多分ここで適所いろんなエラーが出る

  • 例1. Deployment target不一致の場合 f:id:gotou015:20190409031242p:plain

  • 例1. 解決方法: Deployment targetを端末に合わせてあげよう f:id:gotou015:20190409031402p:plain

  • 例2. Signing for "MyFirstApp" requires a development team. Select a development team in the project editor. (in target 'MyFirstApp') f:id:gotou015:20190409031710p:plain

  • 例2. Noneになっているdevelopment teamを作成して設定してあげよう f:id:gotou015:20190409031722p:plain

  • 例3. General -> Device Management, then select your Developer App certificate to trust it. f:id:gotou015:20190409030334p:plain

  • 例3. 端末の設定から、開発者を信用してあげるように設定を変更する

これでできるはず。 できなかったらtwitter @burakonまでどのようなエラーが出てできないか教えてください。

Swift入門者むけハンズオン!Swift愛好会 vol28 補足資料一覧

ハンズオンアプリ

github.com

スライド

(後ほど)

アプリで使用する画像

images.zip - Google ドライブ

アプリアイコン画

https://drive.google.com/open?id=1NmQr1CEEuN0s2nCm_BQCnYioVB3jQeLT


いろんな制約のつけかた

qiita.com

ハンズオンで行う上揃えのUILabelの作り方

qiita.com

Q.Segueをたくさん繰り返してViewController がたくさん重なってしまう現象を直したい

  • 何度もSegue遷移を繰り返していると、画面がたくさん重なってしまう。
  • 必要のないメモリを使うことになってしまい、このような現象が続くとアプリで使えるデータ領域よりも広くデータ領域を使おうとしてしまい、アプリがクラッシュする。
  • resultViewControllerから戻るを押した際に重なるのではなく、初回表示の1枚だけの状態にしたい
  • その時にunwindSegueという遷移の方法を用いる(動画参照)


unwindSegueの方法 ( Swift4, Xcode9 )

半年で2回退学した話

この記事は 退学 Advent Calendar 2017 24日目の記事です.

※中学〜20代までを全て話すので長いです。この文脈の バカ学力が低い という意味です。

バイトをする中学生

彼女の家はとにかく貧乏だった。

お小遣い制度の廃止とともに年齢をごまかしてコンビニバイトをはじめた。 コンタクトレンズ代や服代、友達と遊ぶ時のお金など。 母が病気で自宅療養していて、ピリピリしている家族と対話する時間なんかなかった。 中3の頃には将来の夢など無くしてしまって、通学の意味もないので不登校になってた。 家庭環境が悪くなった時から、学業に価値を感じなくなった。 いいわけみたいだけど、褒められないとモチベが全く湧かない。頭の悪い子供はそうですよ。

バカ高校に行く理由

「あんたはなにもできないんだから私立の商学部で簿記の資格を取りなさい」

奨学金を使って私立高校へ行けという母。

アホか奨学金とか今現在家庭を脅かしている借金となにも変わらないじゃん。 死んだ母の意見を無視して、普通科の都立高校を選んだ。 全国模試で偏差値50前後だった彼女は、例えインフルエンザになっても合格できる 偏差値40 の学校に入学。

勉強(未来)よりバイト(今)の方が大事だと思ってた彼女は、授業をサボる気満々だった。 なので授業をサボっても定期試験がパスできるレベルのバカ高である必要があった。

落ちるという選択肢はなかった。(工業高校に行けばよかったと今は思う)

バカ校の人間がバカな理由

底辺偏差値の都立高校には彼女と同じく 貧困だったりネグレクトや家庭内暴力を受けてる生徒 がいた。 自分だけじゃないんだ、と思って精神的に助かった。

バカ校の生徒は、2種類いるなと感じた。

  • 根はバカじゃないけど勉強の価値がわかっていなくて授業を聞かない生徒 (7割)
  • 根がバカな生徒 (3割)

根がバカな3割はもうしょうがないとして、後の7割は勉強の価値がわかってないだけだと思う。 環境とタイミングがあれば7割の生徒はバカじゃない世界線がある。 ただ、みんな家庭環境が悪かったり自分に投げやりになってしまったりしていて、勉強に気が向かない。 まぁそれだけなんだけども。。。

高校入ってから、貧困は加速した。

「来月の通学定期券は買えるのだろうか」

「明日の昼飯代がない」

とか思いながら生きてた。 貧しくとも友人と遊んでバイトして、それなりに生活できてた。 この頃兄がPCで遊んでいたので、自分も自分のノートPCを買って遊んだりし始めていた。後ほど仕事を探す際に、PCが扱えるということに本当に救われた。

将来の夢と実際

高2の夏に進路相談が始まった。

バイトづめの生活をしながらもオープンキャンパスに行き、 「将来は管理栄養士になりたい」 と思うようになった。

勉強をはじめたが、勉強なんてしたことないから勉強方法なんか知らない。 周りに勉強してる人なんかいない。 ご飯を食べるためにバイトも減らせない。 勉強してバイトして、寝不足でミサワ状態がつづいた。

白目剥いて過労に耐える

高2の終わりの頃には、進学の選択肢は無くなっていた。

ストレスからか、このくらいの時期のことは色々と覚えてない。 父親が入院し、退院後も半年ほど働けず、彼女は毎月9万円の家賃を支払うようになっていた。 そんな家での生活だけだと頭がおかしくなりそうだったので、家に帰れなくなっていた。 何もかもがうまくいかなくて 「自分は一生貧乏で将来は過酷な肉体労働の末に体を壊して死ぬんだ」 とおもってた。

気力のなさから不登校気味になり、当然学力も上がらない。 出席率がドチャクソ下がるも、友人が彼女の代わりにレポートを提出してくれてギリギリで高3に進級。

午前2時まで飲食バイト、

バイト先で寝て午前6時に帰宅、

午前9時に登校(大体登校失敗)、

学校で9時から16時まで寝ながら授業を受けて、

16時に飲食バイトにいく。

辛すぎ。(今思うと児童相談所案件)

高校の同級生は 「当時はコロコロ言ってることが変わって、幸せではなさそうだった」 と、この頃の彼女のことを話していた。

大学の蜃気楼を見て倒れる

「たかだかFラン短大に借金して行く意味とかないだろ」

「たとえ進学できても生活破綻してソープ堕ち確実」

などと考えてしまって、全く勉強に身が入らない。 勉強しても 「あれ?勉強したところでどうなるんだ?」と考えて止まってしまう。 毎日絶望感に襲われて不眠症になり医療費が重なり働く。 カウンセリングがアホ高くて行かなくなる。

低学歴不登校のやばみ

進学を諦めた途端、身体が学校に行くことを止めた。

「高校は卒業しないといけないから登校しろ」と思ってても、その卒業という成果は努力のコストに見合わなさすぎる。 出席率低すぎて推薦がもらえない高卒と、ただの中卒は、社会的に大差ない。 二種奨学金金利と就職した際の初任給を考えると、その後の返済は風俗しないととてもじゃないけど無理。 一種は馬鹿で無理。 一種を借りられたとしても、進学後に月9万の家賃を払いながら借金を増やしながら学校に行くとか精神が超無理。

不登校、労働する

生活は必須なので仕事を辞める選択肢はない。 2ヶ月ほど動けなかったので、出席日数不足で進級できない。 彼女の高校に留年制度はないので、退学になる。 とりあえず退学手続きを後回しにして、飲食店で働いていた。

「もう学校行かなくていいんだ。」

と思ったら、たくさんの焦りと絶望が急に小さくなったのを感じた。 久しぶりにぐっすり眠れた。

1度目の退学

学校から

「進級認められないから自主退学の書類を出してくれ」

と連絡がきて、12月に自主退学の書類を出しに行った。

3年になってすぐ作る事になった体育祭のクラスTシャツを手渡された。 それには大きな文字で 「現役高校生」 とかかれていて、どんな感情がわからないけど泣いた。

高校中退後の身の振り方

飲食はマジで潰しが効かないのと時給が低いことから、オフィスワークの仕事を探した。

登録制の派遣会社に行くと、17歳という若さとハングリー精神を気に入ってもらって、気づけば大手新聞社の子会社に派遣されることになった。 データ入力等の単調な仕事しかできないと思って入ったら、色々教えてもらえてスキルもついて、本当に本当にその職場に入れてラッキーだった。 給与は飲食アルバイトの17万程から、オフィスワークをするようになって22万ほどになった。 22万では家族の家賃と生活費を払うだけでギリギリだったので、夜はバーテンダーのバイトをはじめて、合わせて収入は月35万ほど。 月35万 稼ぐようになり、圧倒的に生活が楽になった。

オフィスの人達は、皆大卒か院卒の高学歴。 バーでは医者やコンサルの常連さんと仲良くなり、彼女の知らない外の世界の話をよく聞かせてもらった。

今まで彼女が生きてきた貧困の世界とはまるで違った世界だった。

彼らと同じ世界で働いていることが誇らしかった。

彼女は学校を中退したことなんて忘れて、社会人生活を楽しんでいた。

奴隷が世界を知った瞬間だった。

人の選択で通信制高校へ行く

数年ぶりに会った姉が

「高校くらい卒業しなさい」

とうるさかった。

彼女は高校を卒業することに価値を全く感じてなかった。

大学に行くことができないのに、なぜ高校に行くのに時間を使わないといけないのか。 それよりかは実務の資格でも取ったほうがいい。 けど会う時会う時いつもうるさいので、姉を黙らせるために 通信制高校 に入学した。 書類を出したら入学できるような簡単なものだった。 毎週土曜に選択した授業が座学形式で行われ、出席とテストで単位を取る。みたいなスタイル。

2度目の退学

入学式と初日だけいって

「こんな疲れるのに時給が発生しないなんて意味がわからない」

と思い、ひと月もせず退学となった。 この選択は当時も今も全く後悔してない。 本人の決意のない入学は意味がないので即退学になる。 きっとこの時だけではない。なにごとも自分のことは自分で決めないと。

惰性で大検をとる

大学に行きたくなる可能性は否定しきれなかったので、自分から大検をとることにした。 勤務後に会社で勉強をしていたら、会社の人たちが応援してくれた。 勉強を応援されたのは中学校以来だった。 応援されながら勉強することが少し楽しかった気がする。 無事合格。 退学手続きよりチョロい。 19歳で大検を取るも学歴は 中卒

どうでもいいけど今ではアイデンティティ

一家解散

大学生だった兄が就職した!!

家族を養う必要がなくなった!!

各自一人暮らしをしよう!!

一家解散!!おつかれさまでしたーーー!!

毎月の家賃を払うという義務から解放された。 彼女は以前より憧れていた、映像関係の仕事に転職した。 たくさん学ばせてもらったが、環境が合わずに退職。

その後は、、

毎日笑顔で働きたくて学習塾のお姉さんになり、

塾で働いていたら進学意欲が出て看護学校の受験受験をしたり、

看護学校に行く場合の現場調査で大学病院で看護助手をしたり、

友人の紹介でIT企業の人事担当になったりした。

人事担当になった彼女は 「エンジニア」 の採用業務を行うようになった。 採用時にその人のスキルの系統も見ることができないことにモヤモヤしていた彼女は、 ドットインストール をやってみた。

ものができて行くのが楽しい。つらくない。エンジニアになったら給料上がる。

と感じ、割と打算的にエンジニアになることを決めた。

成功体験と自尊心

彼女は人と対面して教えてもらう方が理解が早いので、独学ではなく職業訓練校でプログラミングを学ぶことを選んだ。

詳しくはこちらを。

実録。非エンジニアOLがiOSアプリエンジニアになるまでの道のり

入学のときは

「2回も中退してる中途半端野郎なんだから、職業訓練校も途中で不登校になってしまうんじゃないか...?」

と不安で仕方なかったが、気づけばあっという間に卒業していた。

ちゃんと学校に行って卒業した、という 成功体験 から、10年ぶりくらいに自尊心が育った。

学校が終わる頃に就活を始めると、今までより良い給与額で内定を多数いただけた。 採用していた側なのでこうなる事は知っていた。 想定していた通り。

そして現在エンジニアとして働いています。

最近の話

10年ぶりくらいに中退した高校の同級生と会うことになった。 高校中退した負い目みたいなのがあって今まで会いたくなかったんだけど、やっと 「私の選んだ道で成功しつつあるよ」 と言えるようになってきたので、自分から会いたくなった。

今思い返すと、日々の生活に追われ、焦って絶望に伏していた毎日だったとき、勉強とか本当に無理だった。 時間とお金と精神に多少の余裕がないと無理。 背中にずっしりとのしかかっていた ただ漠然した絶望 のようなものがあって、常にエネルギーはそれに吸い込まれていた。 彼女の場合は仕事をするようになり、時間とお金に多少の余裕ができて初めて勉強ができるようになった。

ただ漠然した絶望 は、まっくろくろすけサイズになった。全然踏める。

自分はいま何を学びたいか。ぼんやりとだけど次に見えるものがある。自分は学ぶことができる。と心から思える。

1度目の退学から10年経って、やっと投げやりにならずに自分の進路を考えられるようになった。

学ぶという決断

学びたいと思えば学びやすい場所へ身を投じるも良い。

小規模に手を出してみて、続いたら身を投じるという戦略も良い。

身を投じたのちになんか違うと思えば、途中で止めるも良い。

その選択に責任を持つことができれば、後悔する事になったとしても、後悔したことも含めて後から正解にできると思う。

人間どうせ生きていくしかないのだから、自分の選択が正解になる日まで目の前のことを頑張れるようになりたいものです。

実録。非エンジニアOLがiOSアプリエンジニアになるまでの道のり

この記事はSwift愛好会 Advent Calendar 2017 16日目の記事です

※この記事はとあるOLの主観のみによって書かれていますのでお気をつけください。

2015年のOL

毎日帰宅は22時以降、正社員だけど見込み残業で年収300くらいだったとあるOL。

  • 収入400万までのキャリアまでしかみえない
  • ルーチンすぎて成長が感じられない、働くことで成長ができる成長スパイラルに入りたい
  • コーポレート系職種は人材の空きが出づらいので再就職の難易度が鬼(採用時100倍いったことがある)
  • コーポレート職種は求められるものが会社によって違うので、会社ガチャ

以上の懸念点が全て拭えるエンジニアへのキャリアチェンジを考えていました。

実務レベルのアプリをリリースする

これができれば男女関係なく30代までなら就職できる印象。 年齢とかに引っかかるかどうかは会社の風土とかなのでなんとも言えませんが。

28くらいまでなら第二新卒なので「開発未経験ですが頑張ります」で転職できちゃう会社は多いよ。

そのために会得すること

  • 開発力(Macの扱い方、プログラミング、わからないことの調べ方などなど
  • デザイン力(UXデザイン、UIデザイン、SketchやPhotoshopなどツールを使った素材の作り方など)
  • 実現力(頑張る)

開発力をつける!

まず開発ってなに?を知るために開発をやってみよう。 もしかしたら案外できるかもしれないから!!

逆にめっちゃ合わないかもしれないから!!

ドットインストール

ドットインストール

プログラミングしていく動画を見て、実際にやってみるスタイルでプログラミングを学びました。

とりあえず無料でできる範囲をすべてやってみた(プレミアムのやつも最初の数個は無料なのでやってみよう)

HTML、CSSからRubyObjective-Cまで。

プログラミング自体が苦手な場合もあるので、がっつり学校に行ったりする前に苦手じゃないかどうか判断するのに最高コンテンツ。

しっくりきた言語やらがあって「アプリが作れるようになりそう!」「プレミアム講座をやってみたらアプリ作れそう!」とおもうならそのままドカドカ作ればいいと思う。

OLは開発を楽しく感じました。

ですが、無料講座をすべてやってみても全然身についてる実感が湧かなかった。

「これでアプリが作れる!」とは思えなかったんですね。

なので勉強方法を変えることを考えました。

職業訓練

ハローワークに行くと、職業訓練校の情報が書かれた情報誌みたいなのがもらえる。

こういうの

このなかに興味のある科や気になる匂いを感じたコースがある場合、具体的に就職時にどういうことをする仕事につけるのかをたくさん調べましょう。

  • Web クリエータ科って?

    HTML,CSS,JavaScript,PhotoShopを使ってWebの見た目を作る。フロントエンドエンジニアという仕事になる。では実際どんな仕事なんだろう?レシポンシブってなんだろう?Webデザイナーとは違うのかな?

  • PHP・Web プログラミング科って?

    PHPという言語をつかってWebに表示したり登録したりするデータを作成、添削、表示するシステムを作る。サーバサイドエンジニアという仕事になる。では実際サーバサイドの言語ってどんなのがあるんだ?PHPはベースとなるようなフレームワークというのを使っていて、そのフレームワークによって書き方が随分変わるらしい。ではこの学校の採用するフレームワークはなんだろう。実際実務の現場で多く採用されてるフレームワークはどれだろう?

カリキュラム内容が実際就職する際に求められるスキルと一致しているか、実際見学に行ってみて講師の方との相性や、学びたい事と学べる事のずれがないか、講師は実際の開発現場で求められるスキルを教えてくれそうな人なのか、なども。 エンジニアは使わないであろうDreamweaverというデザインツールを使うコースとかもあるので、それを学ぶことによってエンジニアとして就職できるのかっていうのを調べることがめちゃくちゃ重要。 下調べをしっかりすると、その分どの勉強にどのくらい力をかければいいのかが具体的に見えてくるのでおすすめです。

OLはこのとき「iOSアプリエンジニアになろう」と決めました。

OLはここに行くことにきめました。

株式会社メガ・テクノロジー | iPhoneアプリ開発科

職業訓練校に行くにはいろいろな条件があるので、ハロワに行って「職業訓練校に行きたい」と相談するといいです。

職業訓練校カリキュラム内容

カリキュラム 内容
MacOSX入門 MacOSXを利用するうえで、最低限知っておくべき基本操作や環境設定。
Objective-Cプログラミング iOSアプリケーションの開発に使うObjective-C言語について、変数、条件分岐といったプログラムの基礎からオブジェクト指向プログラミングのための基礎知識であるクラスについての学習
SQLiteデータベース iOS上で利用できるコンパクトなデータベースSQLiteで基本的なSQL文の学習やSQLiteをプログラムに組み込んで利用する方法を学習
アプリ作成基礎 iOSアプリケーションに使われているターゲットアクション機構や、デリゲートについて学習。
基本API 画面の基礎部品であるUIViewに自由に描画する方法を学習
ユーザーインターフェース UIKitの代表的な画面部品の利用方法を学習します。
オリジナルアプリ作成 現時点で作れそうなアプリケーションを自分で考え作ってみる
応用API iPhone自体の持つ機能や通信、多言語対応方法など学習
卒業制作 テーマによる独自アプリケーション開発を行う

このカリキュラムをこなす中で、どの開発現場に行ったとしてもだいたい必要な

  • Linuxコマンド
  • SQL
  • HTTP通信(これ重要!)

について、さらりと教わった。

この「どの開発現場に行ったとしてもだいたい必要な基礎」を教えてもらえたおかげで、iPhoneアプリ開発科に通いながらPHPを書いてMySQLデータベースにアクセスしてJSONを返すAPIをつくることが可能でした。

実際iPhoneアプリ開発科に行っていた同級生でPHPのサーバーサイドエンジニアになった人もいました。

学校は15:30くらいに終わるのですが、その後17時頃までPCとネットワークを使わせてくれたので、違う言語の学習などもできました。

先生はIOTからWebにモバイル、インフラなどなどなんでもできる人だったので、無謀なチャレンジでなければ他のプログラム言語の質問にも答えてくれた。

残念ながら現在はiPhoneアプリ開発科は開講予定はない様子。 ※開講してた!!! 2018年加筆

今のタイミングだとAndroidアプリ開発科に行きながら習ったことをKotlinで書いて復習してみて、余裕があればサーバーサイドを少しやる。という戦略がいいかなと思う(Swift愛好会とは)

WebのクラスもあるしLPIC系クラスもあるし、メガテクノロジーでやってる訓練はマジでオススメ。

志の高い先生方なので、勉強環境としては申し分ないです!

git

gitとはバージョン管理のツールです。

OLの職業訓練校ではgitについて学ぶことはありませんでした。

かなりレガシーな会社でなければgitを使います。 (かなりレガシーな会社はsvnを使います)

就職活動の際に「git使えますか?」と聞かれることでしょう。

そのときまでにちゃんと使えるように、最低限のコマンドは扱えるようにしました。

サルでもわかるGit入門

「さるはわかんねーだろ。」とおもうので、 ドットインストール の講座を実際に手を動かしてみて覚えるといいでしょう。

最初gitの概念を理解するにはgitについて教えてくれる先生がいるといいと思う。

githubも使えるようになっていてほしい。

デザイン力をつける!

学校に行きながら並行して下記内容を勉強。

プラットフォームのデザインルールを学ぶ

モバイルアプリを作るのであれば、各プラットフォームのデザインガイドラインは押さえることは重要です。

これはデザインしたくないエンジニアでもネイティブアプリやるなら必須だとおもう。

こう比べるとマテリアルデザインのほうが圧倒的にイケてるので今モバイルアプリ作りたい人にはマジでAndroidを勧める(Swift愛好会とは)

  • 画面遷移できるボタンはこう作るべき
  • スクロールできる一覧表を見せるためにはこの素材を使うのが良い
  • この素材はこのような意味を表現するときに使う

などUIデザインの実践的な事例を学ぶ。

デザインするにあたっての基礎概念を学ぶ

ノンデザイナーズデザインブック

こちらの前半部分をしっかり読みました。

デザインにおいて「やっちゃいけないこと」と「やらなきゃいけないこと」がわかるようになるでしょう。

色の選び方とかも学ぶといい。

アプリ体験を決める

  • 映画が観たくなる
  • iPhoneからアプリを開く
  • 好きな映画が一覧で表示される
  • 好きな映画を選ぶと映画情報がみれる(近くのどこで上映しているか位置情報から取得して表示してる)
  • "予約"ボタンをタップするとsafariで該当の映画館のHPが開く
  • Webブラウザから予約ができる

ざっくりと。

調査

似たアプリがあったらその調査をして、参考にする。 何故こうなっているのか、をかんがえるとアプリが大切にしているテーマが分かる気がする(気がする)

ペーパープロトタイプでモックを作成

どのような画面の流れにしたらこれが実現できるか考える工程です。

用紙に色鉛筆(色があること大事)でめっちゃ描く ざっくり Prottを使ってモックを作成

「良いな!」ってなるまで作り直したりするといいと思うの

素材作成

SketchやPhotoshopを使って素材作成。 この辺OLは全く抵抗なかったのでスムーズにできたんですが、苦手な人はうまく手を抜くのもアリだと思います。

実現力をつける!

あとはもうがんばる。

各種勉強会にいって、実際の開発現場ではどのような方法を用いているのか情報を得たり、同志を巻き込んで開発する習慣をつけたり、コミュニティに属してわからないことが聞ける開発者の友人をつくったり、OLはそんなことばっかしてました。

そんなときに出会ったのがSwift愛好会ですね。

OLはObjective-C第一言語だったので、Swiftを学ぶ際にはめちゃくちゃお世話になりました。

いまではもうSwiftしか書けないです(

複数勉強会に行った結果、就職した後の姿が想像できたり、エンジニア文化を知ることにつながったり、よかったですよ。

あとは卒業生でアプリでドッカン当てている人などがいるので「自分もそうなるんだ!」と思い込んでモチベをあげてました。

アプリ作り楽しいモードに入れるか入れないかが重要な気がする。

職業訓練校卒業生の力作

就活

就活をしましょう。

公開したアプリがある方は、それを持って就活。

公開したアプリがない方は、ソースコードgithubに公開して、それを持って就活。(OLはこちらにあたります、でもやっぱリリースしてる方が5000倍良い)

希望年収になるかはわかりませんが、手に職が何もないときと比べると比較的簡単に内定をもらえることでしょう。

とても良いアプリができていたりグロースも考えられている場合、有名なスタートアップに入ることも不可能ではないでしょう。

今のOL

就職後もいろいろあったし全然へっぽこだけど、とあるOLはiOSアプリエンジニアとして働けています。

収入は上がり、将来への不安はめっちゃ減ったそうです。

OL「エンジニアへキャリアチェンジ、ありだよ。」

とのことです。