XcodeGenで何かコケた
概要
- 「何か」「よくわからないけど」といった言葉が好きだ
- エンジニアという生き物は不明瞭だったり曖昧な言葉を嫌う傾向があるが、自分は入り口はふんわりすればするほど心理的な衝突は避けられると思っているし、いきなり的確に情報を整理整頓できる脳を所有していない
- 今回もそんな「何か」知らんけど問題が起きたので書いてみる。原因や詳細がわかったらQiitaやペンギン村 Techブログにまとめようと思う
問題
- 私物MBPのOSをMojaveにあげた時から(昨年秋から)、XcodeGenを使ってプロジェクトファイルを生成しようとすると以下のエラーを吐いていた
Parsing project spec failed: Unknown Target dependency: ["sdk": "libc++.tbd"]
- 言葉の通り
project.yml
に設定しているTarget dependency情報の1つがUnknownと言われてしまっているのだが、これがネットになかなか転がってないため変に時間がかかってしまった。Google先生そりゃ無いぜ
XcodeGenについて
- XcodeGenは
.xcodeprj
のconflict問題を解決してくれる神ツールなのだけれど、ymlを使った設定方法は公式ドキュメントが充実しているのもあるが、日本語情報がほとんど無いに等しい - 今だから言えるが、このツールも銀の弾丸かというとそうでは無い
- 威力を発揮するのはiOSプロジェクトを同時にいじる人間が4人以上な時がせいぜいで、3人以下の場合はそこまでconflict問題が猛威を振るうことが無いと思っているためだ
- 作業分担領域や設計時に責務の細分化がプロジェクトルールにある前提である。念の為
- 逆を言えば大人数でiOSプロジェクトを触っており、今もなお
.xcodeprj
のconflict問題で悩んでいるのであれば、このツールほど頼りになるものはない。今すぐ導入し、詰まった内容を日本語でシェアして頂きたい。人間母国語と非母国語による変換作業ほど疲れるものは無い。
問題解決
- 話を戻す
- 上記の問題は何が原因だったかというと、マシンにインストールしたXcodeGenと最新のXcodeGenとの間に差異が発生していた可能性が高い
- とりあえず入れ直してみると以下のようなエラーが吐かれた
$ brew install xcodegen // 割愛 // Error: The `brew link` step did not complete successfully The formula built, but is not symlinked into /usr/local Could not symlink bin/xcodegen Target /usr/local/bin/xcodegen already exists. You may want to remove it: rm '/usr/local/bin/xcodegen' To force the link and overwrite all conflicting files: brew link --overwrite xcodegen To list all files that would be deleted: brew link --overwrite --dry-run xcodegen
- ここで問題となっている原因と、解決策を提示してくれる
- 今回自分は
brew link --overwrite xcodegen
を叩いた - これでxcodegenは無事にインストールが終わる
- 改めて
xcoden
と叩くと、無事処理が完了した
まとめ
- これでやっとxcodeprojが開ける!( = アプリが起動できる)
- HomeBrewでinstallしたものに対しての対処法があまり理解できていなかったので、もっとHomeBrew理解しないとね
退職します。
はじめに
3回目の投稿です。
何であまり書いてないかというと、ペンギン村 Tech Blogというのを書いておりまして、今後もそちらをメインに執筆していく予定のため、
ここはチラシ裏感覚で私事をたまに書く用にしたいなと。
今回は退職エントリです。
君誰?
iOSアプリエンジニアです。
弊社に新卒で入社し8年が経ちました。
SESでこれまで講談社・Suumo・ヤフオク!・@niftyニュース・ディズニーチャンネル・みんカラなど大人数で開発するプロジェクトにお世話になりました。
また自社名義で日課メーター※というアプリを開発・運営してます。
※現在一時的にですがストアに公開されていない状態のためリンクは切りました
なんで辞めたん?
・iOS以外にAndroidやサーバーサイドの技術を仕事を通して磨きたい
・育児をサポートしてくれる会社に就きたい
・英語をお仕事で使いたい
・Input/Outputをもっと頑張りたい
・PL or PMの経験積みたい
などが主な理由。
逆を言うと、弊社ではここら辺に限界を感じたためでもあります。
日課メーターは?
まだまだ僕が手をつけたい機能追加, バグ修正があるのですが、弊社の仲間に引き継ぐ形となります。引き続きご利用頂ければ幸いです。
なお、僕のツイッターでも固定ツイートで紹介してきましたが、僕が担当から外れるためツイートも削除します。何かご要望がありましたら、Apple Storeのレビューページによろしくお願い致します。
日課メーターのContributerをご所望頂けていた@loveeさんには申し訳ありません。
日課メーターのコントリビュート権にめぐって熱い議論をした #akibaswift
— 星野恵瑠#今日も1日フレンズ㌠ (@lovee) 2018年2月21日
これからどうするの?
4月から株式会社DMM.comラボにお世話になります。
個人的にはまだアプリの会社ってイメージはそんなに無かったのですが、最近はCashの買収であったり盛り上がってきているのかなと思います。ここで更に上を目指して行きたいです。
最後に
日課メーターにてイラストをご担当頂いた珠川まほろさん、声を担当頂いた寿松木明日花さんには大変感謝しております。
キャラクターを使ったアプリを作りたかった夢が叶ったのはお二方のおかげですmm
また別のお仕事でも依頼することがあると思います。引き続きよろしくお願い致しますmm
また仕事でこれまで知り合ってから仲良くさせて頂いているエンジニア仲間にも感謝します。定期的にもくもく会を催したり、勉強会で会ったり、Slackで日々情報を共有しているのはガチのマジで財産です。引き続きよろしくですmm
ではノシ
初めてDMM英会話やってみた
はじめに
・DMMの回し者ジャナイヨ。
・英語を勉強して早X年。いい加減話せるようになりたいから思い切ってDMM英会話をやってみた。
・Hな同人誌みたく胸から変な汗出た
使い方
・DMMのアカウントを用意
・1日1回、2回の2コースから料金を選べる
・無料体験で2回レッスンを受けれる
・講義はスカイプを使う
・講師を検索し、予約時間を確認
・何をするかもこの段階で選択する。フリートークなのか、テキストを使った勉強なのか。
→僕は自己紹介有りのテキストで簡単なものを選択。
・時間は1レッスン25分。
・僕の周りではフィリピンの講師の評価が高く(アプリみたく星の数で評価されてるけど、実際にフィリピンの講師は評価高い人が多い)、Nabel先生にお願いすることにした。
・講師からのコンタクトをスカイプ上で承諾し、マイクの調整などを確認して講師からの電話を待つ。死ぬほど怖い。
注)いざやろう!と思っても、自分に都合の良い時間帯の講師を捕まえられるかが割とポイント。
いざ、実践
・やり取りが始まる。
・もちろん英語、逃げ場はない。
・まず講師から自分がDMM英会話の講師であること、今この時間に予約を頂いたので連絡したこと、電波状況がクリアであることを確認される。もちろん英語。
・Nabel先生がめちゃくちゃ優しい。「緊張しなくて良いよ。間違っても大丈夫だからね」と言ってくれる。もちろん英語。
・テキストは指定してたけど、どこのセクションをやるかは先生と口頭で決める。もちろん英語。
・テキストは自分側は日本語訳で、講師側は英語訳で書かれているので、上からなぞって進んで行くけど、今どの辺りを読んでいるのかは理解できいないといけない。ただテキストの内容は事前に確認出来るし、簡単なものは中学英語の教科書よりもシンプルなのでそこまで気にはならないはず。
・25分の講義を終える。See you!
所感
・コミュ障である人にはテキストベースでの受講を勧める。25分は死ぬほど長い。
・講師の人は時間を考慮してテキストの進み具合も早ければゆっくり進めてくれる。合間に世間話を挟めるようなスキルが無ければこの時間調整は沈黙で補われる。怖い。
・テキストが簡単でテキスト内の発声練習だったり、小問題が簡単にこなせられればだいぶ気も楽になる。無理に自分の挑んでいるレベルではなく、楽々クリア出来るところからトライしてみることを勧める。講師の首が傾く度に胸から変な汗が出るので注意。
まとめ
・かなり現実を突き付けられる点では良い勉強になる。
・にも言わず「オススメだよ!英語やろうよ」なんて言えない。ある程度英語は勉強したし、そろそろ大丈夫かな?くらいの自信(余裕)が無いと外国の人と対面するという状況に頭が真っ白になると思う。
・ただ英語をテキストたけで勉強してる人にならわかってもらえると思うけれど、さすがにそれだけでは全然身につかないのが語学勉強。最後の最後は英会話の授業に足を踏み入れてこそ成長出来るものだと信じている。
・ちなみに、英語を勉強したいけど英会話はさすがにまだ無理!という人にはLang-8を勧めたい。自分の書いた英語を添削してくれるサービスであり、これを毎日続けるだけでもかなり英作文の力はつく。そこで得た自信や文章作成力をもって英会話にチャレンジするというのが精神的負担は少ないと思う。
最後に
これから週3,4ペースで英会話授業を受ける予定。1ヶ月後くらいにどのくらいになっているか、またブログを書きたいと思う。
2017年も大変お世話になりました。
(ぅわ始めてみたけどもうブログ続く気がしないよ…続けてる人しゅごい…)
今年もあっという間に終わってしまいました。
今年って酉年だったんですね。1月ごろは意識してたんでしょうけど、いつからかまったく意識してなかったので、今CMとかで「来年は戌年」とか言われても「今年って何年だったっけ?」なんてことがしょっちゅうです。
日々意識してないと気づいたらあっという間なんでしょうね。なんでも。
で、私の今年の反省点ですが、日課メーター※1のiOS版Ver2.0.0の年内リリース、Android版Ver1.0.0のリリースの未達成の2点です。お待ち頂けていた方々には申し訳ないです。
このアプリ、自社開発を謳っておきながら作業時間は業務時間外で行なっているという、わかる人にはわかって頂けますが、わからん人には?がつきまとう事情を持って開発・運営を続けております。なので帰宅後、休日中、家族の団欒の合間を塗って、家族サービスを少し削り、車出さないといけない諸事情を掻い潜って…みたいな試行錯誤の上でIDEとにらめっこしているので、バージョンアップ期間に開きがあった際には察して頂きたく存じます。
ただ、上記のiOS版Ver2.0.0は準備を続けておりまして、来年2月上旬にリリース予定※2となります。今しばらくお待ちください。Android版はそのあとに日課機能のみをつけて4月中にはリリースしたいと思っております。
来年の抱負は、iOS/Androidの技術習得(インプット)に励む傍、アウトプットも色んな形で実施していきたいと思ってます。その時間を作ることが課題ですが…まぁ色んな形で改善していく予定です。これ以上家族に白い目向けられないような形で…。
後輩に読ませている入門書です。僕もこの休みに読み直します。
※1…弊社が開発・運営している日課管理アプリ。「続けたいことを日課に変える」をキーワードに日々アプリの機能充実を図っております。
※2…主な内容: UI変更・新機能追加・バグ改修