LCL Engineers' Blog

バス比較なび・格安移動・バスとりっぷを運営する LCLの開発者ブログ

iOS

BitriseでFastlane Pilotを実行してiOSアプリをアップロードする際に2FAでエラーが発生した時の対応

iOS

モバイルアプリエンジニアの山下(@yamshta)です。 Apple IDの2FAが必須となり暫く経ちましたが、皆さんのCIは問題なく動いたでしょうか? LCLの環境では案の定 Bitrise上で動かしているFastlaneのplistで6digitコードを聞かれてしまいワークフローが失敗す…

iOSDC Japan 2018に参加してきました!

モバイルエンジニアの山下です。 去年に引き続きiOSDC 2018に参加してきました! 開催から時間が経ってしまいましたが、レポートとトークの一部を紹介させていただきたいと思います。 iOSDCとは https://iosdc.jp/2018/ iOSDC JapanはiOS関連技術をコアのテ…

SwiftFormatで機械的にコーディングルールを統一する

iOS

モバイルアプリエンジニアの山下です。 W杯開幕からほぼ全ての試合を観ているため、在宅勤務を活かして出社時間ギリギリまで寝る生活をしています。 今回は、LCLが運営している高速バス比較のiOS版の開発時に可読性を維持する支えとなっている『SwiftFormat…

Bonfire iOS #4に参加してきました

モバイルアプリエンジニアの山下です。 昨日はヤフー株式会社主催のBonfire iOS #4に参加してきました。 Bonfire iOS #4 - connpass 第4回のテーマは「UI」ということで、デザイナーとの協業の話からARKitのコアな話まで深みのある発表内容でした。 今回は簡…

Zeplinを導入してデザイナーとエンジニアの連携をもっとスムーズに

フロントエンドエンジニアの岡田です。 LCLでは、デザイナーとエンジニアの連携をスムーズにするために、Zeplinを導入しました。 今回は、導入にあたって行ったことをまとめました。 デザイン&コーディング体制 Zeplin導入前に使っていたツール Zeplinとは …

デバイスサイズが異なるシミュレータで一度にアプリを起動して動作確認の効率を上げる

iOS

モバイルアプリエンジニアの山下です。 iPhone Xが発売されて4ヶ月が経とうとしてますが、iOSエンジニアにとっては確認する端末がまたひとつ増え苦労しています。 Xcode 9からシミュレータ自体の並行起動は可能になりましたが、アプリの実行は1つのシミュレ…

iOSアプリ開発で動作確認をする際にあると捗るTips

iOS

この記事はiOS2 Advent Calendar 2017の9日目の記事です。 開発中やリリース前に、手動での動作確認を行うことは多いと思います。 弊社では、リリースの前にテスト配布を行い、他のエンジニアメンバーや 担当のデザイナー、プロジェクトマネージャーに動作確…

Baltoからの移行先としてInstaBugとBugseeを比較してみました

iOS

先日、Baltoがサービスを終了するという悲しいお知らせがありました。 【重要】フィードバックツール「Balto」サービス終了について 日々のフィードバックや開発の中盤から終盤の確認フェーズにかけて、 大変お世話になり、Baltoのおかげで開発スピードが何…

Bitriseで動作するFastlane/Gymでビルドが失敗する問題の解決方法

iOS

Xcode9 / Swift4の対応後、とあるブランチを配布しようとした際に PodsでインストールしたライブラリでProvisioning Profileが参照できずビルドが失敗する現象が発生しました。 以下はBitrise上のログです。(Provisioning Profile等の情報は伏せてあります…

Swift 4とiPhone Xの対応をしました

iOS

iPhone Xの発売まであと1週間ほどとなり、 弊社のiOSアプリ「高速バス比較」でも、Swift4とiPhone Xの対応を行いました。 今回は、Swift3からSwift4への作業内容をまとめていきたいと思います。 準備 Xcode上でビルドするためにコードやライブラリの更新をし…

iOSDC Japan 2017 day1 レポート

前夜祭を含んだ3日間で開催されるiOSの国内カンファレンス、iOSDCに参加してきました。 今回はその1日目(9/16)のレポートです。 今年のiOSDCは最大4つのメインセッションが並行で行われるということで、 前日から公開されていたタイムテーブルを見ながら、…

iOS/Androidアプリのリリースフローとチェックリスト

こんにちは、森脇です。 今回は、弊社でのモバイルアプリのリリースフローと、リリース時に利用しているチェックリストについて、可能な範囲でご紹介したいと思います。 リリースサイクル 決まった期間でのイテレーションを回しているわけではなく、次のリリ…

2016年 新規iOSアプリ開発で採用した技術・プロセス

iOS

弊社では、2016年07月に「高速バス比較」というiOSアプリをリリースしました。 www.bushikaku.net リリースして1ヶ月ほどたちましたので、本記事では、今回の開発で採用した技術・ツール・プロセスを一通りご紹介します。 言語 Swift 2.2を採用しています。 …

RubyでiTunes ConnectからiOSアプリのダウンロード数を自動取得する

iOS

iOSアプリのダウンロード数は、Appleから提供されいてるJavaのツールを使うことでiTunes Connect (以下 iTC) から自動取得できます。 今回は、それをRubyで行う方法をご紹介します。 手順 事前準備 iTCへの接続には、以下の情報が必要です。 iTCへログイン可…

iOSアプリ(Swift)へのGTM導入 & TIPS

iOS

弊社は、2016/07/25(月)に夜行バス・高速バスの最安値検索アプリ『高速バス比較』をリリースしました! www.bushikaku.net 今後は、本アプリで得た知見を随時公開していきたいと考えてます。 今回はまず、Google Tag Manager(以下GTM)の導入と多少のTIPSを紹…

iOSアプリでデバッグ/テスト/リリース環境に応じてアプリを分ける

iOS

iOSアプリ開発において、接続先のサーバー等を切り替えた複数のアプリを用意するのは一般的かと思います。 弊社では、Debug版、Test版、RC版、Release版の4種類に分けています。 環境の種類 それぞれ以下の定義としています。 Debug版 開発者のシミュレータ…

fastlane pemで、iOSのPush通知用証明書を自動生成する

iOS

各所で言われてますが、iOSのPush通知用証明書は作成手順が複雑です。 今回は、証明書を自動作成してくれる「fastlane pem」を紹介します。 pemがあれば、複雑な手順を全く覚える必要がなくなるので、非常に楽になります。 github.com 事前準備 App IDは事前…

Bitrise,fastlane,CrashlyticsでiOSアプリのテスト配布を自動化する

iOS

先日、Crashlyticsを利用したテスト配布について紹介しましたが、CIサービス + fastlane を利用して自動化にも対応しました。 fastlaneについては各所で紹介されていますので、本記事では比較的情報の少ないCIサービス(Bitrise)を中心に紹介します。 techblo…

Fabric Crashlyticsで iOSアプリをテスト配布する

iOS

弊社ではモバイルアプリケーションのBeta配信に、Fabric Crashlyticsを利用しています。 Web上にいくつか記事がありますが、部分的な記載であったり、少し環境が古かったりするので今回まとめました。 2016年3月時点の最新環境である、下記の環境で試してい…