Takahiro Octopress Blog

-1から始める情弱プログラミング

iOS13から対応する『Sign in With Apple』〜サードパーティアカウントでOAuth認証によるログインを備えたアプリで迷わないように。〜

はじめに

今回はiOS13から導入された Sign In with Apple について見ていきたいと思います。

もし、 Facebook / Google / Twitter などのアカウントを用いたログインを可能とする機能をアプリが持っている場合、
Appleが新たに提唱した Sign In with Apple の機能を実装する必要性が出てきたようです。

一方で Facebook / Google / Twitter などの本家のアプリでは恐らく実装する必要はないと思われます。
(ログイン機能を実装するのであれば、 Sign In with Apple が必須という話ではなく、サードパーティ製のログイン機能を持つアプリに限るようです。 )

とは言え、「急にそんなことを言われても対応工数がかかるし、他に実装したい機能もあるし…」と困るエンジニアもいるかもしれません。

ですが、 Apple が要求する以上、 iOSアプリを開発し続ける上で避けては通れない問題ですので、簡単に対応方法を紹介したいと思います。

iOS13におけるプッシュ通知に必要なデバイストークンの取得方法

はじめに

今回はiOS13のプッシュ通知用デバイストークンについて見ていきたいと思います。
Swift に関して言えば、歴史的変遷から、問題のない現場が多いと思うのですが、
Objective-C を中心に活用している現場では注意が必要かもしれません。

具体的には後述しますが、
description を利用してデバイストークンを取得する方式は iOS13 から見直す必要がありそうです。

iOS13から利用できるBackgroundTasksを使ってみよう!

はじめに

今回はiOS13で新たに追加された BackgroundTasks Framework について見ていきたいと思います。
基本的には、 WWDC2019動画の『Advances in App Background Execution』を見ながら実践してみました。

ですが、微妙に躓くところもあったのでメモとして残しておきたいと思います。

iOSアプリ開発に便利なLLDBのp/po/vコマンドを覚えよう!

はじめに

筆者はこれまでLLDBコマンドでは po を利用することが多かったのですが、
WWDC2019のビデオであるLLDB: Beyond “po”を視聴して改めて v コマンドの使いやすさを勉強しました。

今回はその v コマンドについて実例を交えながら見ていきたいと思います。 ( ppo コマンドでなぜか変数の中身が見れない…と思っていた方、必見です。 )

iOSアプリのパフォーマンス計測に『os.signpost』を活用しよう!

はじめに

これまでメソッドの処理時間を計測するには、
Date 関数の timeIntervalSince メソッドを以下のように利用する場面が度々ありました。

1
2
3
4
5
let beginDate = Date()
sample()
let endDate = Date()
let time = endDate.timeIntervalSince(beginDate)
print(time)

しかし実は iOS12 から os.signpost を利用してもっと便利に処理時間を計測することができるようになりました。
本日は os.signpost を利用したことをメモとして記録しておきます。

iOS形態素解析で見る幽白、海藤戦のタブー能力

はじめに

最近、業務で形態素解析の話が出ました。
形態素解析はサーバサイドで実行していることが多く、あまりアプリでは馴染みがないと思っていたのですが、
意外とそんなことはなく、iOSでも簡単に試すことができることを知り、今更驚きました。

因みに、筆者が形態素解析と聞いて真っ先に思い出したのは、
「幽遊白書の海藤戦のタブー能力」でした笑。

今回はiOSでの形態素解析を、海藤戦のタブー能力を織り交ぜつつ説明したいと思います。

シェルスクリプトで特定フォルダ配下のファイル名をチェックしよう!

はじめに

大量のファイルを新規作成して、そのファイルが一定のルールを持った名称であるかどうかをチェックする際に、流石に目視で確認するのは大変過ぎるので、
シェルスクリプトで確認できるようにしてみました。

その時のメモとして残しておこうと思います。

Xcodeの環境変数を有効に利用しよう!

はじめに

iOSアプリを開発する中で避けて通れないのが Xcode 周りの扱いです。
とは言え、個人でのアプリ開発であれば、そこまで工夫せずともビルド待ち時間に困ったりすることはないかもしれません。
ですが、業務で扱うような大規模なアプリ開発となると、やはり様々な工夫が必要になることでしょう。

その中の一つに『 Xcode の環境変数を有効に利用すること』が上げられます。
今回はその『 Xcode の環境変数』に関するメモ書きを残しておこうと思います。

GitHubとSlackを連携させて、効率の良いPullRequestのレビューを実行しよう!

はじめに

今回は GitHubSlack の連携を自作でやってみる話の備忘録です。

と言っても、手法は本当に簡易で、

  • GitHub 上で Webhook を設定する
  • GitHub からの POSTリクエスト を受け付けるサーバを用意する
  • 受け付けた POSTリクエスト から各種値を抽出して、Slackに通知する

を対応することで実現することが可能です。
それでは早速見ていきましょう。