Corredor

ウェブ、プログラミングの勉強メモ。

iOS

iOS ショートカットで閲覧中のウェブページを複数 SNS にマルチポストする

自分が見たウェブページの情報を各種 SNS に同時に一括投稿する、マルチポストを行う iOS ショートカットを作ってみた。 経緯 アプリごとに異なる「受け入れる」機能の挙動 作ったショートカットはこんな感じ Safari 以外のアプリから共有した時の「ページタ…

iOS ショートカットアプリでよく使うであろうアクションを紹介

iOS のショートカットアプリを使って、ちょっとリッチなブックマークレットみたいな使い方をしている。今回は自分がよく使っているアクションを紹介する。 よく使うアクション名を列挙する 「受け入れる」アクション ショートカットの作り方のヒント よく使…

iOS の「ショートカット」アプリが最強!自作 Web アプリとの通信に使ってみた

オレオレ・マイクロ・ブログ オレオレ・ブックマーク という2つの Web アプリを作って、自分だけで使っている。 POST メソッドでフォーム送信を受け付ける他、GET メソッドで受け取った URL パラメータも「投稿」処理に使うよう実装したりしているので、ブッ…

iOS のホーム画面にメモ付きのアイコンを置ける「iOS Memo Icon Generator」を作った

「ショートカットメモ帳」というアプリがあり、このアプリの仕組みを見て似たようなモノを作った。 参考:‎「ショートカットメモ帳」をApp Storeで このアプリは、iOS の「ホーム画面に追加」機能と、DataURL の仕組みを利用して、「オリジナルのメモが書か…

iOS 版 Google Drive で Markdown が開けないので Notebooks というアプリに移動して閲覧する

iOS 版の Google Drive で、拡張子 .md (Markdown) のファイルをプレビューできない。中身はテキストファイルなのに、テキストファイルとしては表示してくれないようだ。 Google Drive から「ファイルのコピーを送信」という操作ができるので、Markdown ファ…

iPhone 11 Pro Max のカメラ機能の細かい仕様・Windows に取込・Google Photo に同期する時の注意点などなど

iPhone 11 Pro Max のカメラアプリで楽しんでいる。コレまでにない新しい機能も多くて楽しいのだが、Windows PC に取り込む時に注意点が必要だったり、Google Photo に同期する時に気になったことがあったので、色々と調べてみた。 iPhone 11 Pro Max のカメ…

iOS 13 AVCaptureMultiCamSession を使った複数カメラでの同時ビデオ録画 iPhone アプリを作った

iOS 13 から登場した AVCaptureMultiCamSession という API を使うと、1台の iPhone に搭載されている複数のカメラデバイスを同時に使用できる。例えば、バックの標準カメラで被写体を写しながら、フロントカメラで撮影者自身も同時に撮影したり、といった感…

iPhone 向けの Photoshop 関連アプリがいくつかあるので整理する

iPhone で撮った画像をブログ向けに編集して、そのままアップロードまで iPhone オンリーで完結したいと思った。 そこで iOS アプリを調べてみると、Adobe から「Photoshop」と名の付くアプリがいくつか出ていた。 どれがどう違うのか全然分からないので、で…

iPhone からサーバに SSH 接続するには「Termius」アプリが簡単だった

普段 PC から SSH 接続して作業している管理用サーバがある。時々、出先で動作ログを確認したりしたくなるので、iPhone から SSH 接続できたりしないか調べてみた。 iOS 向けの SSH コンソールアプリはいくつかあるのだが、無料で簡単に使えそうなのは「Term…

Xcode で iOS アプリに関する警告が出ているので見てみる

iPhone 向けのアプリを作っていて、Xcode v10.1 でアイコンを設定して、iPhone では上手く表示されていたものの、Xcode 上に以下の2つの警告が出ていた。 A 76x76@2x app icon is required for iPad apps targeting iOS 7.0 and later A 83.5x83.5@2x app ic…

Neo's Normalize で指定するフォントを見直して v1.0.11 をリリースした

少し前に、Chrome ブラウザで @font-face による游ゴシック Medium 指定が効かなくなっていたことに気付き、色々調査した記事を書いた。 neos21.hatenablog.com この調査を通じて、Neo's Normalize のフォント指定を見直したので、その内容を紹介する。 コレ…

撮影した動画ファイルを iOS アプリ内に保存し、任意のタイミングでフォトライブラリに書き出す Swift コード

以前、スーパースロー動画を撮るための Swift コードを紹介した。 neos21.hatenablog.com この時は AVCaptureSession#startRunning() までで、実際の動画の撮影については触れていなかった。そこで今回は、このコードを利用した動画撮影のコードを掲載してお…

iOS アプリにバッジを付与する Swift コード

iOS アプリにバッジを付与する。よくあるネタなのだが、iOS や Swift の進化により、ググっても情報の鮮度が様々で分かりづらかったので、本稿執筆時点でのやり方を紹介する。 検証環境 いきなりコード 参考文献 検証環境 macOS Mojave Xcode v10.1 Swift v4…

iOS アプリのプロビジョニングプロファイルの有効期限をアプリ内で取得・表示する Swift コード

無料の Apple Developers Program アカウントを使っている場合、iOS にインストールした開発用アプリの有効期限は7日間で切れてしまう。 neos21.hatenablog.com この有効期限までの残日数を、アプリ内で取得・表示させられないか調べてみた。 検証環境 macOS…

iOS アプリの名前は動的に変えられないが、アイコンは動的に変えられる

iOS

iOS アプリの、ホーム画面に表示されているアプリ名を動的に変更できないかな?と調べていた。通知に合わせて文言を変えたり、ホーム画面をメモ的に使えるようになるかな?とか考えて調べたのだが、どうもアプリ名はビルド後に動的に変更する術はないみたい…

