iOS関連のことを調べてみた

iOS関連のことを調べてみた

Credential期限切れ対応

# iOS開発時のCredential期限切れ対応

2台のMacで開発していて、期限切れたときの対応方法を忘れるのでメモ。
キーチェーンからP12ファイルを出力出来なかった(グレーアウトで選択できなかった)が、XCODEからやると出来た。

基本の流れは他サイト参考に。
例えば
https://kingmo.jp/kumonos/ios-certificate-profile-renewal/#google_vignette

## やり方

1. メインのMacでリクエストファイルを作成
1. デベロッパーサイトで新しいCertificateを作成
1. CERファイルをダウンロードしてダブルクリックして導入
1. 【ここから】xcodeを立ち上げてXcode->setting->Accounts->ManageCertifigates…
1. 証明書を右クリックしてExport
1. パスワード入力して保存
1. 2台目のMacにcerとp12をコピーして、ダブルクリックで導入

とりあえず、これでどちらのMacでも新しいプロビジョニングプロファイルが使えるよ

元記事を表示

static let について

## はじめに
私は最近プログラミングスクールにて学習をスタートした初学者で、学習していく中で疑問に思ったことや苦労したことなどについて記事を書いております。

知識が浅はかですので、間違っている部分があるかもしれません。
あらかじめご了承ください。

## static let について

‘static let’は、Swiftにおいて定数として使用されるクラスプロパティを定義するために使用されます。この定数は、そのクラス全体で共有され、変更不可であり、最初に一度だけ設定されます。

これにより、変更されることがないことが保証された共有データを提供できます。

“`swift
class Constants {
static let appName = “FamousQuoteGenerator”
static let maxFavorites = 100
}

// 定数にアクセス
print(Constants.appName) // 出力: FamousQuoteGenerator
print(Constants.maxFavorites) // 出力: 1

元記事を表示

Realmマイグレーションエラー

## はじめに
私は最近プログラミングスクールにて学習をスタートした初学者で、学習していく中で疑問に思ったことや苦労したことなどについて記事を書いております。

知識が浅はかですので、間違っている部分があるかもしれません。
あらかじめご了承ください。

また、今回は自分用に残したいと思います。

## Realmマイグレーションエラー

RealmSwiftをPodsインストールしてアプリ開発をする中で、下記のようなエラーが発生しました。

:::note alert
Thread 1: Fatal error: Failed to instantiate Realm: Error Domain=io.realm Code=10 “Migration is required due to the following errors:
– Property ‘QuoteDataModel.quoteLabel’ has been removed.
– Property ‘QuoteDataModel.characterLabel’ has been removed.
– Property

元記事を表示

[Swift] ホラー画像生成アプリ

# はじめに

だいぶ暑くなってきましたね。
これから夏本番ということで、今回は、Swiftを使ってホラーテイストな画像を生成するiOSアプリを作ってみました👻

# 要件

* iOS 14.0以降
* Xcode 12.0以降
* OpenAI APIキー

# 環境構築

1. **Xcodeで新規プロジェクトを作成**

* プロジェクト名: HorrorImageConverter
* インターフェース: SwiftUI
* 言語: Swift

2. **OpenAI APIキーを取得**

OpenAI API ([https://openai.com/index/openai-api/](https://openai.com/index/openai-api/)) でアカウントを作成し、APIキーを取得してください。

# 要件
– 作りたい画像のイメージを入力できる
– 画像生成ボタンをタップすると、ホラー画像が生成される

# 実装

“`swift:ContentView.swift
import SwiftUI

struct Content

元記事を表示

SwiftUI(iOS)におけるクリーンアーキテクチャ

## はじめに

こんにちは。この投稿では、Clean Architecture に基づいた Android アプリケーション開発のために構築したソースコードについて紹介します。

