ssk blog

バンコクで働くエンジニアのメモ

SwiftのCodableのモデルを作るためにquicktypeがすごく便利だった話

Swaggerで定義されたレスポンスのモデルを作るときに、Swaggerを確認しながら書くのがめんどさくなと思っていました。そんなときに便利なのが、quicktypeです。詳しくは、このブログを見ればわかるので、簡単にどんなものか書きます。 quicktypeに使い方 例…

開発チームのリーダーになってやって良かった3つのこと【役割明確化】【タスクの見える化】【相互理解】

会社のデベロッパーブログで書こうと思っていましたが、別の内容を書いたので、個人ブログで書きます。 自分の背景 新卒4年目で、新規事業2つ → 子会社の立ち上げを2社経験し、現在は、3年前にリリースした売り上げが絶好調のプロジェクトにいます。 今までA…

iOSアプリのアイコンを申請しないで変更する方法をしてAppleにリジェクトされた話

iOS

iOSアプリのアイコンを申請しないで変更する方法 iOSアプリのアイコンを申請しないで変更する方法は知っていますか?この機能は、iOS10.3から使用可能です。 審査なしでiOSアプリのアイコンを変更する方法については、こちらに書いてあります。qiita.com や…

『お金2.0 新しい経済のルールと生き方』を読み、仮想通貨や今後の働き方について考えさせられた

kindle版 『お金2.0 新しい経済のルールと生き方』を読み、ここ最近読んだ本の中で1番面白く、学びが多かったです。本書を読んでいくなかで、覚えておきたいと思った部分を紹介します。 お金と仮想通貨について 本書のタイトルである「お金」とは何かをいう…

XcodeのコードカバレッジをCircleCIでCoverallsに飛ばし可視化する方法

こんにちは。 CyberAgentAdventCalendar13日目を担当するsskです。 タップル誕生のiOSアプリを作っています。先日、「普段の開発でなかなかできないことで、ユーザーにメリットがあるものならなんでもOK」っという目的で1泊2日の開発合宿に行ってきました。i…

XcodeでiOS(Swift)のカバレッジの計測方法 〜テストを書かなくても100%にできる!?〜

Xcodeでコードカバレッジを表示する方法は、こちらのブログを見てください。 コードカバレッジについて AppleのDeveloperサイトには、コードカバレッジの説明があります。 Code Coverageの説明Code coverage is a feature in Xcode 7 that enables you to vi…

XcodeのTestでCoverageを表示する方法をスクショで簡単に紹介

そろそろちゃんとテスト書こうと最近思っている日々です。 ゴール テストを実行したときに、Coverageが表示されている 方法 ① Product -> Scheme -> Edit Schemeをクリック ② Gather coverage dataにチェックを入れる ③ チェックを入れた状態でテストを実行…

Xcodeの使ってないiOSのsimulator(シミュレータ)を削除する方法

Xcodeの不要なiOSのsimulatorを削除したいと思った理由 ふと、「あれ、なんで僕は使ってないsimulator入れてるんだ?邪魔だな」と思ったので、削除方法を調べました。 自分のXcodeのiOS simulator 削除する方法 ① iOSのSimulatorを起動し、Hardwareをクリッ…

Swiftのlazyってなに?lazyの使い方。リファクタリングした箇所の紹介

lazyってなに? The Swift Programming Languageに以下のように説明されています。A lazy stored property is a property whose initial value is not calculated until the first time it is used. You indicate a lazy stored property by writing the laz…

『自分のチームは生産性の低い』と思ったら絶対に見た方が良い動画

Product Manager Conference 2017に行き、学びが大変多く、自分の中で整理してから、このブログで紹介していこうと思います。 今いるメンバーで「大金星」を挙げるチームの法則のセッションで紹介していた動画が印象的だったので紹介します。 生産性の低いチ…

swift4対応で個人的にこれだけ覚えておこうと思った8つのこと

iOS

