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

iOS関連のことを調べてみた2021年11月12日
目次

スマホを振って、ピア通信で友だちとプロフィールを交換する【MultipeerConnectivity】【iOS】

**サーバーなしでデバイスだけで直接で通信できます。** #ピア通信に必要な最小手順 ### この手順で他のデバイスとデータの送受信ができます。 ###1、Local Network (Bonjour services)をアプリに追加 Info.plistにLocal Network Usage DescriprtionとBonjour servicesを追加します。 ![スクリーンショット 2021-05-27 4.04.33.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/235259/6102bd5b-c67d-df37-c7db-e2481808d4f0.png) Info.plist のBonjour services に自分のサービ
元記事を表示

iOSで発話認識する最小構成

#iPhoneで発話認識するの手順 ユーザーの発話内容を認識する最小構成です。 本記事のコードをベタ貼りしていけば音声取得してテキストにするまでができます。 [**【参考画像:音声認識を用いたサンプルアプリ(RealityKit-Sampler)】**](https://qiita.com/john-rocky/items/48f95f814b12dd7c853d) [ ](https://qiita.com/john-rocky/items/48f95f814b12dd7c853
元記事を表示

[Unity][iOS] UnityCloudBuild を使って TestFlight にアップロードするお話。

#自分の環境 Unity 2019.4.31 Windows10 (Macでもあまり関係なく使えるはずだけど) #前提条件 ・iPhone/Androidアプリを開発している。 ・UnityCloudBuildを使っている。 **・Build後ipaファイルを落として手動でAppstoreにあげている。** #解決しなくてはいけない事 ・出来上がったipaファイルの場所は? ・それをUnityloudbuildからiOS Devにアップロードする方法あるの? → ありました。 #実装 ## 1.Bashファイルを以下の場所に用意 “`Assets\Editor\post-build-push-ipa-appstore.bash #!/bin/bash echo “Uploading IPA to Appstore Connect…” #Path is “/BUILD_PATH/../.build/last//build.ipa” path=”$WORKSPACE
元記事を表示

【Flutter】コールバックを自分なりにまとめました。

# はじめに iOSメインのスマホアプリエンジニアです。 iOSエンジニア視点からFlutterのコールバックの利用タイミングなどを自分なりにまとめました。 Dartの文化に反していたり、好みや等があるかもしれませんがご了承ください。 その他ご意見ございましたらご指摘ください。 # VoidCallback 最もシンプルで`Flutter callback`と検索すると真っ先に引っかかるコールバック方法です。 その名の通り、「空っぽのコールバック」 https://api.flutter.dev/flutter/dart-ui/VoidCallback.html ### 宣言 VoidCallbackを受ける側の実装。 “` voidCallback = (){ print(“voidCallback”); }; “` ### 呼び出し VoidCallbackを呼び出す “` voidCallback.call(); // 以下でも可能。 voidCallback(); “` ### 利用用途 明示的に「このコールバックには引数がないですよー」と
元記事を表示

For loop の処理が全て終わってから次の処理をする

