ボクココ

個人開発に関するテックブログ

iOS

SwiftUI4での@Published警告に対応した話

iOS

ども、@kimihom です。 今年ももう終わりですね。 去年、ボクココで書いた記事数は39記事でした。そして、今年も39時目となるこの記事を公開します。サンキュー! 大量の警告通知 今年、SwiftUI4がリリースされ、SwiftUI3で書いていたコードから大量の警告が…

Swift での HTTPS での音声再生をさせる方法

iOS

ども、@kimihom です。 SwiftUI でアプリ開発をしていると、その情報はもう古かったりして正しく動作しないことが多々あるので、執筆した現時点で動作を確認できたコードとともに解説していこうと思う。 やりたいこと API で取ってきた 音声URLを再生させる …

SwiftUIでのプレビュー機能を使えるようにしよう

iOS

ども、@kimihom です。 iOSアプリ開発でSwiftUIを使っていると、XcodeのCanvas機能を利用することができる。これを使うとわざわざエミュレーターやiPhoneで見ずとも、UIの調整が可能だ。 最初のセットアップさえうまくできれば、かなり便利に利用できるので…

Swift アプリでどんなケースでもログを出す方法

iOS

ども、@kimihom です。 iOSアプリの開発をしていると、以下のようなケースでログが見れないことに不便さを感じることがある。 バックグラウンドで動作している時のログを見たい iOS の電源を再起動した後のログを見たい その他 アプリを開いた状態 以外での…

iOS CallKit と Twilio Voice iOS 徹底攻略

ども、@kimihom です。 先日の TwilioJP-UG Online Vol.6 はモバイル特集。私からは iOS CallKit と Twilio Voice iOS 徹底攻略として話をしたので、こちらの内容をブログに記しておこう。 なお、今回のスライドはかなりコアな iOS CallKit 内容となっており…

SwiftUI で快適なログインUIを作ろう

iOS

ども、@kimihom です。 SwiftUI を使ってログインをより快適にする対応をしたので、その実施内容についてまとめておこう。 テキストフォーカス ログインをしようとするページの場合、ほぼ必ず最初はメールアドレスなどの入力から始まることだろう。iOS の場…

Twilio Meetup Vol.4 の LT 補足

ども、@kimihom です。 先日の TwilioJP-UG Online Vol.4 のイベントで、久々に話をさせてもらったので、その内容と所感について記す。 SIGNAL での Twilio Live 私は早めに切り上げさせてもらったのだが、序盤の話の中では 今回の SIGNAL で新しく出てきた…

iOS の Launch Screen の伸び対応

iOS

ども、@kimihom です。 iOS 開発をしてて、Launch Screen の対応が案外うまくいかなかったので、同じ思いをする人が減ることを祈りつつ記事として残す。 問題 2021 年時点で iOS アプリの起動時のスクリーン(Launch Screen) は、iOS プロジェクト内にある In…

iOS CallKit と Twilio Voice iOS 実装

ども、@kimihom です。 ここ半年くらいずっとやってきた CallKit を使った開発について、1つ記事にしてみよう。 参考 はじめよう - Twilio TwilioVoiceSDK Class Reference Sansan音声通話の裏側 【前編:CallKit/PushKit 】 - Sansan Builders Blog Sansan…

SwiftUI と Combine による REST API 通信

iOS

ども、@kimihom です。 SwiftUI を使って REST API 通信をしてアプリを作っていく上で、一通りまとまってる方法がなかなか見つからなかったので、現在の実装をまとめておく。 Combine を使った定義 Combine はあくまで 非同期イベントをハンドリングするフレ…

SwiftUI での プロパティオブサーバの使いどき

iOS

ども、@kimihom です。 引き続き iOS の開発をしているけども、その中でプロパティオブサーバについて実際の利用例を示しながら便利さについて記してみる。 fullScreenCover での画面切り替え 特定のタイミングで特定の別画面を表示させたい時に、fullScreen…

SwiftUI での オプショナル(Optional)型の対応

iOS

ども、@kimihom です。 ここ最近は Swift をいじっている。実装してみると、最初はこの Optional 型のコード意識の面倒さを感じていたが、慣れてくると便利だなと思えるようになってきた。 自分の認識をまとめる上でも、記事として記しておこう。 Optional …

Twilio VoIP iOS SDK への入門

ども、@kimihom です。 Twilio には iOS で電話ができる iOS SDK が存在する。これの魅力と触り始めについて記しておく。 Twilio VoIP iOS SDK 概要 公式サイトは以下にある。 iOS SDK - Twilio では上記 Twilio VoIP iOS SDK を使うと何が嬉しいのか。大き…

SwiftUI で print が動作しない理由

iOS