本業のアプリのSwift4対応が終わりました。(他の人がやってくれました)Swift4で変更でこれだけは、覚えておこうと思ったことを紹介します。 ① 数値比較で型の厳しさがなくなった - uIntとIntで比較できる ② Stringが強化された、StringをいじるときはSwift4…

テスト駆動開発とiOS(Swift)のテスト(XCTest)を見やすくするためのTIPS

テスト駆動設計 テスト駆動設計って知っていますか? テスト駆動設計を知らない人は、この本やスライドを見てください t-wada.hatenablog.jp Test Yourself - テストを書くと何がどう変わるか from Takuto Wada www.slideshare.net テストって重要ですよね。…

iOSアプリが「IPv6 networkで通信できない」って言われてリジェクトされたときの対応方法

iOS

最近、以下のメッセージがきてAppleにリジェクトされました。 今までこの指摘なかったし、IPv6環境で通信できていない...(できると思っていたけど)We discovered one or more bugs in your app when reviewed on iPhone and iPad running iOS 11.1 on Wi-Fi …

iPhoneをIPv6環境に繋いでiOSアプリの動作を確認する方法(有線LAN接続ができないときのやり方も紹介)

iOS

IPv6環境でiphoneを繋ぐ方法を共有します。詳しくは公式ガイドを見ればわかります! 最低限必要な環境 - iOS 9.2 - OS X 10.11.2 やり方 ① Macを有線LANでネット接続する ② optionを押しながら[共有]をクリックする ③ [NAT64ネットワークを作成]が表示される…

swiftで画面遷移の方法どうする?Segueって使うの?

iOS

[Swiftを書き始めたときに悩んだことシリーズ] Swiftを書き始めたときに[swift][画面遷移] で検索すると『segueを使った画面遷移の方法』などがでてきて、「segueって使うの?」ってなりました。画面遷移をする方法を大きく分けると - segueを使う - コード…

swiftのProtocolはextensionごとにするの?コードブロックの順番どうしよっか?

iOS

[Swiftを書き始めたときに悩んだことシリーズ] Android(Java)しかやったことない私。 extensionについて理解し、「SwiftのProtocolはextensionごとにするの?」ってなりました SwiftのProtocolはextensionごとにするの? 他社のコーディング規約を見ると、ex…

swiftのStringの連結とキャストどうしようかな?

iOS

[Swiftを書き始めたときに悩んだことシリーズ] "\(textA)\n\n\(textB)" Stringの連結 ① "\(textA)\n\n\(textB)" ② textA + "\n\n\" + textB ①を使用します! Stringのキャスト ① return String(score) return "\(score)" ② return String(score) ①を使用しま…

swiftのオプショナル型のnilチェックどうする?

iOS

[Swiftを書き始めたときに悩んだことシリーズ] オプショナルのnilチェックをするときに、どっちの方法でやるのか悩みました。書き方① if let _ = optionalObject { } 書き方② if if optionalObject != nil { } 書き方①の方が、っぽくて良いんだろうなーって…

Androidの消費型のアプリ内課金で「このアイテムは既に所有しています。」 と表示され購入できないAndroidの課金バグ

[Evernoteのメモシリーズ]2016年6月頃にv3の消費型のアプリ内課金を実装中に遭遇したバグに関するメモです。 発生する状況 課金処理中に通信が切れ、 再度購入しようとすると 「このアイテムは既に所有しています。」 と表示され購入できない 原因 GooglePla…

swiftで[weak self]をguardするときの書き方ってどうするのが良いのだろう?

iOS

[Swiftを書き始めたときに悩んだことシリーズ] 今年の始めから本格的にiOSアプリを作り始めて、「swiftで[weak self]をguardするときの書き方ってどうするのが良いのだろう?`」って思いました。 調べたり、人に聞いたりすると以下のパターンがありました。(…

はじめに。

新卒で入社して3年が経ち、エンジニアとして「アウトプットが大事だなー」とより一層感じている日々です。 wordpressのブログに書いていた内容、今までのEvernoteのメモ、調査したことをつらつらと書いていこうと思います。 wordpressのブログは、お小遣い目…