“`swift let dispatchGroup = DispatchGroup() for work in works { dispatchGroup.enter() // Do your work dispatchGroup.leave() } dispatchGroup.notify(queue: .main){ // ループ処理が全て完了したあと呼ばれる。 } “` ? **** フリーランスエンジニアです。 お仕事のご相談こちらまで rockyshikoku@gmail.com Core MLやARKitを使ったアプリを作っています。 機械学習/AR関連の情報を発信しています。 [Twitter](https://twitter.com/JackdeS11) [Medium](https://medium.com/@rockyshikoku)
元記事を表示

Xcode13でInfo.Plistがない。どこ?

Xcode13で新しいプロジェクトを作ると、Info.Plistがない。 CameraUsageDescriptionとか追加できへんやん。 安心してください、**追加方法が変わっただけです**。 #Info追加方法 Xcodeの左のペインのアプリのトップレベルを選択し、**TARGETSでInfoタブを選択**する。 ![スクリーンショット 2021-11-11 2.09.31.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/235259/1b6384cb-bcf0-4ae0-a23e-50febb9cb5a1.png) ここで、これまで通りPrivacy Camera Usage Descriptionなどを設定すればOKです。 焦
元記事を表示

【Flutter】プラグインでiOSのrootViewControllerを取得する方法

#概要 FlutterプラグインでiOSネイティブ画面を利用するために、rootViewControllerを取得する方法を整理します。 [こちら](https://qiita.com/mkosuke/items/b384035e507ad0208c10)の記事を参考にさせていただきました(ただただ感謝✨✨)。プラグイン作成時にはself経由でrootViewControllerを取得できず、代替手段が必要になるため、その補足記事となります。 #環境 “`shell-session $ flutter –version Flutter 2.5.3 • channel stable • https://github.com/flutter/flutter.git Framework • revision 18116933e7 (3 weeks ago) • 2021-10-15 10:46:35 -0700 Engine • revision d3ea636dc5 Tools • Dart 2.14.4 “` #実装 UIApplication経由でrootViewContr
元記事を表示

 Flutter :   TextFormFieldでUIを描画できない

#はじめに 現在flutterでアプリを作成中(カレンダーアプリ的なやつ)超初心者で勉強中 アカウント機能 ログイン機能を作成中に本事象に遭遇してなるほどーと思ったのでメモ程度に #開発環境 ・使用言語:dart(flutter) ・AndroidStudio 4.1.2 ・iOS シミュレーター(iOS14.5) #事象 TextFormFieldを使用して入力フォームを作成しようと思ったが、以下のエラーが表示され対象画面へ遷移した際にUIが描画されない “` The following assertion was thrown during layout: A RenderFlex overflowed by 99164 pixels on the bottom. The overflowing RenderFlex has an orientation of Axis.vertical. The edge of the RenderFlex that is overflowing has been marked in the rendering with a yello
元記事を表示

Xcode のSimulator に旧iOS のイメージを追加する[Big Sur]

Xcode のSimulator を使って,iPad OS 14 を動かしたかったのだけど,Xcode インストール時には最新のiOS 15 しか用意されていなかった.

ネット上の情報とはUI とか色々変わっていて,古いOS の追加方法が分からなかったのでメモ.

前提

使用しているMacBook Pro のOS はBig Sur 11.5.2, インストールしたXcode はVersion 13.1 です.

結論

旧OS の

元記事を表示

iOS15.1をXcodeでビルドしたい時にUnsupprted OS versionになってしまうのを回避するやり方

#事象 iOS15.1にアップデートしちゃったけど、Xcode上で「Unsupprted OS version」と表示されビルド出来ない。 前回と同じようなネタだけど再現したため投稿。 ![01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/90301/a9154dd6-69e0-e00c-62e8-742c40d6820f.png) #対処策 Device Supportのフォルダの”15.0″を複製し、”15.1″にリネームする。 “15.0”が無い場合は、Xcode 13.1をダウンロードしてから抽出する。 #手順 1. /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/ 配下で15.0を複製する ![スクリーンショット 2021-11-09 13.51.04.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/90301/
元記事を表示

nibを用いて、TableViewを作成(初学者向け、Delegateの説明なし、コード説明あり)

Swift初学者であり、間違っていることも、 記載していますので、ご注意ください。 ##手順1 まずはTableCellクラスで、 Nibの名前、IDをスタティック定数として、記載しておく。 **メリット** コードで管理して、スペルミスを防ぐ+入力変換に表示される  “` final class ItemListTableViewCell: UITableViewCell { static let nibName = UINib(nibName: “TableViewCell”, bundle: nil) static let nibID = “Cell” } “` ##手順2 TableViewCellに、Identifier:Cellを設定。 ![スクリーンショット 2021-11-09 8.34.57.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/799713/749856e9-51bc-5105-4afb-ae2c72b80afc.png) ##手順3 V
元記事を表示

【Flutter】プラグイン作成時にiOSローカルのライブラリを参照する方法

# 概要 Flutterプラグイン作成時に、プラグイン側でiOS向けローカルライブラリを抱きこむ際の設定方法を整理します。 ユースケースとしては、プラグイン利用者が公開済のpodを利用するのではなく会社独自のiOSライブラリ等をプラグインを通してFlutterで利用することを想定しています。 # 環境 “`shell-session $ flutter –version Flutter 2.5.3 • channel stable • https://github.com/flutter/flutter.git Framework • revision 18116933e7 (3 weeks ago) • 2021-10-15 10:46:35 -0700 Engine • revision d3ea636dc5 Tools • Dart 2.14.4 “` # 実施内容 ① Frameworkの取り込み  a. iOSプロジェクト直下に利用したいライブラリのframeworkをコピーアンドペースト   - ※frameworkは、exampleのiosプロジェクトを配置し
元記事を表示

Unity2019でAdmob実装時にクラッシュして表示されないときの対処法

https://kaedeee.com/unity2019-admob/ しばらく更新していませんでした!というのもアプリ作るのにはまってて笑 (アプリのURLはまた後で) ところで今回は、 Unity 2019でAdMobを実装した際にクラッシュしてしまいアプリが表示できなくなってしまう時の対処法です。 (やはり Unity 2019は最新版ということで2019に関する記事がなかなかなーい!!笑笑) というわけで僕のでよければ参考にどうぞ。 結論から言うと以下二つに対応することでうまくいきました!! (あ、Android アプリ用です。この記事) #Unityのバージョンを確認する 結論から言うと Unity 2019 1.4f1  ×  Google mobile ADS Unity plugin 3.16  が最強! はじめ自分は Unity のバージョン→ 2019.3.0a3 に AdMobのバージョン→Google mobile ADS Unity plugin v3.17 を投入! ですがこの時にx86 no
元記事を表示

AppStore リジェクト「Safety – Physical Harm: COVID-19 の対策について触れてるけど情報ソースがないよ」の対処

初めて見るリジェクト内容で少し戸惑ったため共有。 # 状況 2021年10月ごろ。 とあるイベントで使用するアプリの申請を行った際に「Guideline 1.4.1 – Safety – Physical Harm」を理由にリジェクトされた。 # 詳細 リジェクト内容は以下。 > Your app provides health or medical recommendations or references without including the sources of the medical information. > Specifically, we found your app includes safety precautions related to COVID-19 upon launch. > All apps with medical and health information should include links to sources for the information. This helps ensure that App Store u
元記事を表示

UITextView上の任意のテキストに対してカスタムContextMenuを提供する

[UITextView](https://developer.apple.com/documentation/uikit/uitextview)では、[dataDetectorTypes](https://developer.apple.com/documentation/uikit/uitextview/1618607-datadetectortypes)を指定することにより、[カレンダーイベント](https://developer.apple.com/documentation/uikit/uidatadetectortypes/1618506-calendarevent)、[住所](https://developer.apple.com/documentation/uikit/uidatadetectortypes/1618504-address)、[飛行機の番号](https://developer.apple.com/documentation/uikit/uidatadetectortypes/1648140-flightnumber)などを認識し、タップアクションとコン
元記事を表示

iOSアプリ開発に便利なライブラリ

#はじめに – ライブラリについてメモとして記事を書いています。 #便利なライブラリ一覧 – IQKeyboardManager – Kingfisher – SnapKit – lottie-ios #IQKeyBoardManager ### どんなライブラリ? – IQKeyboardManagerのGitHubから引用 – While developing iOS apps, we often run into issues where the iPhone keyboard slides up and covers the UITextField/UITextView. IQKeyboardManager allows you to prevent this issue of keyboard sliding up and covering UITextField/UITextView without needing you to write any code or make any additional setup. To use IQKeyboardMana
元記事を表示

【Flutter】Statefullなカウンターアプリをhooks_riverpod+state_notifier+freezedでリファクタリングする

FlutterのNullSafetyがstableになってしばらくたち、最近になってriverpodがstableになったので、記念にhooks_riverpod + state_notifier + freezedの使い方を最低限記載しておきます。 プロジェクトを作った時に作られるカウンターアプリを上記パッケージを使って実現するようにリファクタリングしていきます。 # tl;dr – flutterの初期アプリをhooks_riverpod+state_notifier+freezedを使うようにリファクタリングする – 結論としては単機能なアプリでこんなに複雑にやると余計わかりずらい(趣旨としてはサンプルなので良いのですが、、、) – freezedも無理やり使ったしhooksはさすがに使えなかったので、hooks特有の機能については本記事のスコープ外 #### 完成版の全コード https://github.com/tokku5552/flutter_riverpod_sample/tree/1.0.0 ## 環境 – Android Studio “`yaml:
元記事を表示

【もう、なくそう。】誹謗中傷を「なくす」アプリの開発

# はじめに **技術的な内容のみをご覧になりたい方は[こちら](#技術的なポイント)からどうぞ** [](https://tokiwaproject.page.link/mute) **誹謗中傷をネット上から「なくす」アプリ**を開発しました。簡単にいうと、Web上の特定の単語、過激な表現や人を傷つけるような言葉を非表示にするものです。 アプリ開発の動機など、いわゆる「ポエム」よりの内容は[note](https://note.com/izumo092/n/ne17f44c9fda4)に掲載しているので、Qiitaでは機能や技術面に絞ってお話ししたいと思います。 **[ダウンロードはこちらから](https://tokiwaproject.page.link/mute)** https://apps.apple.com
元記事を表示

enumとvalidationの用い方(初学者向け、コード説明あり)

Swift初学者であり、間違っていることも、 記載している可能性もありますので、ご注意ください。 ##まずはじめに用語の説明 バリデーションとは、 __入力内容や記述内容が要件を満たしているか、妥当性を確認すること__ URL:https://wa3.i-3-i.info/word11610.html かんたんに言うと 入力チェックです。 enumとは、 __列挙型(enum)とは関連性のある事柄、データを一つにまとめた定数のようなものです。__ URL:https://www.sejuku.net/blog/35711 ##行いたいこと テキストフィードが2つあり、 一つに税抜金額、 もう一つに税率を入力し、 数値が入力されているか、されていないかを確認する。 チェック後に、行いたい処理を行う。 というプログラムを作成します ##enumでValidationを定義 ![スクリーンショット 2021-11-08 5.22.50.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/799713/
元記事を表示

[SwiftUI] ロングタップした位置をViewに伝える方法

## はじめに SwiftUIで、Gestureを使ったUIを作成する機会があり、その時の実装メモを残したいと思います。 ## どんなことをするのか Viewをロングタップして、その場所(座標)をView側に伝える ## 概論 SwiftUIだけでは完結しなかった。 UIViewRepresentableを使って、UIKitのGestureを使う必要がある(iOS14までだと多分、) ## 実際のコード 早速実際のコードです UIViewRepresentableを使ったところ “`ViewRepresentable.swift struct ViewRepresentable: UIViewRepresentable { class Coordinator: NSObject { @Binding var point: CGPoint init(point: Binding) { _point = point } @objc func longTappe
元記事を表示

OTHERカテゴリの最新記事