tofucodes diary

にほんごのほう

AppStoreとGooglePlayのユーザレビューを自動・無料・簡単にSlackに配信する方法

拝啓 アプリ開発者ならユーザがAppStoreあるいはGooglePlayに投稿してくれるレビューは非常に気になりますよね。 弊社ではストアの評価がKPIなんかになってたりもしますんでユーザレビューは超x3重要です。 とはいえAppStoreやGooglePlayにわざわざ見に行く…

WWDC 2019 - What's New in Xcode 11

developer.apple.com エディタ関連 画面分割がなんか賢くなる(あんまり興味ない) エディタの右にファイルのミニマップが出せるようになる 他のエディタではよく見るようなやつ //MARK: - XXXでセクション分割もしてくれる 行数が長いファイルだとちょっと…

UITextFieldViewのleftViewに隠された仕様について

TL;DR 1つのViewインスタンスを、複数のUITextFieldViewのleftViewに同時に表示することはできない 同時には表示することができないので、leftViewModeを.whileEditingに指定すれば1つのViewインスタンスを使い回すことも可能 この辺りの仕様は公式ドキュメ…

Apple IDの2FA必須化に伴うCI環境でのfastlane実行の問題と対応

問題 Travis CIでfastlaneの実行に利用していたApple ID(foo@example.comとする)に2FAを設定したらfastlaneがうまいこと動かなくなった。 対策1 fastlane公式ドキュメントにちゃんと対応方法が書いてある docs.fastlane.tools 以下の2つの環境変数を利用し…

DeployerでColofulBoxにLaravelアプリケーションをデプロイする

対象読者 ColorfulBoxにPHPアプリケーションをデプロイしたい GitなどでLaravelアプリケーションのソースコードをバージョン管理してる composerを利用しててvendorディレクトリはバージョン管理対象から外してる ColorfulBoxの制限 ColorfulBoxはいわゆる共…

ColorfulBoxでCLIのPHPのバージョンを変更する方法

www.colorfulbox.jp ColorfulBoxというレンタルサーバーを使ってPHPのアプリケーションを公開してみました。 レンタルサーバーというものを人生で初めて触れているもので勝手がどうにも分からず、PHPのバージョン変更するだけでもだいぶ手こずってしまいまし…

IQKeyboardManagerで親Viewが異なるUITextFieldを兄弟とみなす方法

