また転職することにした

10ヶ月ほど前に意気揚々と 退職エントリ を書いたくせに、1年経たず退職となってしまった。 最初に断っておくと、前職よりは100倍マシだった。 けど悩みや欲望というのは無限に湧いてくるわけで、色々考えて転職することにした。 結局なんでやめんの 何か大…

fastlane pem で Push 通知に必要な p12 ファイルを生成する

iOS 用の Push 通知 証明書を生成したい。 真心を込めて手動で生成することもできるが、ここでは fastlane pem でコマンドで生成する。 fastlane pem fastlane/pem at master · fastlane/fastlane 詳細は上の README みればやり方書いてる。 gem install fas…

xcconfig を使い本体アプリと Embedded Framework を同じ環境設定でビルドする

本体アプリを Build した時に、本体アプリの CONFIGURATION を Embedded Framework 側に渡したい。 本体アプリを Debug Build Embedded Framework も Debug Build 本体アプリを Release Build Embedded Framework も Release Build というように、本体アプリ…

TodayViewController の viewDidLoad が呼ばれるタイミングについて

iOS の TodayExtension を実装していて、 TodayViewController の viewDidLoad が走るタイミングが最初はわからず苦労した。 viewDidLoad が呼ばれるタイミング 画面に表示されたタイミングで ほぼ毎回 viewDidLoad が呼ばれる。 TodayExtension を 10 こく…

EdTech Engineer Meetup #1 で「学校の iOS 端末事情」について話した #edtech_ja

Education×Technolog 業界の3社 Classi, LITALICO, Studyplus が集まって会社紹介やらパネルディスカッションやら LT やら懇親会しましょう、という会で LT してきた。 edtechem.connpass.com Lightning Talks 教育業界、というか BtoB 業界のモバイルアプリ…

Firebase, Google Analytics, Fabric, Apple App Analytics の個人的使い分け

昨今モバイル界隈ではアクセス解析に色々なサービスがあるが、それぞれにメリット/デメリットがあるため、複数併用するようにしている。4 つのサービスの個人的使い分けについて、iOS エンジニア視点で雑に書いていく。 なお、どれも無料枠での利用とする。 …

モバイルアプリの情報管理・Slack 連携ができる AppFollow

AppFollow アプリのレビュー、ランキング、説明文など色々な情報を総合的に見ることができて、それらの情報を Slack などに連携できる。iTunes Connect のアカウント情報などは渡す必要がなくて、AppStore などで見れるデータをそのまま保存している。 2 ア…

Mac の環境構築手順を整備した

今までも dotfiles と Brewfile を Github に置いて環境構築手順を整えていたが、 dotfiles は homesick、 Brewfile は homebrew-file というのを使っていたため管理がややこしくなっていた。 しかもそれらは全然 commit してなくて古くなってしまったため、…

Swift2 から Swift3 への移行がだるすぎて諦めた

1年前くらいにリリースしたアプリ があるのだが、動かなくなったというレビューがきたので修正しようと思ったのだがだるすぎる。 何がだるいかというと、 Swift3への対応が一番だるい。ライブラリを更新して、マイグレーションして… ってやらないといけない…

英語の五文型

中学・高校6年間の英語をこの1冊でざっと復習する作者: 稲田一出版社/メーカー: KADOKAWA/中経出版発売日: 2014/07/29メディア: 単行本この商品を含むブログを見る 本を読んで英語の勉強を始めた。英語めっちゃ苦手なので、とりあえず中学英語から学び直して…

古い iOS アプリが Apple に削除された

www.itmedia.co.jp これの対象になったようで、4年くらい前にリリースしたけど全くアップデートしていなかったアプリが削除された。 削除されたアプリは Anison Tube というやつで、AppStore ではもう見れなくなっている。 作ったアプリがアプリストアに14個…

血便がでた

昨日の夜になんかお腹の調子悪いな〜ってトイレ行ったら血便が出ていた。血便にも色々あるのだが自分のは鮮血で、痔とかじゃなくて腸がやばそうな感じがしていた。 allabout.co.jp これを読むと良くて痔とか腸炎で、ヤバいと癌らしいので戦々恐々として病院…

見たくない画像を置換する Chrome Extension を作った

chrome.google.com Image Switcher という、指定した画像を別の画像に置き換える Chrome Extension を作った。 仕事で GitHub とか Google とか使うじゃないですか、それに自分の見たくないアイコンを使っている人がいるじゃないですか、でもその人に「その…

