麦芽を支える技術

麦芽(ばくが、英語:malt)とは、麦、特に大麦の種子を発芽させたもので、ビール、ウイスキー、水飴の原料となる。(Wikipediaより)

BitriseへのiOSアプリ追加手順(外部アカウント連携なしで)

まぁ今更といえば今更だけど、ちょうどこの作業して社内共有する機会あったので、キャプチャ取って整理した。

やること

Bitriseへの新規アプリ追加

通常だとアプリ追加手順内でGitHub、Bitbucket、GitLabなどのリポジトリサービスとアカウント連携することで簡単に追加できるが、今回はアカウント連携せずに手動でプライベートなGitリポジトリiOSアプリをBitriseへ追加する。

共有で利用されるBitriseと個人のリポジトリサービスアカウントとが紐づいちゃうの困る、という場面などで使えるんじゃないかなと。

前提

  • 既に対象のiOSプロジェクトのプライベートリポジトリが存在すること
  • 既にBitriseアカウントを持っていること
続きを読む

Dialogflowを使ってノンプログラミングで音声アシスタントを作ろう

はじめに

最近の流行りに乗ってGoogle Home Mini買ってみたので、なんか音声アシスタントアプリ作りたいなと思って調べた内容。

ちなみにこのエントリ内容は先日こちらの勉強会でLTしてきたもの。

lets-go-study-meeting.connpass.com

LT5分枠で10分超という、そもそもLT向きじゃない内容なのであった。。。

本題

こちらです。

続きを読む

React Native開発環境整備メモ

以前ちょっとアルバイト的な感じでReact Native触る機会があったものの、既存プロジェクトの改修という形で入ったこともあって初期の環境構築作業などちゃんとまとめておらず、いざ他の人にも教えよう!という時に困ってしまったので、だいぶ今更ながら基本的な作業をまとめるなど。

React Nativeとは

既に世の中にいろんな資料出回ってるので、そちらを参照のこと。

React Native 入門

続きを読む

tvOSアプリのIn-App Purchaseで購入・リストア要求時にAppStore側からの応答が受け取れない問題

実際のところこの問題が発生するのは動作環境にも寄る気もするけど、tvOSアプリの実機デバッグで2台のAppleTV端末で同事象が発生したので、tvOSだと起こりやすいとかあるのかもしれない。

概要

In-App Purchaseで購入やリストアをする場合、ざっくり書くと以下のような流れでAppStoreとやりとりしながら処理する。

購入時

  1. プロダクトIDで初期化したSKProductsRequestインスタンス(要求オブジェクト)を生成
  2. その要求オブジェクトのstart()メソッドを実行し、指定したプロダクトIDが有効なプロダクトかAppStoreに問い合わせ
  3. SKProductsRequestDelegateプロトコルを実装した処理でそのAppStoreからの応答を受け取る
  4. 応答に問題なければトランザクションキュー(SKPaymentQueue)に支払い要求を追加し、AppStoreに送信
  5. SKPaymentTransactionObserverプロトコルを実装したトランザクションキューのオブザーバで応答を受け取る
  6. 応答結果に応じた購入処理を行う
続きを読む

iPhoneXから表示されるHome Indicatorの表示/非表示をViewController毎に設定したい

ちょいとこのHome Indicatorを隠したい要件があって、まだ世の中にHome Indicatorの記事出回ってないようなのでメモ。

Home Indicatorとは

iPhoneXの画面下部に表示されるバー。この辺のiPhoneX画像見てもらうとありますよねー。

https://developer.apple.com/ios/human-interface-guidelines/overview/iphone-x/

iPhoneXからは物理ホームボタンがなくなって、画面下部からのスワイプ操作でホーム画面に戻すので、その操作を連想させるための画面コントロールらしい。

続きを読む

fastlane matchを使ったiOS証明書、Provisioning Profileの導入管理

前の会社の技術ブログに書いたやつだけど、技術ブログ閉鎖されたっぽいんで、前もってバックアップしといたやつを転記。


iOSアプリ開発に必要な証明書とProvisioning Profile

さて、iOSアプリ開発の鬼門とも言われるCode Signing&Provisioning。最近はXcodeが改修されてきて、多くの処理が自動で行ってくれるようにはなってきたので、個人開発ではさほど大きな問題が発生しにくくなってきたようですが、証明書・秘密鍵の管理が個人のMacに依存したり、そもそも先述したXcodeの自動処理によって他の開発者に予期せぬ影響を与えたりと、相変わらず組織開発ではやりづらさがあります。

というわけで今回のエントリでは、この開発に必要な証明書やProvisioning Profileを一元管理し、複数の開発者でシェアできるようにするツールをご紹介します!

続きを読む

AppliveryのDistribution sitesで開発中のiOS/Androidアプリをお手軽にテスター配布

前の会社の技術ブログに書いたやつだけど、技術ブログ閉鎖されたっぽいんで、前もってバックアップしといたやつを転記。


アプリ開発でこんなことありませんか?

iOS/Androidアプリの開発をしていて、こういうことってありませんか?ありますよね?今は無くても今後はあるかもしれませんよね?

  • ちょっとしたお試しアプリを作ってみたので、身内の人に使ってもらいたい
  • 外注先からの納品アプリを社内のテスターに配布したい
  • ↑の逆で、現在受託開発をしていて、納品先に開発中のアプリをちょっと使ってもらいたい

ちなみに弊社のアプリ開発では先のエントリで書いた通り、基本的にテスター配布は「Crashlytics Beta」を利用しています。

asmz.hatenablog.jp

なので、「じゃあ、それで開発中のアプリも配布できんじゃん(、何言ってんのこの呑んだくれが!)」と言われそうですが、まぁちょっと落ち着いてください。。。

Crashlyticsでテスター配布するためには、CrashlyticsのSDKをアプリに導入する必要があります。 でも例えば、「ちょっとしたお試しアプリ」だと、まだSDKを組み込む必要があるレベルでなかったり、「外注先からの納品アプリ」とかだと、成果物としてipaファイルで納品されたりしてそもそもSDKを組み込む余地すらない場合もあります。

で、Androidアプリなんかは基本的にapkファイルをメールなり何なりで送れば、受け取った側がそのままインストールできるのでほとんど問題にならないのですが、iOSアプリだとそうはいきません。

  • iOS Dev CenterへのUDID登録は必須
  • ipaファイルをそのまま開いてインストールできず、iTunesからUSB経由で実機インストール
  • Webからダウンロードさせたいなら、規定のplistとそれを参照するhtmlを置いた自前のWebページを用意し、配布したい人に見えるような場所に公開

複数名分の端末を借りてちまちまUSBインストールとかやってられませんし、Web公開もやや手間ですよねー。

そんな時、お手軽に開発中アプリを複数名に配布する方法を今回ご紹介いたします。

続きを読む