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

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

[Delphi][小ネタ] Windows / macOS / iOS / Android で等幅フォントを取得する

# 等幅フォントを取得する

コードはもちろんのこと情報を表示するときとかに等幅フォントが必要になる事があります。
各プラットフォーム毎にフォント名が異なるのでめんどい!のと毎回調べてるので、メソッドにまとめてみました。

コードは以下の通り。

“`delphi
(*
* Font Utility
*
* PLATFORMS
* Windows / macOS / iOS / Android
*
* LICENSE
* Copyright (c) 2022 HOSOKAWA Jun
* Released under the MIT license
* http://opensource.org/licenses/mit-license.php
*
* HISTROY
* 2022/12/19 Version 1.0.0 First Release
*
* Programmed by HOSOKAWA Jun (twitter: @pik)
*)

unit PK.Utils.Font;

interface

type
TFo

元記事を表示

Sourceryを使って自動でEquatableに準拠させる

この記事はand factory.inc Advent Calendar 2022 21日目の記事です。
昨日は @k_shinn さんの [【Jetpack Compose】WearOSで簡単なアプリを作ってみる](https://qiita.com/k_shinn/items/f36c1a8fc19a91d97aae) でした。

# はじめに
テストを書くときによく構造体の比較をしたいときがあるのですが、毎回Equatableに準拠させるために`==`の実装をするのが面倒だと感じてました。
そこで今回は、[Sourcery](https://github.com/krzysztofzablocki/Sourcery)というツールを使ってEquatableの実装を自動化してみました。

# Sourceryとは
Sourceryとはボイラーテンプレートを自動生成してくれるSwift製のツールです。

# 環境
– MacBook Pro Apple M1 Max
– Xcode14.1(14B47b)
– Swift:5.7.1
– Mint:0.17.4

# セットアップ

元記事を表示

CompositionalLayoutのカルーセルを無限スクロールさせてみる

こんにちは:christmas_tree:
ZOZO #6 Advent Calendar 2022 21日目の記事を担当します:snowflake: (去年も21日)
今年は遅れてスノボーにシーズインした、@koiwai2020です:snowboarder:
よろしくお願いします:bow:

# 今回も

大好きなスノボーシーズンに使えそうな話題が、、、、作れませんでした。
なので調べてみたものの使うことはなかった、CompositionalLayoutで作ったカルーセルの無限スクロールを忘れないように記す場にします。

# 無限スクロールの実装について

無限スクロールは、動画のように1〜5の数字が割り振られたセルが、無限にスクロールされます。

元記事を表示

Swift初心者によるSwift初心者のためのアプリ開発

[アイスタイル Advent Calendar 2022](https://qiita.com/advent-calendar/2022/istyle) 21日目を担当させて頂きます、こたちゃんです:santa_tone1::gift:

## はじめに

私は、3週間ほど前からiOSのアプリチームで研修をしている新卒のエンジニアになります?‍?
普段は主にバックエンドエンジニアしてます!

これまで、Swiftに一度も触れたことがなかったのですが、学んで2週間ほどで、、なんだこれ、、楽しすぎる!!!と恋をしてしまうような体験:heart_eyes:をしてしまったため
**触れたことないいんだけどやってみるか!**
といった人を増やすべく、この記事を書こうと思いました:sunny:

「ボタンを押したらおみくじの結果が表示される」という初心者の方でも作れるようなアプリを
チュートリアルのような形式で作成していこうと思います:muscle_tone1:

## 作成するアプリ

mojikyo45_640-2.gifReact Nativeでゴルフスコアカウンタアプリ作ってみた(後編)

# この記事でわかること
– ReactNativeを使ったアプリの作り方
– Reactとの基本的な違い
– WEB開発者が少し触ってみた感想

# 背景
最近会社の同僚・大和田さんとゴルフにハマってるんですがスコア・打数・パーなどのルールや用語を覚えられず、割と適当に遊んでいます。笑
そんな中大和田さんと何回か打ちっぱなしに行く中で、「ゴルフスコアカウンタアプリ作ってみません?」と提案をいただきました。
会社では普段Laravel・Vueなど、プライベートではReact(Next)などを扱っていてiOSアプリ開発を1mmも経験していないので、
ReactNativeならとっかかりやすそうだし、今年はアドベントカレンダーに投稿するものが思い当たらなかったのでいい機会だと思ったので、
今回「ゴルフスコアカウンターアプリ」をReact Nativeで作っていこうと思います。

# 作るもの
まずは、機能の洗い出しからいきましょう!
前編はこちら→ [大和田さんの記事](https://qiita.com/NaokiOwada/items/9bccd6fa08eaa7d1ecbe)

#

元記事を表示

【iOS】ホームでアプリを長押しした時のメニューにカスタムボタンを追加する

# はじめに
アプリを削除しようとする時に出てくるメニューにボタンが追加できるらしい!
[Home Screen quick actions](https://developer.apple.com/design/human-interface-guidelines/components/system-experiences/home-screen-quick-actions/)という機能だそうです
![IMG_1813.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1745371/1d26f467-f510-be85-5fb9-2b52429d85ae.png)

やってみます

# 実装方法
## Info.plistの設定
① プロジェクトを選択します
② ターゲットを選択します
③ 「`Home Screen Shortcut Items`」と入力します
![スクリーンショット 2022-12-20 20.59.28.png](https://qiita-image-store.s3.ap-no

元記事を表示

iOSとMacOSに?機械学習?を用いたテキスト入力に基づく描画を実現(Stable Diffusion + Core ML)

| Example 1 | Example 2 |
|—|—|
| ![スクリーンショット 2022-12-18 22.16.31.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/635330/6d93e359-6f40-7ab5-6192-de93e129eb5c.png) | ![スクリーンショット 2022-12-18 22.19.25.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/635330/de1882f6-0006-ff3f-ca55-e78751504892.png) |
| 春、ピンクの花、桜、暖かい、鮮やか、美しい、絵画、緑の草、青く澄んだ空、晴れた日、水墨画 | 山の中のハイテクな塔、ハイテク、サイエンス・フィクション、未来的、古寺、美しい |
| 注:AIは青空キーワードを無視した | 注:AIは古寺のキーワードを無視した |

## Stable Diffusion (AIはどうやって絵を

元記事を表示

[Delphi] Windows / macOS / iOS / Android でアプリのバージョン情報を取得する

# バージョン番号の指定

Delphi はプロジェクトオプションでバージョン番号を指定できます。

:::note info
Android は VersionCode / VersionName を指定できます。
VersionCode は連番で増えていくもので、VersionName は人間が読めるバージョン情報です。
今回は、VersionName を取得します。
:::

画像は各プラットフォーム毎のバージョン番号指定部分を赤枠で示したものです。

左上:Windows
右上:Android
左下:macOS
右下:iOS
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/12977/a8ace051-95b2-bcfc-704d-4ab1868479f1.png)

# バージョン番号を取得する

バージョン情報ダイアログにバージョンを表示するときやサポートにログを送って貰うときにログにバージョンを仕込んでおくとか、そういう時にバージョン情報が必要になります。

ということでプロ

元記事を表示

はじめてのライブアクティビティ

この記事は[ZOZO Advent Calendar 2022](https://qiita.com/advent-calendar/2022/zozo)Vol.1の20日目の記事です。

# はじめに
本記事はiOS 16で追加されたライブアクティビティについての概要と実装についてのまとめです。

# ライブアクティビティとは?
ライブアクティビティはiOS 16で追加されたアプリの最新データをDynamicIslandとロック画面に表示する機能です。
DynamicIslandはiPhone14 Pro、iPhone14 Pro Maxでのみ使用できます。(2022年12月時点)

|iPhone14 Pro、iPhone14 Pro Max|それ以外|
|:—-|:—-|
| ロック画面、
DynamicIsland|ロック画面|

【SwiftUI】GaugeのStyle比較(iOS16+)

# はじめに
https://qiita.com/advent-calendar/2022/retail-ai-x

20日目の記事になります。
19日目は[@syuri_n](https://qiita.com/syuri_n)さんの「[プロジェクトを円滑に進めるために取り組んだこと](https://zenn.dev/syuri/articles/ebba60669f667c)」でした。

iOS16から使えるGaugeというViewが面白そうだったので、
そのGaugeStyleを比較してみました。

# 環境
– macOS Monterey 12.6.2
– Xcode 14.1 (14B47b)
– Swift 5.7.1

# 比較風景

## portrait
![Simulator Screen Recording – iPhone 14 Pro Max – 2022-12-16 at 11.08.54.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/417119/86b8c37

元記事を表示

Swiftでもクリエイティブコーディングしたい!

## はじめに
本記事は[Life is Tech! Advent Calendar](https://qiita.com/advent-calendar/2022/life-is-tech-kanto)の20日目の記事です!

今回のタイトルは __”Swiftでもクリエイティブコーディングをしたい!”__ ということで、自分が先週作った[SwiftyCreatives](https://github.com/yukiny0811/swifty-creatives)というSwift製のクリエイティブコーディング用のライブラリで遊びつつ、今回クリエイティブコーディング環境を自作するにあたって大変だったことなどをまとめていきます。

## クリエイティブコーディングとは
とくに明確な定義があるわけではないと思います。
ただ、AdobeのIllustratorやPhotoshopなどのGUIツールを使って何かクリエイティブなものを作ることとは区別して、何かしらプログラムを書いてクリエイティブなものを作ること、というのが個人的な認識です。
ProcessingとかOpenframeworks

元記事を表示

【Xcode】エラー文や警告文をカスタムする

# はじめに
Xcodeで文字を適当に打ってたら面白いものを見つけたので記事にしておきます。

![スクリーンショット 2022-12-19 21.22.27.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1745371/78edcf66-cf95-4b81-8ca7-0f973884a9dc.png)

# 実装
“`swift
#warning(“これは警告です”)
#error(“これはエラーです”)
“`

# 使い所
あんまり思いつきませんが、こんな使い方ができそうです。
“`swift
#warning(“あとで修正”)
“`

# おわり
もっといい使い方があればコメントください!

元記事を表示

Tauri でモバイルアプリをビルドする

株式会社ACCESS Advent Calendar 18日目の記事です。
(今年も私の方でカレンダーの管理をやらせていただいてます。)

# 概要

2022/12/09 に Tauri Mobile 2.0.0-alpha.0 がリリースされました。

https://tauri.app/blog/2022/12/09/tauri-mobile-alpha/

こちらを手元で実際に動かしてみた記事になります。

## Tauri とは

https://next–tauri.netlify.app/

Tauri は、[Electron](https://www.electronjs.org/ja/) の代替を目指して開発されている、マルチプラットフォームのフレームワークです。
Tauri の基盤はすべて Rust で実装されており、ファイルサイズとメモリ容量が小さい点が特徴とされています。

# 環境

* macOS Ventura 13.0.1
* Intel Core i7 (x86_64)

# フロントエンドのビルド

まず初めにフロントエンドをビルドします。
今回は

元記事を表示

モバイルアプリの良質デザイン6選

# この記事について
どうも初めまして。
ARISE analyticsのタコです。
本記事は ARISE analytics Advent Calendar 2022 の19日目の記事になります。

今回は個人的に使ったことのあるアプリから好きなデザインのアプリを6個に絞って紹介します。
良いデザインのアプリって触っていて本当に楽しいですよね。
それがユーザーデザインであれ、UIの話であれ。
知ってるわってレベルの超有名なものもあったりするのはご愛嬌という事で。
なおメインのOSはiOSになります。

# Disney Resort
iOS:https://apps.apple.com/jp/app/tokyo-disney-resort-app/id1313147771
Android:https://play.google.com/store/apps/details?id=jp.tokyodisneyresort.portalapp&hl=ja&gl=US
リゾートアプリです
早速知らない人を探す方が難しいレベルのDisney様によるアプリです。
とは言ってもディズニーリゾート

元記事を表示

エラー処理についてすごく簡単にまとめてみた#2

## はじめに
エラー処理について3にパターン分けて記事を投稿する。

①Optional型 >>>>> 成功時は値を返し、失敗時はnilを返す
②Result型 >>>>> 成功時は値を返し、失敗時はエラーの値(詳細)を返す
③do-catch文によるエラー処理

今回は②について記載する。

下記URLの続編である。
https://qiita.com/RammaruIshii/items/6c6015daa7583384695d

## 対象者
この記事は下記のような人を対象にしている。

– プログラミング初学者

## 詳細
– Result型のエラー処理
– 成功時は値を返し、失敗時はエラーの値(詳細)を返す
– failureを表すときは対象の構造体などにErrorプロトコルを準拠させるルールがある。(Results型のfailureにwhereでErrorプロトコルを準拠するよう指示されている、気が向いたときにでも見てみてください)

“`swift:Swift
//IDが登録(データが見つからない)されていない時は