github.com 課題 Qiitaで紹介されていて使ってみたIQKeyboardManager、すごい便利ですね。 IQKeyboardManagerは、デフォルトでは画像のように別の親Viewに属しているUITextFieldなどを兄弟と見なしてくれません。(つまりToolbarの↑↓でUITextFieldを移動でき…

BitbucketのコードをHerokuに自動デプロイする方法が超簡単だった

最近仕事が暇すぎて業務時間中に個人プロジェクトのコード書いてコミットしてたりしたんですが プライベートレポジトリじゃないんでGithubのContribution activity(草の下の方とかに出るやつ)を同僚や上司に見られたらあまり良くないよなぁと思い Githubの…

iPhoneのWalletアプリにオリジナルのPassを登録する方法+α

ios

iPhoneのWalletアプリ便利ですよね。僕も最近はコンビニでの支払いや自動販売機、電車の改札もWalletで済ませています。(個人的には使ってないですがポンタカードがWalletに登録できることを発見した時はテンション上がりました) 今回はそんなWalletアプリ…

KotlinConf 2018 - Shaping Your App's Architecture with Kotlin and Architecture Components

KotlinConf 2018のビデオでAndroidアプリの設計について面白いものがあったのでざっくりですがまとめてみました。 一昔前の設計のアプリをArchitecture ComponentsやCoroutinesを用いて再設計している実際の経験に基づいた話でとても参考になりました。 www.…

XCTestでFirebase Realtime DatabaseのAPIをモックしてレスポンスを偽造する

仕事でFirebase Realtime Databaseを利用していてユニットテストを書くためにモックについて調べてみるとこちらの記事に出会いました。 medium.com モック以外の内容も書かれており素晴らしい内容ですね。とても参考になります。 今回はもう少しお手軽にFire…

MapKitの地図をGoogleMap風にカスタマイズする

簡単に現在地の周辺や特定の場所を表示したりするだけならGoogle Map SDKを使えば良さそうなんですが、 アノテーションを充実させたり、検索機能が必要だったりするとMapKitを使う方がベターだったりします。 (知ってる限りではGoogle Mapでの検索はPlace A…

Xcode 10でビルドしたアプリがiOS 9.0, 9.1, 9.2 でクラッシュしまくる件について

先日ようやっとiOS 12とXcode 10リリース後初のiOSアプリリリースをキメたんですが、 その後最新バージョンでクラッシュが急増する事態に。。。 クラッシュログを確認するとiOS 9でしか発生していない模様。 不思議だな〜と思いつつコード追ってみても原因が…

モバイルアプリエンジニアのポートフォリオサイト「Project Showcase BETA」を試してみた

先日メールボックスにこのようなメールが。 Hey Toru, I was searching for mobile developers by diving into the Swift stargazers on Github and came across to your profile. I see that you are a productive developer, especially CleanArchitecture…

iOS 12で劇的に変わるPush通知の全貌

ios

今更ですがWWDC2018のkeynoteを仕事と銘打って業務中に見まくっています。 WWDC 2018 - Videos - Apple Developer 数ある新機能の中でもiOS 12で劇的に変わりかつ影響範囲が大きい機能といえば「Push通知」ではないでしょうか。 今回はそんなiOS 12のPush通…

Cloud Firestore iOS SDKをCarthageで組み込むとクラッシュするあなたへ

何も変えずにCarthageからCocoapodsに変更したら動いたのでやっぱ何かおかしい— 無職に至りたい (@toru_furuya) August 20, 2018 コード SDKの組み込みはCocoaPodsかCarthageかの違いだけで、あとは全て公式ドキュメントの通りに実装していきました。 Get st…

SideMenuライブラリでツールバーの見た目を変更できない原因と解決方法

github.com 問題 アプリ側のステータスバーの見た目とSideMenuで表示するメニュー側のステータスバーの見た目を変えるために、以下のような実装を行なった。 import SideMenu let menuLeftNavigationController = UISideMenuNavigationController(rootViewCo…

Travis CIのxcode9.4イメージにbundlerがプリインストールされてない模様

Travis CIのosx_image: xcode9.4がリリースされたので試してみました。 ✨Xcode 9.4 is here! Set ‘osx_image: xcode9.4’ in your .yml file and you’re off to the races. As always, if you have any questions or something doesn’t work as expected, we …

Travis CIでCarthageのビルドをキャッシュして幸せになる

目的 Travis CIのPull RequestビルドでCarthageを毎回ビルドしない git repositoryにCarthageのビルド成果物をコミットしないで実現する Pull Requestビルドの概要 公式ドキュメントを覗いてみます。 Caching Dependencies and Directories - Travis CI Pull…

指定期間のデータを抽出するアンチパターンについて

何かしらのデータのリストから特定の期間のデータのみをフィルタしたいような時があると思います。 今回のサンプルはデータのリストから6月に作成されたデータをフィルタします。 おそらくよくありがちなコードはこんな感じではないでしょうか。 (コードは…

Carthageの導入で困った7つのこと

先日仕事で初めてCarthageを利用した際に困った点やつまづいた点。 ラインナップ Carthage関連ファイルどこまでcommitするか問題 carthageのコマンド多くてどれ使えば良いかよく分からない問題 Fabric/Crashlyticsが公式にサポートしてない問題 Firebaseが公…

続報:iOS 11からNSLocaleの仕様が変更されたらしい

ios

以前iOS 11のNSLocaleについて書いた記事はこちら。 10月にAppleのDeveloper Forumに投稿していた質問を久しぶりに見てみたら2月に返信がありました。 翻訳しながら内容を見てみます。 I think the change in behavior makes sense sort of for many things,…

入社1日目のMac環境設定まとめ

メモエントリ キーボード設定変更 Apple ID作成 Xcodeインストール XVim2セットアップ Alfredインストール id_rsa作成 ターミナルセットアップ 1. キーボード設定変更 System Preferences > Keyboard > Modifier Keys... からCaps Lockを⌃に変更する 2. Appl…

20代後半の冴えないエンジニアが転職活動でそれなりの成果を出すためにやったこと

これといって特徴がなく冴えないエンジニアの私ですが、自分の軸に合致した企業に年収アップで転職を決めることができたので、転職活動で考えてたこととか行ったことについて共有して、万に一つ少しでもどなたかの参考になったら本望なエントリです。 職探し…

一部上場の大手ソーシャルゲーム会社を退職しました。

この度、約6年間勤めた一部上場の大手ソーシャルゲーム会社を退職しました。 といってもこの会社で実際に働いたのはおよそ3年間で、後半の3年間は子会社に出向していました。 思い返せば2012年の新卒採用で未経験の私を採用していただき、様々なチームで色々…

2017年振り返り、2018年目標

2017年の目標振り返り tofucodes.hatenablog.jp 2017年の目標は以下の3つだった。 お金の勉強をする 海外の企業に応募してみる 体脂肪率9.9% お金の勉強をする 未達成。最近話題のビットコインにすら完全に乗り遅れた。コインチェックが六本木ヒルズに大々的…

XVim2でXcode9でも快適Vimキーバインドが復活

以前Xcode8でXVimが使えるという旨のブログを書きましたが Xcode9になってからどうしたもんかなーと思ってた矢先、 なんとXVim2があることを知人のエンジニアの方から教えてもらいました 当方Xcode 9.1で問題なく動作しています これでXcode9でもストレスな…

Rails 5でAPIをさくっと作る方法

Rails 5のAPI専用モードでAPIのベースをさくっと作ってみたので備忘録として。 Rails開発環境の構築 Railsの最新バージョン(5.1.4) $ gem install rails ... 12 gems installed APIアプリケーション作成 $ rails new scribbles_api --api ... RubyDep: WARNI…

iOS 11からNSLocaleの仕様が変更されたらしい

ios

使用言語の設定が日本語のデバイスでしか利用できないサービスで、iOS 11にアップデートしたら動作しなくなったという問い合わせが届いたので調べてみたら、どうやらiOS 11からNSLocaleの仕様が変更されたらしいことが分かった。 NSLocale.current.identifie…

今更ぽいけどJenkinsのPipelineの環境構築してみた

仕事でiOS SDKのテスト・ビルドをJenkinsでGithub Pull Request BuilderとかBitbucket Pull Request Builderとかのプラグイン使いながらなんとか構築した途端にJenkins Pipelineの存在を知ってしまったので軽く落胆しながらもローカルのMac PCで動かすまでの…