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

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

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://www.amazon.co.jp/%25E5%258B%2595%25E3%2581%258B%25E3%2581%2597%25E3%2581%25A6%25E5%25AD%25A6%25E3%2581%25B6AI%25E3%2583%25BB%25E6%25A9%259F%25E6%25A2%25B0%25E5%25AD%25A6%25E7%25BF%2592%25E3%2581%25AE%25E5%259F%25BA%25E7%25A4%258E-%25E2%2580%2595TensorFlow%25E3%2581%25AB%25E3%2582%2588%25E3%2582%258B%25E3%2582%25B3%25E3%2583%25B3%25E3%2583%2594%25E3%2583%25A5%25E3%2583%25BC%25E3%2582%25BF%25E3%2583%2593%25E3%2582%25B8%25E3%2583%25A7

元記事を表示

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

元記事を表示

【SwiftUI】リストのスタイル

# iOS
## automatic
![simulator_screenshot_C5D7D91E-5802-47A4-9A9B-D5B2FE0EB9AC.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1745371/8cd34c59-66cc-3306-1af9-b085be57dca3.png)

“`swift
struct automatic: View {
var body: some View {
List {
Text(“あいうえお”)
Text(“かきくけこ”)
Text(“さしすせそ”)
Text(“たちつてと”)
Text(“なにぬねの”)
Text(“はひふへほ”)
Text(“まみむめも”)
Text(“やゆよ”)
Text(“わをん”)

元記事を表示

[WWDC22]セッションビデオ一覧

WWDC22 セッションビデオの一覧表を作成しました。
https://developer.apple.com/wwdc22/sessions/

メモっておかないと視聴済みのビデオが分からなくなってくるので、自分用に作成していますが、
もしも必要な方がいらしたら、Markdownをコピーして下書きでお使い下さいませ。

水曜日以降のセッションビデオはまだ公開されていないので、公開されてから随時追記していく予定です。

# Tuesday

| # | title | memo |
| – | – | – |
| 1 | [Add accessibility to your Unity games](https://developer.apple.com/videos/play/wwdc2022/10151/) | |
| 2 | [Adopt Variable Color in SF Symbols](https://developer.apple.com/videos/play/wwdc2022/10158/) | |
| 3 | [Adopt desktop

元記事を表示

WWDC22, iOS 16: WeatherKitで気象データを取得

:::note
※一般公開されているWWDC Keynoteの動画と公開Session/Documentation/Sample Codeページだけを使ってこの記事を執筆しました。
:::

新しくリリースされたWeatherKitフレームワークでは、現在の天気、10日間の1時間ごとの気温予測、予想降水量、風の報告、UVインデックスなどを取得することができます。

![weather-display-demo.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/635330/ffcdea84-252a-010f-6974-eb70fabb982e.jpeg)

iOS 16で新たにリリースされたフレームワークです。このアプリを実行するには、Xcode 14.0 betaとiOS 16が動作するデバイスを使用する必要があります。

## 利用料金

Appleの開発者アカウントには、天気予報APIを呼び出すための無料枠がいくつか含まれています。
制限を超えたリクエストに対しては、料金が発生する場合があります。

元記事を表示

[Swift]weak var がnilになるケースに遭遇した!

## 投稿の経緯
循環参照を避けるための手段として使う`weak`を付与したインスタンスがnilになるケースに遭遇したので備忘録として投稿。

## 循環参照とは
> 循環参照とは「クラスAとクラスBのインスタンスがそれぞれ存在した時、クラスAのインスタンスをクラスBのプロパティに格納し、クラスBのインスタンスをクラスAのプロパティに格納する」といった状態になった時に、お互いにインスタンスを参照しあうため、どちらも解放されずにそのまま残り続けてしまう、という現象です。

下記記事から引用。

https://qiita.com/1234224576/items/2241266f7d307cd25ba9#:~:text=%E5%BE%AA%E7%92%B0%E5%8F%82%E7%85%A7%E3%81%A8%E3%81%AF%E3%80%8C%E3%82%AF%E3%83%A9%E3%82%B9,%E3%81%A6%E3%81%97%E3%81%BE%E3%81%86%E3%80%81%E3%81%A8%E3%81%84%E3%81%86%E7%8F%BE%E8%B1%A1%E3%8

元記事を表示

新 App Store 審査ガイドライン 翻訳&差分ガイド 2022年6月号

# はじめに

これは2022年6月6日付けで変更された App Store 審査ガイドラインの翻訳&差分ガイドです。

[前回](https://qiita.com/midnightSuyama/items/14ae8afc7636bd704302)からの変更に新規項目はありませんが、既存要件が削られ緩和されています。これまでは、バイナリに最低限のデータを含める必要がありましたが、旧 4.2.3 (ii) が削除されたことで、今後はデータを完全に切り分けて管理できるようです。

全体的に表記が `countries` から `countries or regions` に変更されていますが、今回の修正項目には含めていません。

[https://developer.apple.com/app-store/review/guidelines/](https://developer.apple.com/app-store/review/guidelines/)

# 修正項目

## 1.1.4 ポルノ表現は不可。

> Overtly sexual or pornographic ma

元記事を表示

[WWDC22概要] Platforms State of the Union

WWDC22で発表される機能の概要を説明したビデオ「Platforms State of the Union」のまとめ記事になります。皆様のご参考になれば幸いです。

[https://developer.apple.com/videos/play/wwdc2022/102/](https://developer.apple.com/videos/play/wwdc2022/102/)

# Xcode Cloud

今日から利用可能。
XcodeCloudは2023年末まで月々25時間以下なら無料。
この夏の後半からデベロッパアプリケーションで、どのXcodeCloudサブスクリプションレベルにも登録できるようになる。

# 3つのトピック

– Vision for Platform
– プラットフォームの現状そして今後の方向性について
– System Experience
– アプリをAppleのプラットフォームのシステム体験と統合するための新しい方法
– New APIs
– 新しいAPIについて

# Vision for Platform

##

元記事を表示

【SwiftUI】画面遷移の方法

# はじめに
SwiftUIで公式に提供されている画面遷移方法は3つあります。
① NavigationLink
② sheet
③ fullScreenCover

今回は上記の3つ + カスタム遷移を1つ紹介しようと思います。

# NavigationLink
![Videotogif.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1745371/1eb773ae-9c64-b288-5ca5-6981747daf3f.gif)

“`ContentView.swift
import SwiftUI