元記事を表示

【2022年】検討すべきiOS用オフィススイート

iPhoneやiPadに搭載されているAppleのネイティブアプリケーションは、文書編集やイベント企画など、一般的なオフィス業務のあらゆる生産性と創造性を高めるソリューションを提供していることは周知のとおりです。しかし、統合されたアプリケーションの数にもかかわらず、Appleユーザーが便利だと思うような代替アプリケーションはまだたくさんあります。

外出先でテキスト文書、スプレッドシート、スライドを作成・編集するために、AppleのiWorkに代わる確かな選択肢をお探しですか?この記事では、2022年にiOSデバイスのための最高のオフィススイートをまとめてご紹介します。

## 1. ONLYOFFICE Documents

ONLYOFFICE Documentsは、最も人気のあるプラットフォーム用のエディタとビューアを提供する、ONLYOFFICEというオープンソースのオフィススイートの一部です。
* ウェブ版:ONLYOFFICE Docs
* デスクトップ版:ONLYOFFICE Desktop Editors(Windows/Linux/macOS)
* モバイル版:ONL

元記事を表示

MapLibre GL Native for iOSを簡単に触ってみた

MapLibre GLがiOSでも実装できると聞きましたので,今回はMapLibre GL Native for iOSを簡単に触ってみました.