Xcode10 にアップデートしてから Cordova ビルドが失敗する

iOS12 に対応するため Xcode10 にアップデートしたら、cordova build (および cordova emulate・cordova run) が失敗するようになった。 error: archive not found at path '/Users/Neo/example/platforms/ios/example.xcarchive' ** EXPORT FAILED ** (node…

Xcode10・iOS12 にアップデートしたら Cordova アプリの UI が英語表現になった

事象 調査 原因特定 対処法 解決 事象 Cordova アプリ内で、input type="date" を使っている箇所がある。input type="date" は、iOS の場合は年月日をドラムロールから選択する UI で表示され、通常の日本語環境では YYYY / MM / DD 形式で表示され、ドラム…

「Google バックアップと同期」アプリの仕様が分かりにくかったのでまとめ

元「Google ドライブ」アプリが「Google バックアップと同期」というアプリに変わり、Google ドライブの同期機能と、「Google フォト」の同期機能を兼ね備えるようになった。 Windows PC の特定のディレクトリ配下にある画像のバックアップのため、容量無制…

iOS 実機から MacBook のローカルホストを参照する方法

MacBook 上で http://localhost:9999/ を立ち上げていて、USB 接続している iPhone からそれを参照したい場合。iPhone 上で localhost:9999 と指定しても、どこのローカルホストやねんとなるので、違う指定の仕方をする。 まず Mac の「システム環境設定」→…

iPhone6Plus では 120fps の AVFrameRateRange が取得できなかった

以前、iOS アプリで 120fps とか 240fps とかの動画を撮るためのコードを紹介した。 neos21.hatenablog.com このコード、手持ちの iPhone7Plus と iPhoneSE では上手く動いて 120fps のモードが (iPhone7Plus では 240fps のモードも) 選べて録画できていた…

Cordova iOS アプリで AppGroups を使ってみる:cordova-appgroups-dates

Cordova ベースのアプリで、iOS の AppGroups という機能を使ってみる。 AppGroups とは AppGroups とは、同一の開発者が提供する複数のアプリ間で情報を連携できる機能。利用するには Apple Developer Program への登録が必要となる。Apple ID に登録しただ…

Xcode で Swift アプリが突然うまくビルドできなくなったら

Swift で実装した iOS アプリを Xcode で入れ直そうとしたら、急に以下のようなエラーが出るようになった。エラーが出るようになった前後で日をまたいだだけで、コード自体は変更していなかったのに、だ。 dyld: Library not loaded: @rpath/libswiftAVFound…

Swift iOS アプリで別スレッドで非同期処理を行う

環境情報 対象 iOS バージョン:v11.3 Xcode:v9.3 (9E145) Swift:v4.1 (swiftlang-902.0.48 clang-902.0.37.1) Swift で AVCaptureSession を扱う時とかに、AVCaptureSession.startRunning() の処理が重たいと感じたことがあるかもしれない。 そんな時は、…

Swift iOS アプリで UserDefaults を使ってデータを保存したり読み込んだりする

アプリを開発していて、「最後に選択していた UITabBarItem がどれだったか」といった情報を記録していて、アプリを再起動した時もその情報を参照したくなった。 そこで、アプリ内にちょっとしたデータを保存できる UserDefaults という機能を使って、任意の…

Swift iOS アプリでスプラッシュスクリーンを使わないようにしたり・View Controller の背景色を変えたり

Swift 製の iOS アプリでスプラッシュスクリーンの設定をしたり、スプラッシュスクリーンを使わないようにしたりする方法。その中で、View Controller 全体の背景色の変更方法も紹介。 環境情報 スプラッシュスクリーンの設定 スプラッシュスクリーンをなく…

Swift iOS アプリで Storyboard を使った UITabBar の制御

Storyboard を使って UITabBar を配置し、タブバーのボタンごとに処理をさせてみた。 環境情報 Storyboard で UITabBar を配置する Tab Bar Item を編集する Tab Bar Item ごとに処理を振り分ける 環境情報 対象 iOS バージョン:v11.3 Xcode:v9.3 (9E145) …

Swift iOS アプリでバックグラウンド移行時や復帰時のイベントで任意の処理を行う

iOS アプリでよくある、 バックグラウンド移行時に何か処理をする フォアグラウンド復帰時に何か処理をする を実現する方法のまとめ。 環境情報 用意されているイベントの種類 アプリ全体でイベント定義するには AppDelegate.swift を使う ViewController 内…

Swift iOS アプリで画面の明るさを取得・変更する

Swift 4・iOS 11 で画面の明るさを取得したり、変更したりする方法。 環境情報 明るさの取得方法 明るさの変更方法 環境情報 対象 iOS バージョン:v11.3 Xcode:v9.3 (9E145) Swift:v4.1 (swiftlang-902.0.48 clang-902.0.37.1) 明るさの取得方法 明るさを…

Swift iOS アプリでステータスバーを非表示にする

Swift iOS アプリでステータスバーを非表示にするための設定まとめ。 環境情報 対象 iOS バージョン:v11.3 Xcode:v9.3 (9E145) Swift:v4.1 (swiftlang-902.0.48 clang-902.0.37.1) 起動時にステータスバーを非表示にする Xcode プロジェクトを開き、「Gen…

iOS のユーザデータにアクセスするための Info.plist への許可設定まとめ

iOS アプリを作る時に、カメラや連絡先など、ユーザデータにアクセスする際は、Info.plist にキーと使用目的を明記する必要がある。 このキーを忘れっぽいので、自分用にまとめる。 Key Key (Xcode Name) 対象操作 NSCameraUsageDescription Privacy - Camer…