struct ContentView: View {
var body: some View {
NavigationView {
NavigationLink(“NavigationLink”) {
SubView()
}
}
}
}
“`
“`SubView.sw

元記事を表示

Platforms State of the Union WWDC2022をまとめてみたら大量のアップデートがあってすごいことになっていた件について

こんにちは。[virapture株式会社](https://virapture.com)でCEOしながら[ラグナロク株式会社](https://ragna-rock.com)でもCKOとして働いている[もぐめっと](https://mogmet.com)です。

![mogmet](https://user-images.githubusercontent.com/1166342/172364673-f3aabf4e-c2fa-4aa2-866e-839205d1ded1.jpg)
先月宮古島へ行ってみたのですが、梅雨でずっと雨でした。5月に南の島はお勧めしません。

本日はWWDC2022で発表されたplatforms state of the unionをまとめてみました。
みなさんkeynoteに目が行きがちですが、開発者はこちらに目を通してから各セッションに臨んでみるといい目印になります。

https://developer.apple.com/videos/play/wwdc2022/102/

下記の三本で情報をお届けします!

– 1. AppleのPlatformの現

元記事を表示

事業フェーズごとにiOS/Androidエンジニアに求められるスキルやアウトプット

色々な事業フェーズに関わる中で、アプリエンジニアが関係者から何を求められていて、何をアウトプットすべきなのかが見えてきたのでまとめておきます。

# 前段

事業状況は0→1、1→10、10→100などの局面によって変化していくものです。
その事業の局面ごとに、アプリエンジニアが為すべきことや求められることというのは変化していくのではないかと私は思います。
もちろん、事業の形態や人員体制などによっても求められることやアウトプットは変わるものですが、そこはサブ要因として今回は踏み込まずに思うところを記載していこうと思います。

ちなみにこの記事は
https://qiita.com/yuukiw00w/items/1191c5afde8d3c9e4440
を書く中で、本人が何を気をつけたらいいかという観点だけじゃなく、周りが何を求めて何をアウトプットすべきかという部分も記載したほうがいいかなと思ったので書きました。
こちらの文章はどちらかといえば組織的にアサインする上で気をつけるべきことや、何を期待値とするべきかという部分に関わる話なので、人員体制を決定するような人が読むと参考になるかも

元記事を表示

WWDC 2022 基調講演 まとめ (新しいフレームワークの紹介とSessionリンク)

:::note
※一般公開されているWWDC Keynoteの動画と公開Session/Documentationページだけを使ってこの記事を執筆しました。
:::

「(API)」と表記されている機能は、開発者が自分のアプリで利用できる機能であることを意味します。

[iOS 16](#ios-16)
[フレームワーク](#フレームワーク)
[WatchOS](#apple-watch)
[MacBook](#mac)
[MacOS](#macos-ventura)
[iPadOS](#ipados-16)

# iOS 16

## ホーム画面のカスタマイズ (API)

Apple Watchのホーム画面と同様に、ロック画面の背景、スタイル、フォントを変更することができます。
背景には、シャッフルされた写真を選択することができます。天気や地球のアニメーションを選ぶこともできます。
時刻のテキストの色やフォントは、タップで変更できます。カレンダーや温度などのウィジェットを追加することもできます。
WidgetKitを使用して、ロック画面に表示するアプリウィジェットを開発できます。

元記事を表示

【Xcode】Swift Package Managerの使い方

# 追加

①: リポジトリのURLをコピーする
![スクリーンショット 2022-06-06 21.39.47.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1745371/da86f855-485b-30e5-0973-35783ecca643.png)
![スクリーンショット 2022-05-07 15.06.30.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1745371/ebdf2dc3-754b-6382-ce48-3287a423abe7.png)

②: Xcodeのメニューバーの「File」を選択
![スクリーンショット 2022-05-07 15.07.57.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1745371/7a84e170-12a7-b2f6-ef2f-0291670921ad.png)
③: 「Add

元記事を表示

UIFont.TextStyleについて

ダイナミックタイプ(デバイスのテキストサイズ設定に、アプリのテキストサイズも対応する仕組み?)は公式ドキュメントでも推奨されている事なので、可能なら対応しましょう。

そこで今回は自動的にダイナミックタイプが対応されるUIFont.TextStyleについてまとめました。

# UIFont.TextStyleのフォントを使う方法
“`Swift:ViewController.swift
class func preferredFont(forTextStyle style: UIFont.TextStyle) -> UIFont
“`
UIFontのクラスメソッドであるpreferredFontメソッドを使います。
そしてstyleパラメータに希望のUIFont.TextStyleを指定すれば戻り値として指定のフォントが返ってきます。

# UIFont.TextStyle一覧
|UIFont.TextStyle|用途|
|:-:|:-:|
|.body|body(本文)用|
|.callout|callout(図の一部に線を引いて説明するテキストの事らしいです)用|
|.cap

元記事を表示

NCMBのFlutter SDKを使ってプッシュ通知を送信する(iOS編)

NCMBのコミュニティSDK(公式サポートは提供されていません)としてFlutter向けのSDKを提供しています。Flutter SDKはiOS/Androidはもちろんのこと、Webなどでも利用できます。つまりスマートフォンネイティブの機能は提供していません。

NCMBのプッシュ通知機能は数多くの方に使われている機能でもあり、今回はFlutter SDKを使ってどうプッシュ通知機能を使えば良いのかを紹介します。まずはiOS編です。

[ncmb | Dart Package](https://pub.dev/packages/ncmb)

## 利用するライブラリ

上述の通り、Flutter SDKにはネイティブ機能がありませんので、プッシュ通知で利用するデバイストークンを取得する機能がありません。そこで下記のライブラリを使います。

– [push | Flutter Package](https://pub.dev/packages/push)

## セットアップ

iOSの場合はiOS Dev Centerにてアプリを登録し、Push Notificationを有効にしま

元記事を表示

xcode_backend.sh: Operation not permitted【iOS】【Flutter】

# Error

“`
/bin/sh: /Users/xxxxx/Documents/dev/flutter/packages/flutter_tools/bin/xcode_backend.sh: Operation not permitted
Command PhaseScriptExecution failed with a nonzero exit code
“`

# Solution

If you open a app with xcode and another code editor, close another code editor.

元記事を表示

Xib、Storyboardを作成する上でのノウハウ

# この記事の対象者

– Autolayout のチュートリアルや入門書を読んだけど、実務のレイアウト作成が作りづらいと感じている人
– iOS のUI作成のガイドラインを作成したい人
– 他の開発者が Autolayout をどう使っているか知りたい人

## 公式ドキュメント

[Auto Layout Guide
](https://developer.apple.com/library/archive/documentation/UserExperience/Conceptual/AutolayoutPG/index.html)

## Storyboardのノウハウ

– StoryboardにViewが多いとXcodeで開くときに時間がかかる
– Storyboardは分割して使用しよう
– 可能ならXibにしよう
– SegueをStoryboard上で使うと動作が重くなるので、画面が少ないアプリ以外ではやめておこう
– 分割すると、Storybaordで何をやっているかわからなくなるが、動作が重いデメリットは大きい
– UINaviga

元記事を表示

OTHERカテゴリの最新記事