## 参考サイト

MapTilerさんが MapLibre GL Native for iOS の [チュートリアル](https://docs.maptiler.com/maplibre-gl-native-ios/ios-swiftui-basic-get-started/) を書いています.これを参考にしながら触ってみます.

## 環境

* Xcode 14.2
* Swift 5.7

今回はSwiftUIで実装していきます.

## 事前準備

Xcodeのプロジェクトの作成は省略します.

MapLibre GL Native for iOSを入れるために,パッケージをインストールします.

画面上部の「File」=>「Add Packages…」を選択します.

メニュー選択はじめてのAppsFlyer: (2) iOS SDK実装/iOSシミュレーターでの動作確認

AppsFlyerを利用する場合、計測対象とするアプリにSDKをインストールし実装を行います。
[AppsFlyer Developer Hub](https://ja.dev.appsflyer.com/hc/docs/ios-sdk)に詳細な手順があり、iOSエンジニアの方であれば、特に迷うことなく実装できると思います。

この記事では、はじめの一歩として、Apple Developer Programに登録していなくても簡単にできる範囲で、アプリへのAppsFlyer SDKインストール・実装とiOSシミュレーターでの動作確認までを解説します。

iOSエンジニアではないけど、少しSDK実装を体験してみたい方などに参考になればうれしいです。

# 前提・環境
– AppsFlyer管理画面より、アプリIDとDevキーは事前に取得されているものとします。(参考:[前記事「はじめてのAppsFlyer: (1)アプリを管理画面に追加する」](https://qiita.com/maktag/items/5d3399e2137947bef529))
– Xcode14を利用し、プロジェ

元記事を表示

ARチキン(Swift)

![Xcode-14.1](https://img.shields.io/badge/Xcode-14.1-brightgreen) ![iOS-16.0](https://img.shields.io/badge/iOS-16.0-brightgreen)

## はじめに
先日かわいいチキンを作ったのですがどうせなら AR で表示したいという欲が出てきました:smiling_imp:

[SpriteKitで2D横スクロールゲームをつくろう(その1)](https://qiit

元記事を表示

【SwiftUI】カスタムTabViewを実装してみた

この記事はand factory.inc Advent Calendar 2022 19日目の記事です。
昨日は @arusu0629 さんの[個人開発アプリに Swift Package Manager を導入してみた](https://qiita.com/arusu0629/items/cb4eca682aba05c49a16)でした。

## はじめに
基本的な実装は経験があったので今回は少しアニメーションなども加えたカスタムなTabViewの実装を行ってみました。
– [TabView](https://developer.apple.com/documentation/swiftui/tabview)

## 完成形
![CustomTabView.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2951640/4809f634-7dcb-9d98-3bf3-925557ed675b.gif)

## 開発環境
– Xcode 14.1
– iOS 16.1

## TabのModelを作成
`

元記事を表示

OTHERカテゴリの最新記事