ども、@kimihom です。 SwiftUI で開発してて、最も大きな謎であった print の出力が動かない理由がようやく分かったのでまとめておく。 SwiftUI の基本記法 単にテキスト表示させる SwiftUI は import SwiftUI struct ContentView: View { var body: some V…

iOS / Swift 開発のハードル

iOS

ども、@kimihom です。 Swift での iOS アプリ開発で苦戦している最中だ。少しずつ進んでいるけど、そこで起きている現在のハードルについて記してみよう。 バージョンアップが激しい まず、2年前以上の Swift 関連記事をググって見つけても、ほとんどは役に…

MacBook Pro M1 を買ってみた感想

iOS

ども、@kimihom です。 先日から MacBook Pro の M1 チップ搭載のものを使い始めたので、その感想をつらつらと書く。 購入の背景 まず、前まで使っていた Mac は、MacBoook Air 2013 年版のものだった。買う前までは問題なくこれからも使い続ける気が満々だ…

Swift の型と省略記法を学ぶ

iOS

ども、@kimihom です。 まだ Swift を学習中の状態だ。Swift で実際に書かれたコードを読むと、「!?なんだこの書き方は」っていう謎の文法のソースコードをよく見る。そこをスルーせず、ちゃんと理解することで、心地よく Swift コードを読むことができよ…

Swift 学習中の個人的考察

iOS

ども、@kimihom です。 以下の本でまず Swift の言語を学んでいる。一通り読みきったので、Swift の感想を書こうかと思う。 コンパイルによる厳密性 最近、プログラミング言語全体でよく出てくる話が、コンパイルで事前にエラー把握し、エラーの起きづらいプ…

スマホアプリ開発に先駆けて

ども、@kimihom です。 2021 年の新しい挑戦の1つとして、スマホアプリ開発がある。 私自身の経験を伝えると、6,7年前ごろに Android アプリで Java で開発していたことがある。これは仕事でガッツリ実装してたので、だいぶ詳しくはなかったが、それでもだい…

Firebase はアプリ開発者のヒーローとなるか

ども、@kimihom です。 今日 Firebase の勉強会に行った。あらかじめ動画とかで Firebase の予習はしてたんだけど、今回の勉強会で実際のユースケースとか具体的な使い方を知ったことでよりイメージが湧いた。そこで感じた Firebase について今回はちょろっ…

iOS Swift プッシュ通知を受け取ってからViewControllerに情報を渡す

iOS

久々の iOS のトピック。今回はiOSで初めてプッシュ通知(Push Notification)を利用したので、それのメモ。 プッシュ通知について サーバーの任意のタイミングで情報を端末に送信する仕組み。これぞアプリのできること、として欠かせない機能だ。何か最新ニュ…

表参道で Swift 学習者向けの発表をしてきました

iOS

久々にスライド作ったなー。 今日は表参道で Swift 勉強会的なのがあったので、ゆるい感じで発表してきました。 最近 Swift 関連書籍は出てるけど入門者向けの本しかなくて、それで詰まっている人は多いと思う。そんな方のためのスライドを作ってみたので、…

Swift Style Guide が Swift 書く前に参考になる

iOS

最近は Swift を再勉強中! 一度アプリをがっつり作ったことがあって、それでもう一度Swiftを学んでいる。 そうすると開発中にモヤモヤしていたところが解決される時があって、いい感じ。 今回はコーディング規約について調べてみたのでメモ。 Github をはじ…

iOS8 で画像をアルバム or カメラで取得し、S3 へアップロードする

iOS

だいぶお決まりな処理な気がするのでまとめてみる。 iOS8 からは Photos Framework という画像を扱うフレームワークがあり、これを利用していく。 UIImagePickerController を使えば、画像選択まではそれなりにうまくいくのだが、 S3 へアップロードとなると…

UITableView の Accessory 系が全く表示されない

iOS

iOS アプリ開発で意外に詰まるところになるような気がしたのでメモ。UITableView を配置し、右側に矢印出したい。こんな感じ。 以下のようなコードを書いた。 func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UIT…

初めての iPhone アプリリリース

iOS

ついに iPhone アプリをリリースした。既に Android アプリで2万ダウンロード突破中のアプリの iPhone版だ。 2つのプラットフォーム対応ということで、特設サイトも作った。このトップ画像が個人的に気に入っている。w 今のところ日本語、英語、フランス語…

Swift で xib でレイアウトされたモーダルを出す

iOS

iOSのモーダルは Android でいうActivity#startActivityForResult みたいなやつ。一旦別画面で何かやってもらって、その結果を呼び出し元で取得するようなケースで使える。 ネットで調べてもサンプルがObejctive-C ばかりだったので、Swift での実装方法をま…

UITableViewをカスタマイズして表示する流れ

iOS

これは今後何度も使いそうになるのでメモ。 今回やることは、UITableViewの各セルの内容を独自のUIにしつつ、そのデータをネットワーク経由で取得するというもの。 Swift, Xcode 6.1。 UITableView を設置 いつも通りStoryBoardからUITableViewとUITableView…

Swift と CococaPods の連携

iOS

Swift に移ってもCocoaPods 使うのが一般的なのかな?とりあえず外部ライブラリにはCocoapod を入れたインストール方法が書かれているから、これ導入しないとObj-Cの外部ライブラリは利用できないから入れざるを得ない。 今後、Swift プロジェクト用の外部ラ…

XCode6 で preview をする

iOS

初めての iOS ネタ。これからしばらくSwift勉強してく。 さて、以下の本を読んでいて、AutoLayout をプレビューで表示できるということで試してみて詰まった。 解決策 プレビューにするには、Assistant Editor にしなければならないようだ。 ピンクで囲った…