Xcode で A valid provisioning profile for this executable was not found. が出た時の対処法

実機インストールしようとしたらなんじゃこりゃ、というエラーが出た。ググってみると iPad 側にインストールされた証明書が悪い、などと出たのだが自分の場合はどれも違った。 Debug ビルドなのに Adhoc 証明書を使おうとしてた のが原因っぽい。 ダメな例 …

「強いチームはオフィスを捨てる」を読んだ

強いチームはオフィスを捨てる: 37シグナルズが考える「働き方革命」作者: ジェイソン・フリード,デイヴィッド・ハイネマイヤー・ハンソン,高橋璃子出版社/メーカー: 早川書房発売日: 2014/01/24メディア: 単行本この商品を含むブログ (5件) を見る リモート…

「小さなチーム、大きな仕事」を読んだ

小さなチーム、大きな仕事 働き方の新しいスタンダード (ハヤカワ文庫NF)作者: ジェイソンフリード,デイヴィッドハイネマイヤーハンソン出版社/メーカー: 早川書房発売日: 2016/12/15メディア: Kindle版この商品を含むブログ (1件) を見る 書籍の名前は聞い…

「Web API: The Good Parts」を読んだ

Web API: The Good Parts作者: 水野貴明出版社/メーカー: オライリージャパン発売日: 2014/11/21メディア: 大型本この商品を含むブログ (7件) を見る 仕事で API は書いてないけど API は使うのでベストプラクティスを知りたい、と思って手に取った。(「えっ…

iOS Simulator で壁紙を設定する

iOS

実機 iPhone だと 設定 > 壁紙 から壁紙を変更できるが、シミュレータだと壁紙や Wallpaper の変更画面が表示されない。 しかし、写真アプリからなら壁紙設定画面にたどり着ける。 手順としては以下。 Photos(写真) アプリを開く 壁紙にしたい画像を選ぶ Act…

「コード・シンプリシティ」を読んだ

www.oreilly.co.jp 会社の先輩に「短くて読みやすくて良い」と勧められたので読んで見た。本当に短くて、1.5時間くらいで読み終わった。 内容は、複雑なソフトウェアは良くないのでシンプルにしよう、そのためにはこのようなルール、事実、定義、法則がある…

迷走

友人と slack で話してて、「エンジニアとして生きていくためにはどうするべきか」という題の結論として離島に橋を掛けたい、といういい話をした。 2017年1月27日の深夜の会話。 star__hoshi [00:25] :thinking_face: これガチで動いたらすごいけどどうなん…

「エッセンシャル思考」を読んだ

エッセンシャル思考 最少の時間で成果を最大にする作者: グレッグマキューン,高橋璃子出版社/メーカー: かんき出版発売日: 2014/11/19メディア: 単行本(ソフトカバー)この商品を含むブログ (18件) を見る 誰かの DeepWork の書評に「これならエッセンシャ…

「オブジェクト指向設計実践ガイド」を読んだ

オブジェクト指向設計実践ガイド ?Rubyでわかる 進化しつづける柔軟なアプリケーションの育て方作者: Sandi Metz出版社/メーカー: 技術評論社発売日: 2016/09/02メディア: Kindle版この商品を含むブログ (1件) を見る 先日 「オブジェクト指向でなぜつくるの…

iTunes Connect の売り上げとトレンドにある「デスクトップ」は何者なのか

iOS 向けにしかアプリをリリースしていないのに、 デスクトップ というデバイスでのダウンロードがある。 デスクトップとは stackoverflow.com どうやら、 PC の iTunes からダウンロードした時はデスクトップとしてカウントされるらしい。どこ経由でダウン…

「モバイルアプリ開発エキスパート養成読本」を読んだ

モバイルアプリ開発エキスパート養成読本 (Software Design plus)作者: 山戸茂樹,坂田晃一,黒川洋,藤田琢磨,山田航,田坂和暢,熊谷知子,森本利博,坂本和大,小形昌樹,鈴木大貴,志甫侑紀出版社/メーカー: 技術評論社発売日: 2017/04/11メディア: 大型本この商品…

「SOFT SKILLS ソフトウェア開発者の人生マニュアル」を読んだ

SOFT SKILLS ソフトウェア開発者の人生マニュアル作者: ジョン・ソンメズ出版社/メーカー: 日経BP社発売日: 2016/06/02メディア: Kindle版この商品を含むブログ (5件) を見る めっちゃいい本だった。 ソフトウェアエンジニアとして勝ち組になるためには〜み…

「軽量・高速モバイルデータベース Realm入門」を読んだ

軽量・高速モバイルデータベースRealm入門作者: 菅原祐,Realm 岸川克己出版社/メーカー: 技術評論社発売日: 2017/03/11メディア: 大型本この商品を含むブログを見る Realm は個人開発でそこそこ使っててそれなりに理解しているけど、雰囲気でしか理解してな…

potatotips #39 で fastlane android について話した

potatotips.connpass.com 最近業務で android も fastlane に乗せたので、 android 枠で話した。 fastlane android 良いと思う、継続的デリバるためのやつだからダメになったら捨てればいい、という軽い気持ちでいけるし。 発表では、たぶん自分はせわしなく…

「遅読家のための読書術」を読んだ

遅読家のための読書術作者: 印南敦史出版社/メーカー: ダイヤモンド社発売日: 2016/03/07メディア: Kindle版この商品を含むブログを見る 自分は本を読むのが遅く、さらに理解度が低いというつらい感じなので、そこらへんをなんとかしたいと思ってこの本を手…

「プログラムはなぜ動くのか」を読んだ

プログラムはなぜ動くのか 第2版 知っておきたいプログラムの基礎知識作者: 矢沢久雄出版社/メーカー: 日経ソフトウエア発売日: 2007/04メディア: 単行本(ソフトカバー)購入: 45人 クリック: 646回この商品を含むブログ (72件) を見る プログラムを書き始…

「リーン・スタートアップ ムダのない起業プロセスでイノベーションを生みだす」を読んだ

リーン・スタートアップ ムダのない起業プロセスでイノベーションを生みだす作者: エリックリース出版社/メーカー: 日経BP社発売日: 2013/09/11メディア: Kindle版この商品を含むブログ (11件) を見る 個人でアプリを開発するときによく思うのが「とりあえず…

「Deep Work 大事なことに集中する」を読んだ

大事なことに集中する―――気が散るものだらけの世界で生産性を最大化する科学的方法作者: カル・ニューポート,門田美鈴出版社/メーカー: ダイヤモンド社発売日: 2016/12/09メディア: 単行本(ソフトカバー)この商品を含むブログ (1件) を見る rebuild.fm で…

「オブジェクト指向でなぜつくるのか」を読んだ

オブジェクト指向でなぜつくるのか 第2版作者: 平澤章出版社/メーカー: 日経BP社発売日: 2014/03/05メディア: Kindle版この商品を含むブログ (2件) を見る 今まで Ruby, Java などオブジェクト指向言語に触れてきたけどオブジェクト指向っていうのが結局よく…

「チームが機能するとはどういうことか」を読んだ

チームが機能するとはどういうことか ― 「学習力」と「実行力」を高める実践アプローチ作者: エイミー・C・エドモンドソン出版社/メーカー: 英治出版発売日: 2014/09/05メディア: Kindle版この商品を含むブログ (3件) を見る 単純な業務だったら上司が圧倒…

macOS Sierra にしたので Karabiner が使えなくなってやったこと

やったこと 左コマンド, 右コマンドで英語/日本語変換したい ⌘英かな を入れる caps lock を control に remap したい tekezo/Karabiner-Elements で設定 key repeat 速度を早くしたい 標準の入力速度最速にしたらなんとかなるくらいになった vim mode (vim …

RxSwift で NotificationCenter を使う

Notification を送る側 let name = Notification.Name("notification") NotificationCenter.default.post(name: name, object: nil, userInfo: ["key": "value"]) Notifiactin を受ける側 disposeBag があるので購読やめるとかしないでよい。 NotificationCe…

iOS Test Night #3 でカバレッジの計測について話してきた

カバレッジについて話したが、カバレッジが高けりゃいいわけじゃなくて、計算ロジックとかは絶対に書いた方がいいけどそうではないところは書くメリット小さいかなと思っている。 とはいえテストがないと影響範囲読めないし、「俺たちが書くコードは完璧だか…

iOS 10.3 から、アンインストールすると Keychain が削除される → されませんでした

iOS

顛末 iOS 10.3 beta でアンインストールすると keychain が削除される問題が発見される これはバグか?という議論がなされる中、 Apple スタッフから 「これは仕様だ」とコメントが入る しかし iOS 10.3 beta7 でアンインストールしても keychain から消えな…

fastlane の increment_build_number で Cannot find が発生した時の対処法

エラー内容 fastlane で increment_build_number を使ったら以下のようにエラーが出て increment されなかった。 [14:33:08]: ------------------------------------ [14:33:08]: --- Step: increment_build_number --- [14:33:08]: -----------------------…

iPad 向けアプリで iTunesConnect 提出時に ITMS-90029 が発生した時の対処法

設定 iPad 向けになってる。 iTunesConnect に申請してみる iPad 向けにしてるのに iphone の storyboard がウンヌンって言われてる。 Info.plist 見てみる 邪魔そうなのがいる… 👀 消してみる もう一回申請すると エラーが消えました 🙌

Swift 実践入門 を読んだ

Swift実践入門 ── 直感的な文法と安全性を兼ね備えた言語 (WEB+DB PRESS plus)作者: 石川洋資,西山勇世出版社/メーカー: 技術評論社発売日: 2017/02/07メディア: 単行本(ソフトカバー)この商品を含むブログを見る 全体感想 良い本だった、書名になっている…

JetBrains の Opensource license を申請したら承認された

JetBrains :: Opensource license JetBrains のエディタは普通に使おうとするとお金がかかるのだが、 OSS を開発している人は無料でライセンスがもらえる。(もらえる条件はもうちょっと色々ある) ライセンスをもらうには申請が必要なのだが、その申請が通り…

Firebase Analytics だけでモバイルアプリの解析ができるか検討

Firebase Google がやってるやつ。 Push 受けたり、クラッシュレポート取ったり、 Analytics 取れたりしてて、モバイルでは Google Analytics より Firebase Analytics 使ったほうが良い空気を Google から感じる。 また、Fabric + Crashlytics も買収して、…

Cloudflare で DNS 登録したリクエストのIPアドレスがカンマ区切りになる

heroku + Rails5でアプリケーションを開発し、リクエストを受ける前段に Cloudflare を利用している。 Cloudflare は DNS, Crypto で SSL, CDN の設定を利用している。 しかし、 Cloudflare を使い始めたからか IPアドレスが validation エラーになってしま…

特定の UITableViewCell だけ separator の線消したい

tableView で この cell だけ separator 消したいよ〜 という時の方法。 ググると、全ての tableView の separator 消して追加したいやつだけ追加するコード書こうとか、全部の tableView の線を消す方法とか出るけど、特定の cell だけ separator 消す とい…

RxSwift をやる前にちゃんと Observer パターンを学ぶ

RxSwift やるぞ!と思ったはいいものの、ちゃんと Observer パターンを学んだことがなかったので Swift でゼロから書いてみる。 Observer パターン Observer パターン - デザインパターン入門 - IT専科 観察者が何かを監視していて、その監視対象に更新があ…

Google Analytics と Firebase を同時に使うとき、 1 つの GoogleService-Info.plist で管理する

GoogleService-Info.plist 何も考えずに Google Analytics と Firebase をアプリに導入しようとすると、それぞれ別で Project を作成して、GoogleService-Info.plist も 2 つ生まれてしまう。 2 つあったとしても読み込む plist はそれぞれ設定できるので問…

APIGateway + Lambda + NodeJS で rest api を作る

AWS 全然使ったことなくて Lambda とか全くわからなかったけど1時間くらいで API 公開まで行けた。 このままだとやり方忘れちゃいそうなのでメモ。 AWS Lambda Get Started Now まず AWS にログインして、 Lambda を選んで Get Started Now する。 次に、 bl…

WKWebView で target = _blank と POST の組み合わせ注意

target = _blank かつ POST リクエストの際に画面が表示されないバグを出してしまったので気をつけないといけない。 WKWebViewでtarget="_blank"なリンクが開かない時の対処法 - Qiita のコメント欄で注意喚起がされている。 target="_blank" を強引にメイン…

2016年振り返り

今年あったことを書き起こしていったら怪文書のようになってしまった。 2016 年振り返り まとめ 2016年初めに「去年は仕事以外何もしなかったから、今年はひたすらアウトプットし続けるぞ」と誓った記憶がある。 振り返ってみると、そこそこアプリを作ったし…

Rails5 で WebSocket を ActionCable でなく Firebase でやった話

Ruby on Rails Advent Calendar 12日目です! 私は仕事では iOS を Swift を書いていて、個人開発でサーバサイド API を Rails で書いています。 そこで WebSocket を使いたいと思い ActionCable でやろうとしてたのですが、 Firebase でもいけるんじゃねと…