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

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

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を作成
`

元記事を表示

【Unity】iOS 向けの Low-level native plug-in interface を利用した Metal API へのアクセスについて調べてみた

この記事は [Unity Advent Calendar 2022](https://qiita.com/advent-calendar/2022/unity) の18日目の記事です。

Unityには [Low-level native plug-in interface](https://docs.unity3d.com/Manual/NativePluginInterface.html) と言う機能が存在しており、こちらを利用することでUnityが内部的に持っている各プラットフォーム向けの低レベルな GraphicsAPI にアクセスすることが出来るようになります。

https://docs.unity3d.com/Manual/NativePluginInterface.html

じゃあ具体的にこれで何が出来るのか?と言うと、例えば今回話す iOS 向けの場合には「**Unityが持つ`MTLCommandEncoder`をフックして追加で描画命令を挟んだり、若しくはこちらを終了させて自身で`MTLCommandEncoder`を追加する**」と言ったことが行えるようにな

元記事を表示

FlutterでKeychain Sharingを実現する方法

# Keychain Sharingとは

– [公式ドキュメント](https://developer.apple.com/documentation/security/keychain_services/keychain_items/sharing_access_to_keychain_items_among_a_collection_of_apps)

Keychain Sharingを使用することで、異なるアプリ間で情報を共有することができます。
例えばですが、異なるアプリ間で共通のユーザー名やパスワードを使用したい場合において、アプリAでログインする際にユーザー名やパスワードをKeychainの共有領域に保存させ、アプリBにログインする際にはKeychainに保存されている情報を使用して、ユーザー名やパスワードの入力なしにログインさせる
といったことができるようになります。

注意事項として、チームIDが同じプロビジョニングプロファイルでビルドされたアプリでしか上記は実現できません。
当たり前と言えば当たり前ですが、、、

チームIDはプロビジョニングプロファイルから確認でき

元記事を表示

【SwiftUI】動くメンバーシップカードを作成する

# はじめに
昨日、せっかくGlassmorphismのカードのようなUIを作成したのでもっとカードっぽくしていきたいと思います!

https://qiita.com/SNQ-2001/items/04502ac58b196743bad9

# サンプルアプリ
ドラッグでカードを動かすことができるようにしました。
![Simulator Screen Recording – iPhone 14 – 2022-12-18 at 17.49.02.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1745371/b267677c-b14e-0ef8-7f2d-e875b4351870.gif)

# 実装
### View
“`swift
import SwiftUI

struct ContentView: View {
@State var x: CGFloat = 0
@State var y: CGFloat = 0
@State var isSheet: Bool = fa

元記事を表示

Generambaを使ってみよう!

## はじめに
弊社では、技術領域というグループがあり、それぞれの技術に特化して何かしらの活動をしています。
私はモバイル領域に所属しており、iOSについて学習したり、実際にアプリ開発を行っています。
そのモバイル領域の一環で、チームでiOSアプリの開発をすることになりました。
お試し的なアプリですので、軽量なアーキテクチャを使おうという話になり、MVPを使って開発を進めていくことになりました。
MVPで開発していく上で、Model・View・Presenterそれぞれのswiftファイルを作成するのはめんどくさいため[Generamba](https://github.com/strongself/Generamba)というツールを使用してswiftファイルを自動生成した時の環境構築について書いていきます。

この記事はTDCソフト株式会社Advent Calendarの18日目です。

https://qiita.com/advent-calendar/2022/tdc
## Generambaについて
GithubのREADMEには、`Generambaは、Xcodeで動作するよ

元記事を表示

Firebase Realtime Database & FireStorageでasync/awaitを利用した簡単な処理実装例の紹介

## 1. はじめに

皆様お疲れ様です。iOS AdventCalendarの17日目を担当させて頂きます、fumiyasac(Fumiya Sakai)と申します。何卒よろしくお願い致します。今週初めに別のAdventCalendarにて、[SwiftUIで作る「Drag処理を利用したCarousel型UI」と「Pinterest風GridレイアウトUI」の実装例とポイントまとめ](https://qiita.com/fumiyasac@github/items/b5b313d9807ff858a73c)という記事も書きましたので、こちらもご覧頂けますと嬉しく思います?‍♂️

以前にお仕事の中でも、Firebaseの機能を活用したアプリ内施策やアプリ内機能を実装する機会も何度かあり、FirebaseについてもSwift Concurrencyにも対応した事で、従来までの処理がasync/awaitを併用してよりシンプルな形で実装できる様になった点は、個人的にも心強く嬉しく思いました。

今回はいつものUI実装関連のTipsとは少し趣向を変えて、Firebaseの機能の中で、これま

元記事を表示

[Swift] 画面遷移時にタブバーを非表示にする

## 前提
MainViewController→TransitionViewに遷移する際に、遷移先のTransitionViewでタブバーを非表示にしたい。
TransitionView→MainViewControllerに戻る際には、タブバーを再表示する。
## 実装内容
navigationViewControllerにTransitionViewをpushする前に、
MainViewControllerのhidesBottomBarWhenPushedをtrueに設定し、
push後にhidesBottomBarWhenPushedをfalseに設定。

“`ruby: TransitionViewに遷移するコード
self.hidesBottomBarWhenPushed = true //push遷移前に設定
self.navigationController?.pushViewController(transitionView, animated: true)
self.hidesBottomBarWhenPushed

元記事を表示

OTHERカテゴリの最新記事