- 1. 1つ目のエラー
- 1.1. 【Swift】LicensePlistの使い方
- 1.2. 【SwiftUI】プライバシーポリシーの設置方法
- 1.3. TypeScriptを用いたAppiumクライアント実行環境を構築する
- 1.4. Unity iOS ビルド xcworkspace ファイルがない
- 1.5. Swift5.7 新機能まとめ
- 1.6. Unable to boot simulator
- 1.7. 【iOS】アクセシビリティ(VoiceOver)対応チートシート
- 1.8. 【SwiftUI】Extra argument in callの対処法
- 1.9. Flutter: XCode error “Unable to boot the Simulator”
- 1.10. TCAで親子・孫・ひ孫・玄孫…でstateを同期させる
- 1.11. 【SwiftUI】Buttonのスタイル
- 1.12. [iOS/SwiftUI] ReSwift + MVVM で副作用を管理する
- 1.13. Xcodeのビルド時間を改善するために足掻いてみた話(PodBuilder)
- 1.14. 【APNs】プッシュ通知の証明書を更新する。
- 1.15. 【UIKit】ImageViewerというライブラリを使ってみた
- 1.16. 【Unity】WebGL + iOSで動画が閲覧できない場合に試してみること
SwiftUIでかっちょいいカルーセルを作る
## こういうやつ