このソースコードは私の個人 GitHub にアップロードしています。[GitHub](https://github.com/samyoney)。

これまで、MVVM、MVC、MVP、TCA などのモデルを使用してモバイルアプリを開発してきましたが、MVVM はテストが容易でメンテナンスも簡単であるため、最も実用性が高いと感じています。特に `use case` の概念は、`user story` から切り出して基本設計を行う際に非常に役立ちます。

## SwiftUI とは何か、そしてなぜ使用すべきか?

SwiftUI は、iOS、macOS、watchOS、tvOS のアプリケーションのユーザーインターフェース(UI)を構築するために Apple が開発したフレームワークです。2019年の WWDC で初めて紹

元記事を表示

【TCA】observe(_:)でトラッキングしている値をクロージャ内で変化させた場合は変更を検知しない

以下のコードで、ボタンをタップしたときにコンソールに出力される値はどうなるでしょうか?

“`swift
// Feature
@Reducer
struct Feature {
@ObservableState
struct State {
var flag = false
}

enum Action {
case buttonTapped
case finished
}

var body: some ReducerOf {
Reduce { state, action in
switch action {
case .buttonTapped:
state.flag = true
return .none
case .finished:
state.flag = false

元記事を表示

アプリ紹介(2023-10) ~初めてのmobile

# 目的
apple developerの有効期限が切れたため、紹介程度に記載。
# 技術stack
– ReactNatife(firebase)
– firebase(storage ,firestore,authication)
![](https://storage.googleapis.com/zenn-user-upload/57581fb3f90d-20240617.png)
# github
https://github.com/nagisa599/menmenMobileApp

https://github.com/nagisa599/MenMenWebApp
# 内容
## ログイン,新規登録
#### apple,google,メールアドレスの

## ユーザ登録
【Flutter】UXの向上に向けて知っておいたら得すること

# 初めに
同期処理でプログラムが実行されるFlutterでは、非同期処理やUIのフレーム管理が非常に難しいし、UXを向上させるポイントにもなってきます。
そこで、今回はFuture.microtaskとWidgetsBinding.instance.addPostFrameCallbackの違いについて説明していきます。
これらのメソッドを適切に使用することで、より効率的で応答性の高いアプリケーションを構築できます。
本記事では、これらのメソッドの詳細な解説と、その使用例について説明します。

# Future.microtask

1. Future.microtaskとは?
Future.microtaskは、すぐに実行するべきタスクをスケジュールするためのメソッドです。Dartのイベントループ内で最も高い優先度を持つため、できるだけ早く実行されます。これは、非同期処理の中で短時間で完了するタスクを実行するのに適しています。

2. 基本的な使い方
Future.microtaskは、以下のように使用されます。

“`dart
Future.microtask(() {
/

元記事を表示

[Swift] ハミング距離の計算アプリ

# はじめに
こんにちは!
Swiftの学習を兼ねて、以前執筆した内容を、Swiftで実現してみようと思います。

今回は、[ハミング距離による類似画像の検出](https://qiita.com/yam_dev/items/e5f69b0c7b670aa498cb)にチャレンジです。

最初にお伝えしておくと、あまり実用性はありません!
こういうことができるんだ、という程度で見ていただけると幸いです!

# 要件
–  画像を2枚アップロードできる
–  比較ボタンをタップすると、画像のハミング距離と類似度を表示する

# 準備
プロジェクトの作成方法は、[Swift & SwiftUIでタロットカードアプリを作る](https://qiita.com/yam_dev/items/871b47c1065f570ff17a) を参照してください。

User Interfaceは`SwiftUI`を選択しました。

### 今回のディレクトリ構成
ContentViewのみ修正してます。

SwiftとSwiftUIでイラっとするデジタル時計を作る

# はじめに
こんにちは!
最近、改めてSwiftはできた方がいいな、と思い、少しずつ学習中です。

今回は、デジタル時計を作ります。
せっかくなので、色々な効果を適用して、イラっとする動きにしてみました。

# 要件
– デジタル時計を表示する
– 1秒おきに様々な効果を適用する

# 準備
プロジェクトの作成方法は、[Swift & SwiftUIでタロットカードアプリを作る](https://qiita.com/yam_dev/items/871b47c1065f570ff17a) を参照してください。

User Interfaceは`SwiftUI`を選択しました。

### 今回のディレクトリ構成
ContentViewのみ修正してます。

# 実装
“`swift:ContentView.swift
im

元記事を表示

【iOS】AndroidエンジニアがSwiftUIを触ってみた感想

普段Androidアプリを開発している私は、興味本位でiOS開発をしてみたくなり、Apple Developerのサイトに公開されているSwiftUIのチュートリアルを見ながら学習しました。

https://developer.apple.com/tutorials/swiftui/creating-and-combining-views

今回はSwiftUIを触ってみた軽い感想を書きます。

**結構楽しいですね。**

## 大まかな感想
Androidの**Jetpack Composeと記述の仕方が似ている**なというのが、第1印象でした。

どちらも宣言型のUIでしたね。

少ない行数である程度の機能を実装できるのは、かなり便利です。

## 良きかなポイント👍
ここでは私が特に良かったと感じたところについてお伝えします。

私の良きかなポイントはこちらです。
– マップの実装が簡単
– Swiftを使用しているため、言語の学習コストが低かった

### マップの実装が簡単
1. ビューファイルを用意した後に`Mapkit`をimport
2. 表示場所を設定するメソッ

元記事を表示

SwiftとSwiftUIで上長ダッシュアプリを作る

# はじめに
こんにちは!
普段、開発作業を行なっていると、様々な問題が発生しますよね。

進捗がやや遅れ気味とかいまいち理解が追いつかないとか、それならまだ安心。
モチベーションの低下など、メンタル面に影響すると、大変なことになります。

特にメンタル面は早期に解決した方がいいので、少しでも早くアラートを上げるべき。
しかし、どのタイミングでアラートを上げるべきか、そして何を伝えるべきか、分からなかったりします。

そこで、今回は、ボタンを押すだけでアラートをGoogleチャットに送信するシンプルなiOSアプリを作成します。

少しでも解決の一助となれば幸いです。

# 要件
– 名前を設定できる
– Webhook URLを設定できる
– 名前とWebhook URLはローカルストレージに保存され、次回起動時に利用される

# 準備
プロジェクトの作成方法は、[Swift & SwiftUIでタロットカードアプリを作る](https://qiita.com/yam_dev/items/871b47c1065f570ff17a) を参照してください。

User Interfaceは

元記事を表示

【Flutter just_audio Error】(-1202) The certificate for this server is invalidを解決する

## なにこれ
– Flutterでjust_audioというパッケージを使って[Tebi Storage](https://tebi.io/)を使って保存していたmp3ファイルのURLセットして音楽を流そうとしたら`The certificate for this server is invalid.`みたいなエラーが出た
– **`LockCachingAudioSource`を使うと解決!**

## 🥀 出たエラー
– First one
~~~
[ERROR:flutter/runtime/dart_vm_initializer.cc(41)] Unhandled Exception: (-1202) The certificate for this server is invalid.
#0 AudioPlayer._load (package:just_audio/just_audio.dart:870:9)

#1 AudioPlayer._setPlatformActive.setPlatform

元記事を表示

Compose Multiplatform を Xcode Cloud で使う際にハマったポイント

Xcode Cloud で Compose Multiplatform を使用した iOS アプリのビルドを行う際にハマったことを共有したいと思います。

:::note info
Xcode Cloud 環境
– Xcode 15.4
– macOS Sonoma 14.5
:::

# Java のインストールが必要 :coffee:
Gradle で Kotlin のコードをビルドするために Java が必要となりますが、mac には Java が入っていないのでインストールする必要があります。

Xcode Cloud で Git リポジトリをクローンした後に実行させたい処理を記載できる `ci_post_clone.sh` を使用して Java をインストールします。

“`zsh:ci_post_clone.sh
#!/bin/zsh

brew install openjdk@17
“`

ここらへんに関しては DroidKaigi2022 のリポジトリを参考にさせてもらいました 🙏

https://github.com/DroidKaigi/conference

元記事を表示

今あるサイトを手軽にアプリ化

## 既存のサイトをアプリのように見せたい、そんな時にPWAは強力
– すでにサイトはあるが、アプリはない。
– アプリを作るまでではないが、あったらあったでうれしい。

## PWAを使えば、ほぼ工数をかけずアプリ化することができる
– 前提条件
– HTTPSが使える。
– 簡単にお試ししたいのであれば、[Netlify](https://app.netlify.com)がおすすめ。
– 手順
1. マニフェストを作成。
– アプリの説明などを記述 。
1. サービスワーカーを作成。
– 既存のサイトをアプリのようにみせるだけであれば、最低限の実装で十分。
– 作りこむことで、オフラインでの使用・プッシュ通知などが行えるようになる。
1. アプリ化させたいページで、マニフェストとサービスワーカーを読み込む。
– サンプル
– https://github.com/skanno/sample_pwa

## アプリとしてインストールするには?
– ブラウザで該当ページを読み込み、「ホーム画面に追加」を行う。

元記事を表示

SwiftUI 画面遷移(NextView)の課題について

画面遷移にnextViewという変数を用意するパターンはよくある。
nextViewが悪さをしたので備忘録として残そうと考えた。

今回の課題は特定的であり、汎用性の高いものではない。

遷移画面が増えてきた時に、毎回navigationDestinationのModifierとViewで使用する変数(`@State`と`@Binding`の2つ以上)を用意するのは、冗長なのではないだろうか。

という考えに思い至り、簡単になるような処理を実装してみた。

**冗長だという考えに至った状態**
“`swift
// View
}
.navigationDestination(isPresented: $showExhibitView) {
ExhibitView(showExhibitView: $showExhibitView)
.navigationTitle(“”)
.navigationBarBackButtonHidden(true)
}
.navigationDestination(isPresented: $showArtDet

元記事を表示

日本初の英語Flutterイベント、FlutterNinjas Tokyo2024に参加してきました!

# はじめに

2024/6/13~2024/6/14にお台場で開催された「**FlutterNinjas Tokyo 2024**」に参加してきました。英語で実施されるFlutterイベントは**日本初**とのことで、かなり豪華なメンバーでした!

Flutterアプリ開発には欠かせない「Riverpod」、「Provider」などのライブラリの作者である「**Remi Rousselet**」さんも登壇されていました。

# セッションの感想
どのセッションも素晴らしかったですが、とても語りきれないので特に印象に残ったセッションについて感想を書きます!

:::note warn
拙い英語力で理解した内容なので間違っていたらすみません!
:::

## Riverpod 3.0, the preview
スピー

元記事を表示

iOSエンジニア求人から見る市場で求められているスキル 2024年

# 対象読者

* iOSエンジニア
* iOSエンジニア転職を考えている人
* 人事

# 求められているスキル

iOSDCスポンサーなどある程度積極的にiOS求人を出している会社から選出
MustやWantに上げられている経験やスキルを箇条書き

## Must

### iOSアプリ開発

– 3年以上のiOS開発・運用経験(Objective CおよびSwiftなどの利用)
– Swift・Objective-Cなどを利用したiOSアプリ開発経験(4年以上)
– Swiftを利用したiOSアプリの開発、運用経験
– iOSアプリエンジニアとして実務経験3年以上
– Swiftを利用したiOS向けネイティブアプリケーションの開発経験
– Swiftを利用したiOSアプリの開発経験
– SwiftによるiOS向けネイティブアプリケーションの設計、開発、および運用経験
– iOS向けネイティブアプリの開発経験
– iOSアプリの開発に携わる3年以上の実務経験
– iOS/iPadOS アプリの開発経験 (Swift)
– SwiftもしくはKotlinを用いたネイティブアプリ開発

元記事を表示

iOSアプリでのQR読み取りの記事メモ

# リンク

https://zenn.dev/jollyjoester/articles/a053d4e25523b6

https://qiita.com/KokumaruGarasu/items/e49030098d92f9eba40e

https://qiita.com/Ryu0118/items/4ee5c67558476c22318d

元記事を表示

学園アイドルマスターのバックグラウンド再生が凄い という話

## TL;DL
– ゲームアプリ「学園アイドルマスター」にはAndroid/iOS端末で楽曲のバックグラウンド再生機能がある
– Unity+CRIWareでバックグラウンド再生を行うのは障害がある
– バックグラウンド再生用にネイティブPluginを実装しないと多分実現できない、凄く手間がかかっている

## この記事の目的
学園アイドルマスターには楽曲のバックグラウンド再生機能があります。
この記事は、バックグラウンド再生の何が凄いのか、実装する上で何が障害になるかを考察する事を目的としています。

## 免責事項
筆者は株式会社バンダイナムコエンターテインメント及び株式会社QualiArtsとは無関係です。
また、筆者はスマートフォン用ゲームアプリ「学園アイドルマスター」の開発に一切関わっていません。
この記事では、「学園アイドルマスター」のゲーム内画面をスクリーンショットで引用しています。

## 学園アイドルマスターとは
https://gakuen.idolmaster-official.jp/

QualiArtsとバンダイナムコエンターテインメントが2024年5月16

元記事を表示

OTHERカテゴリの最新記事