iOS関連のことを調べてみた2022年06月12日

iOS関連のことを調べてみた2022年06月12日

Unable to boot simulator

`XCode` > `Windows` > `Device and Simulators`
でシミュレーターの詳細を確認

![スクリーンショット 2022-06-12 8.43.10.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/239663/6df5d51e-b2a8-804d-3171-118d12812d46.png)

`iOS 15.5` となっている。

続いて、XCodeのバージョンの方も `15.5` に合わせるとシミュレーターが起動できるようになる

![スクリーンショット 2022-06-12 8.44.18.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/239663/228e51a8-972e-8d75-2533-ea04a4d54479.png)

元記事を表示

【iOS】アクセシビリティ(VoiceOver)対応チートシート

# 目次
– [はじめに](#はじめに)
– [読み上げテキストの設定](#読み上げテキストの設定)
– [accessibilityTraitsの指定と読み方](#accessibilitytraitsの指定と読み方)
– [意図しない読み方がされた時の対処法](#意図しない読み方がされた時の対処法)
– [フォーカス順序を変えたい](#フォーカス順序を変えたい)
– [ユーザーのアクションをきっかけにフォーカスを変えたい](#ユーザーのアクションをきっかけにフォーカスを変えたい)
– [デバッグ用の便利設定](#デバッグ用の便利設定)
– [さいごに](#さいごに)

# はじめに
iOSアプリでVoiceOver対応を行なったので、その知見をまとめました。(今後も随時更新していきます。)
VoiceOverについての詳細は、[Appleのアクセシビリティに関するページ](https://www.apple.com/jp/accessibility/vision/)をご覧ください。

# 読み上げテキストの設定
VoiceOverの読み上げテキストは以下の方法でシンプルに設定できま

元記事を表示

【SwiftUI】Extra argument in callの対処法

# はじめに
`Extra argument in call`はSwiftUIにはあるあるで、よく発生します。

# 原因
SwiftUIはView要素を9個以上追加できないようになっています。
![スクリーンショット 2022-06-11 15.37.30.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1745371/4461b888-9e5f-da8e-1d48-1c9171aa986f.png)

# 解決策
Viewを`Group`でグループ化して要素をまとめます。
“`swift
import SwiftUI

struct ContentView: View {
var body: some View {
VStack {
Group {
Text(“Hello, world!”)
Text(“Hello, world!”)
Text(“Hello

元記事を表示

Flutter: XCode error “Unable to boot the Simulator”

## 概要

任意のsimulatorを起動しようとすると次のエラーが出る

“`
Flutter: XCode error “Unable to boot the Simulator”
“`

## 対処法

1. 次のページを開く [このMacについて > ストレージ > 管理 > デベロッパ]
1. 全てのコンテンツを消す

以上です。

## 参考文献

https://stackoverflow.com/questions/72229589/flutter-xcode-error-unable-to-boot-the-simulator

元記事を表示

TCAで親子・孫・ひ孫・玄孫…でstateを同期させる

## まえがき

The Composable Architecture(以下からTCA)で、
親子や孫..のStateの共有をノード間で自動的に同期するためには
どうすればよいか備忘録として書き留めます。

## おおまかに何がやりたいか

孫で更新された情報と、
親で更新された共有データ親に即座に更新される状態を作りたい。
TCAでSingletonを使うようなイメージ。

## 手順

### 共通に持ちたいSharedDataを定義

“` swift
struct SharedData: Equatable {
var isFirstUser: Bool = false
}

“`

共有の情報をSharedDataとして定義し、

“` swift
struct AppState: Equatable {
var sharedData: SharedData
var _homeState: HomeState
}

extension AppState {
var homeState: HomeState {
get {

元記事を表示

【SwiftUI】Buttonのスタイル

# iOS
## automatic
![Simulator Screen Shot – iPhone 12 – 2022-06-10 at 14.07.19.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1745371/31b86483-ca1a-f20b-419a-670d93c8d919.png)
“`swift
struct ContentView: View {
var body: some View {
List {
Button(action: {
print(“automatic”)
}) {
Text(“テスト”)
}
.buttonStyle(.automatic)
}
}
}
“`
:::note info
セル全体がボタンになっています。
:::

## bordered

元記事を表示

[iOS/SwiftUI] ReSwift + MVVM で副作用を管理する

単一方向のデータフローのアーキテクチャを iOS および Swift で実現する [ReSwift](https://github.com/ReSwift/ReSwift) において、アクションを発行してデータ更新と共にイベントを発火させたい。

あるイベントを発火させるには、通常であれば、呼び出す・表示させるコンポーネントでイベント制御を定義しますが、これは呼び出し箇所やパターンにより複雑になる場合あります。単一のデータフローの仕組みに乗って制御できれば、シンプルに制御できるのでは?。

今回は、アクションを発行して、トースト [ToastUI](https://github.com/quanshousio/ToastUI) を表示する例をまとめました。サンプルコードは [こちら](https://github.com/mitsuharu/FindGitHubRep_Swift/tree/2022-06-10) で参照できます。

![Jun-10-2022 15-06-57.gif](https://qiita-image-store.s3.ap-northeast-1.amazo

元記事を表示

Xcodeのビルド時間を改善するために足掻いてみた話(PodBuilder)

# はじめに

「build待ちです」

エンジニアとしてキャリアをスタートさせてから2ヶ月。一番発している言葉かもしれません。
一日の中でビルドを待つ時間が長すぎるのをなんとかしたいので、足掻いてみようと思いました。

## やりたいこと

クリーンビルドの時間を1秒でも早くしたい

## 環境

M1 MacbookAir 8GB
macOS Big Sur(11.6.2)
Xcode 13.1
Swift 5.5.1
自社サービス「 [sportsbull](URL “https://apps.apple.com/jp/app/%E3%82%B9%E3%83%9D%E3%83%BC%E3%83%84%E3%83%96%E3%83%AB-%E3%82%B9%E3%83%9D%E3%83%96%E3%83%AB/id1086719653”) 」

## 現状を調べる

以下のサイトに処理が遅くなる関数を計測する方法が載っていました。

https://developers.wonderpla.net/entry/2021/10/27/110034

以下のコマンド打つだけで合計時間は

元記事を表示

【APNs】プッシュ通知の証明書を更新する。

iOSアプリでプッシュ通知を飛ばすにはAppleDeveloperにて色々設定をしてp12ファイルやらpemファイルやらを用意しないといけないのですが、1年に1回の作業なんて覚えている訳も無く、折角なので備忘録として残す事にしました。

[キーチェーンからcerファイルの作成(Mac)]
Finder→アプリケーション→ユーティリティ→キーチェーンアクセスでキーチェーンアクセスを立ち上げる。
メニューのキーチェーンアクセス→証明書アシスタント→認証局に証明書を要求を選択
ユーザのメールアドレスにAppleDeveloperで使用しているメアドを入れ、要求の処理をディスクに保存、鍵ペア情報を指定にし、続けるボタンを押す。
後は最後までボタン押していけば良い。
これでcerファイルは完成。

[AppleDeveloperでの更新処理(Web)]
Certificates,Identifiers&Profiles→Identifiers→NAME一覧からpush通知で使っているNAMEのものを選択→pushNotificationsの横にあるEditを選択

Production SSL

元記事を表示

【UIKit】ImageViewerというライブラリを使ってみた

# はじめに

こちらの画像の拡大表示ができるライブラリを使ってみました。

https://github.com/Krisiacik/ImageViewer

# 環境
Xcode 13.3
Swift 5.6

# 内容
このような写真一覧で画像をタップすると拡大表示する実装をライブラリを使ってやっていきたいと思いました。
 

まずは、ライブラリのインストール。
Cocoapodsで最新バージョン`6.0.0`を入れたところバグがあり動き

元記事を表示

【Unity】WebGL + iOSで動画が閲覧できない場合に試してみること

# はじめに
WebGL + iOS環境でのみ動画が閲覧できない問題でハマってしまった際に調べた内容を記録します。

# デバッグ方法
MacやWindowsのブラウザアプリと同様にデベロッパーツールを利用することができます。
尚、デバッグにはMacが必要になります。

https://qiita.com/unsoluble_sugar/items/2a3d06631a6b8259dc44

# 確認項目
### 1. VideoClip
Unity公式によるとVideoClipからのビデオ再生には対応していませんので、URLを指定する方法で動画を再生することになります。

https://docs.unity3d.com/ja/2019.4/Manual/VideoSources-FileCompatibility.html

### 2. CORS(Cross-Origin Resouces Sharing)
動画を配置しているサーバーの設定で他ドメインのサーバーからのメディアのアクセスをブロックする様に設定されている場合は許可する必要があります。
同じドメインに配置する場合は気

元記事を表示

appiumのiOS用テスト環境を構築する

ネイティブアプリ向けのUIテスト環境であるappiumをiOS環境へ導入しようしたところ、iOS向け環境構築のまとまったドキュメントがなかったため、ここにまとめます。

# 前提
前提として、iOSのサンプルアプリ程度を作成できる程度の知識・スキルを読者に要求します。ご容赦ください。

# appiumとは
appiumは、WebDriverを使用してAndroidまたはiOSでネイティブアプリケーション、モバイルWebアプリケーション、およびハイブリッドアプリケーションをテストするためのオープンソース自動化ツールです。
仕組みについては、[Appiumの仕組みと使い方](https://qiita.com/k5n/items/899cf40a0021a6a92efd)や[Appium 2.0 ではじめるモバイルアプリテスト](https://www.slideshare.net/MasayukiWakizaka/appium-20)をご参考ください。

# 実行環境
– macOS 12.0.1
– XCode 13.3.1

## 環境構築手順
macOSやXcodeといったiOS

元記事を表示

WWDC22、iOS 16:SwiftUIでChartsフレームワークを使ってチャートを作成する

:::note
※一般公開されているSession/Documentation/Sample Codeページだけを使ってこの記事を執筆しました。
SessionビデオやDocumentationページからの画像を収録しています。
実際のチャートは、Xcode 14でコードを実行することで確認することができます。
:::

新しくリリースされたチャートフレームワークにより、独自のチャートビューを設計したり、サードパーティライブラリを使用する必要がなくなりました。

![charts_type.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/635330/64f75c71-f079-3dbf-b83c-270b333c70a7.jpeg)

最も基本的な機能としては、棒グラフ、ラインポイント(折れ線グラフ)、ポイントチャートを表現することができます。

ここでは、1つのデータ点をデータエントリーと呼ぶことにします。

## データ構造を設計する

各データエントリーを格納するデータ構造を用意する必要があります

元記事を表示

【SwiftUI】Pickerのスタイル

# iOS
## automatic
**リスト内**
![Simulator Screen Shot – iPhone 12 – 2022-06-09 at 12.32.06.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1745371/01b53bb0-9939-0ae7-731a-a6b1b9da3e95.png)
“`swift
struct ContentView: View {
@State var pickerIndex: Int = 0
var body: some View {
Form {
Section {
Picker(“ひらがな”, selection: $pickerIndex) {
Text(“あいうえお”).tag(0)
Text(“かきくけこ”).tag(1)
T

元記事を表示

iOS16端末でDeveloper Modeを有効にする方法

ぱっと見で分からなかったのでメモしておきます。

[設定]>[プライバシーとセキュリティ] からDeveloper Modeを有効に出来ます。

ドキュメント
[Enabling Developer Mode on a device | Apple Developer Documentation](https://developer.apple.com/documentation/xcode/enabling-developer-mode-on-a-device)

> デベロッパモードを有効にするには、iOSデバイスの[設定]>[プライバシーとセキュリティ]に移動します。デベロッパモードのリスト項目までスクロールして、その中に移動します。デベロッパモードを切り替えるには、「デベロッパモード」スイッチを使用します。

ビデオはこちら
[Get to know Developer Mode – WWDC22 – Videos – Apple Developer](https://developer.apple.com/videos/play/wwdc2022/110344/)

開発者モ

元記事を表示

iOS16の新機能のRoomPlanを実機で動かしてみた

このツイートを見て早速実機に入れて試してみました。

## ドキュメント

https://developer.apple.com/documentation/roomplan

> デバイスのカメラを使用して物理的環境をスキャンするように人々をインタラクティブにガイドすることにより、部屋の3Dモデルを作成します。

> RoomPlanを使用して、室内の3Dモデルを作成します。フレームワークは、デバイスのセンサー、トレーニング済みのMLモデル、およびRealityKitのレンダリング機能を使用して、室内の物理的な環境をキャプチャします。たとえば、フレームワークはデバイスのカメラフィードとLiDARの読み取り値を検査し、壁、窓、開口部、ドアを識別します。RoomPlanは、部屋の機能、家具、電化製品(暖炉、ベッド、冷蔵庫など)も認識し、その情報をアプリに提供します。

## サンプルコード

サンプルコードは以下にあります。

https://developer.appl

元記事を表示

[2022年]オライリー書籍紹介 6月[O’Reilly]

5月6月に発売されたオライリーの書籍を紹介します。
***
[動かして学ぶAI・機械学習の基礎[Amazon]](https://amzn.to/3aFGgQf)
![b.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2702119/f1228803-344e-95ef-ef8e-c7c837f033ca.jpeg)
– 第Ⅰ部 モデルの構築
– 1章 TensorFlowの概要
– 2章 コンピュータビジョン入門
– 3章 基礎からの発展: 画像の特徴量検出
– 4章 TensorFlow Datasetsを使った公開データセットの利用
– 5章 自然言語処理入門
– 6章 埋め込みによる感情のプログラム化
– 7章 自然言語処理のための回帰型ニューラルネットワーク
– 8章 TensorFlowによるテキストの生成
– 9章 シーケンスと時系列データの理解
– 10章 シーケンスを予測するモデルの作成
– 11章 畳み込みと回帰によるシーケンスモデルの構築

元記事を表示

TCAでCore Locationを扱うComposable Core Locationのススメ

# TCAでCore Locationを扱うComposable Core Locationのススメ

## まえがき

The Composable Architecture(以下よりTCA)でCore Logationを使う機会があり、
Point Free製のComposable Core Locationが非常に便利でしたので

備忘録として記録しておきます。

## どういうものか?

Viewからのユーザーの入力であったり、APIからのレスポンスやロジックなど、
Reducerが開発者が定義したActionをもとに、Stateを更新するという流れだと思いますが、

Core Loacationから緯度経度を取得する場合、
位置情報や位置情報の利用確認の結果、権限がどうなっているかなど、
Core Location側のDelegate関数から、
どのようにTCAのActionとして貰うかが不明でした!

が、このComposable Co

元記事を表示

Flutter Admobのデモ広告 (バナー)を表示させるまでの設定

## はじめに
久々にFlutterアプリを作り`Admob`を使おうとしたのだが、過去にも使ったことがあるのに少し時間がかかってしまった。
基本的には毎回ググるのでも問題ないのだが、毎回探すの少し面倒なので自分用メモとして端的に手順だけメモする。

## 環境
【PC】
  MacBook Air (M1, 2020)

【各SWバージョン】
 ・macOS Big Sur 11.6.1
 ・Flutter 2.5.3 (dart 2.14.4)
 ・Xcode 13.1
 ・google_mobile_ads: ^1.0.1

## メモ内容

### ① 必要パッケージのインストール

pubspec.yaml に`google_mobile_ads`を追記。

“`yaml:pubspec.yaml
dependencies:
flutter:
sdk: flutter
google_mobile_ads: ^1.0.1
“`

ターミナルで `flutter pub get` を実行

### ② Admob のサイトでアプリを追加する

 https:

元記事を表示

【Flutter】タブのある画面にタブのページを指定して遷移する

# 実現したいこと
Flutterにおいてタブのある画面に遷移したとき、基本的には最初のタブが開いていると思いますが、場合によっては任意のタブを指定して画面遷移したい場合があると思います。

このような場合の実装方法について解説します。

## 自分の環境
macOS Monterey 12.2.1(21D62)
Flutter 2.8.1
Dart SDK version: 2.15.1 (stable)
VSCode 1.67.2

# タブ画面の実装
現在のタブのページを保持する必要があるため、ステートフルな画面である必要があります。

詳細は以下公式ドキュメントなどを参考にしてください。(ドキュメントはステートレスなのでステートフルに書き換えること)
https://docs.flutter.dev/cookbook/design/tabs

※すでにステートフルなタブの画面が実装されている方は **「タブを指定できるようにする」** に飛んでください。

[実装イメージ]
![image.png](https://qiita-image-store.s3.ap-northea

元記事を表示

OTHERカテゴリの最新記事