スワイプで流せます。
## ソースコード
imageとかcolorとかは自分で定義してください。
それ以外はコピペで動くと思います。“`swift
import SwiftUI
struct Home: View {
@State private var currentIndex = 0
@State private var examples = [“1”, “2”, “3”, “4”, “5”, “6”]
@GestureState private var dragOffset: CGFloat = 0let itemPadding: CGFloat = 20
var courses = coursesData
@Sta
複数のApple開発者アカウントを運用していると、実は危険な flutter create の動作
複数の Apple 開発者アカウントを使って開発している環境で `flutter create` を使って新規プロジェクトを作成して、Xcodeで開くと、予期せぬ開発者アカウントに、新規作成したプロジェクトのBundle Identifierが自動登録されてしまうことがあります。
著者が確認したFlutterのバージョン: 2.8.1
# 手順
複数の Apple 開発者アカウントを使って開発している mac 環境で、以下の操作をします。– flutter create で Flutter プロジェクトを新規作成する
– Xcode でそのプロジェクトを開くこのとき、生成された Xcode プロジェクトのAutomatically Manage Signing設定はオンなので、Apple開発者アカウントにBundle Identifierが自動登録されますが、どのアカウントに登録されるかは、そのときの開発機のKeychainの状態次第となります。
# 原因
`flutter create` が、Keychainに格納されている証明書を自動検索し、Xcodeの`DEVELO
SwiftUI Fontまとめ
### 1.フォントサイズ指定
“`ruby:swift
—指定方法—
.font(フォントサイズ)~~~~~~body内~~~~~~
VStack {
Group{
Text(“largeTitle”).font(.largeTitle)
Text(“title”).font(.title)
Text(“title2”).font(.title2)
Text(“title3”).font(.title3)
Text(“headline”).font(.headline)
Text(“subheadline”).font(.subheadline)
Text(“body”).font(.body)
}
Text(“callout”).font(.callout)
Text(“caption”).font(.caption)
Text(“caption2”).font(.caption2)
Text(“footnote”).font(.footnot
React Native開発中にXcodeのiOSシミュレーター立ち上げに四苦八苦した話
Xcodeのシミュレーターが立ち上がらなくなり、このようなエラー文が出てきました…
1つ目のエラー
` xcrun exited with non-zero code: 60 `
調べた結果、シミュレーターの設定による問題だと仮説を立てて、
以下のURLを参考にシュミレーターの設定をリセットしようとしました
https://github.com/expo/create-react-native-app/issues/67#issuecomment-326389229ところが…
そもそもシミュレーター自体が立ち上がらん!!!
Unable to boot the Simulatorって出て終わり!!!この時点で頭が完全ショート…
GUI上では何もエラー文もなく、これ詰んだか…?となりましたが、
試しにApp Storeを見てみるとXcodeのアップデートが来ていたので、
Xcodeを13.3 -> 13.4.1にアップデートしました。
(なんでXcodeのアプデってあんなに時間かかるんでしょうか…)するとエラー文章が変
【Swift】LicensePlistの使い方
# インストール
CocoaPodsでインストールします。
“`ruby
pod ‘LicensePlist’
“`# 準備
メインターゲットのファイルを選択します。

⌘ + Nで新規ファイル作成画面を表示させます。
検索ボックスに「Setting」と入力して`Settings Bundle`を選択します。

ファイル名は変更せず、`Settings`で「Create」を選択します。
には様々な条件があり、その中に[プライバシーポリシーを設置を義務付ける項目](https://developer.apple.com/jp/app-store/review/guidelines/#privacy)があります。
今回はSwiftUIでどのようにプライバシーポリシーを設置すれば良いのかを解説します。# 方法1
“`ContentView.swift
import SwiftUIstruct ContentView: View {
var body: some View {
List {
TypeScriptを用いたAppiumクライアント実行環境を構築する
Appiumを導入したは良いものの、Python3やJavaScriptのクライアントでは、テストシナリオを記述する際の型の保証や、コード補完に辛さを感じたので、TypeScriptを導入しました。
## 前提
今回使用するiOSのサンプルアプリについてはこちらの記事をご参考ください。https://qiita.com/5enxia/items/13cafabc8a82a21700bf
また、XCodeやnodejsがインストールされていることを前提としています。
ご了承ください。## 環境構築
### 1. TypeScriptのインストール
“`sh
npm install -g typescript
“`### 2. テスト実行用のディレクトリの作成
“`sh
mkdir appium-client-ts
cd appium-client-ts
“`### 2. webdriverio(WDIO CLI)インストール
“`sh
npm i @wdio/cli
“`### 3. wdioの設定
“`sh
npx wdio config
“`
Unity iOS ビルド xcworkspace ファイルがない
# 結論
ターミナルから以下を実行すると xcworkspace ファイルが現れる。
“`
どこでもいいので実行
$ brew install cocoapodsUnity でビルドしたフォルダ内で実行。時間かかるが我慢して待つ
$ pod install
“`# 経緯
広告を実装しようと、UnityMediationSDK をインストール。その後 xcode のビルドで以下のエラー
`’UnityMediationSdk/UnityMediationSdk.h’ file not found`
– Mediation に使うファイルが見つけきれないみたい
– ライブラリは cocoapods で管理するようになっているみたい
– cocoapods を参照するには、 xcwor
Swift5.7 新機能まとめ
## まえがき
Swift5.7から導入される新機能をいくつか抜粋し、触りの部分のみまとめました。
各機能の詳細については、プロポーザルのリンクをご参照ください。また内容に間違いがある場合や正確性に欠く記載がありましたらコメントいただけると幸いです。## まずは分かりやすい箇所から…
### [SE-0345](https://github.com/apple/swift-evolution/blob/main/proposals/0345-if-let-shorthand.md) **`if let` shorthand for shadowing an existing optional variable**
**if letのUnwrapがより短くシンプルになりました**
“`swift
let foo: String? = “foo”if let foo {
print(“foo is unwrapped: \(foo)”)
}
“`またif文以外にもguard文やwhile文でも同様に可能です。weak selfをguard文でunwrapする時
Unable to boot simulator
`XCode` > `Windows` > `Device and Simulators`
でシミュレーターの詳細を確認
`iOS 15.5` となっている。
続いて、XCodeのバージョンの方も `15.5` に合わせるとシミュレーターが起動できるようになる

【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個以上追加できないようになっています。
# 解決策
Viewを`Group`でグループ化して要素をまとめます。
“`swift
import SwiftUIstruct 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

“`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) で参照できます。

# はじめに
「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)
動画を配置しているサーバーの設定で他ドメインのサーバーからのメディアのアクセスをブロックする様に設定されている場合は許可する必要があります。
同じドメインに配置する場合は気