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

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

【XCode】Scheme名の変更方法

# はじめに
iOSのアプリ開発を進めているうちに、途中でプロジェクト名を変更したくなりました。
ネットに落ちている記事である程度プロジェクト名を変更できたものの、
Scheme名の部分のみネットの情報が不足しており、変更に時間がかかりました。
上記の経緯から、本記事にScheme名の変更方法についてまとめることにしました。
誰かの参考になればと思います。

# 変更方法
Scheme名を変更する手順は以下の通りです。

### 1. Schemeの管理
下記画像の通り、「Manage Schemes…」を選択します。
※この例では、「Rakucode」から「Simplebook」に名前を変更したい想定です。

![スクリーンショット 2024-08-04 22.23.56.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/204266/d91656ab-8cb6-46d1-0d1e-8e267df6430e.png)

![スクリーンショット 2024-08-04 22.24.08.png](http

元記事を表示

完全未経験からiOSエンジニアを目指してみた

こんにちは
今までエンジニアとは無縁の人生を送ってきたかつ理系でも文系でも無い自分がiOSエンジニアを目指すようになって普段からしている事などまとめます。
何より現在は初歩の初歩状態なのでこの初心者手前の状態を記録することに何か将来意味があるのではと思ったので。

何故急にエンジニアに方向転換を決めたのか?
趣味です。

何故iOSエンジニアにしたのか?
元々Appleのオタクをしていたから。 つまり好きだから。  以上

動機はこんなもんです。軽くていいの。それで十分です。面接の時はもう少し話すかな…でも好きとか楽しいに勝る動機なんか存在しません。

さて、今の時代エンジニアを目指すにあたって便利な学習ツールが数多く溢れてます。
chatGPT Udemy Amazonで売ってる書籍 YouTube Apple Developer Document ネットに落ちてる様々な記事など。 これらをフル活用して自分は日々勉強してます。

chatGPT-4oについて少し語ろうと思います。
このツールが優秀すぎてこれからエンジニアをやろうと考えてる方も簡単になれますみたいなのも言われてる

元記事を表示

【iOS】AdMobでバナー広告を表示する流れ(SwiftUI)

## 概要
個人開発アプリで初めてバナー広告を表示してみました。
その時の流れをメモとして残します。

(余談)このアプリに広告を入れた時のメモです。
https://apps.apple.com/jp/app/hit-blow-app/id6587553399
[![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/469133/18c5608e-b9de-3541-928b-7ab6a9c84019.png)](https://apps.apple.com/jp/app/hit-blow-app/id6587553399
)

## 本題
### AdMobアカウントの作成
https://support.google.com/admob/answer/7356219?hl=ja&visit_id=638582155447511477-2789080356&rd=1

お支払い情報なども入力。

### AdMobにアプリを登録
https://support.google.com/adm

元記事を表示

SwiftとDartの変数、定数宣言、型推論の違い

母語がSwiftとなっているので、メモ

### SwiftとDart比較
Swift
“`swift
import Foundation

// 変数の宣言
var myVariable = 42
myVariable = 50

// 定数の宣言
let myConstant = 42

// 型推論による変数の宣言
let inferredInt = 42 // inferredIntはInt型
let inferredDouble = 3.14 // inferredDoubleはDouble型
let inferredString = “Hello” // inferredStringはString型

// 明示的な型宣言した定数
let explicitInt: Int = 42
let explicitDouble: Double = 3.14
let explicitString: String = “Hello”

// 明示的な型宣言した変数
var name: String = “John”
var age: Int = 30
va

元記事を表示

Flutter で Android のナビゲーションホームボタンと同じようにホーム画面に戻る処理を実装する

# なにこれ

– 戻るボタンを無効化したけど、戻るボタンで色々処理をさせたい時があった
– その時、前画面に戻るだけでなく、最上位の画面なら pop せずにアプリをバックグラウンドに行かせて、ホーム画面に行く処理を実装したいと思った
– 以前書いた戻るボタン無効化の記事は以下

https://qiita.com/su3-hokkaido/items/48f5d8bf8b5a487f691f

# 解決方法
### `move_to_background` パッケージをインストールする

パッケージ公式ガイドはこちら

https://pub.dev/packages/move_to_background

インストールコマンドはこちら
“`dart
flutter pub add move_to_background
“`

yaml に直接書く場合はこちら(バージョンは後述の公式ページにあるバージョンを参照してください)
“`pubspec.yaml
dependencies:
move_to_background: ^1.0.2
“`

### onPopInvo

元記事を表示

【Swift】CustomStringConvertibleについて調べてみた

アップルさんのサンプルコードを調べているときに、CustomStringConvertibleというProtocolを使っていました。
見たことあるけどどういうものだったかな? と疑問に感じたので、調べてみました。

## CustomStringConvertibleとは

> Types that conform to the `CustomStringConvertible` protocol can provide their own representation to be used when converting an instance to a string. The `String(describing:)`initializer is the preferred way to convert an instance of _any_ type to a string. If the passed instance conforms to `CustomStringConvertible`, the `String(describing:)` initializer

元記事を表示

FlutterとFlaskを使用したTimeeみたいなパートタイム求人アプリの作成

### はじめに

こんにちは!今回は、FlutterとFlaskを使用して、ユーザーが1時間または2時間のパートタイム求人に応募でき、管理者が新しい求人を投稿できるアプリを作成する方法をご紹介します。

APIはローカルホストのポート8000で動作すると仮定します。

### Flutterプロジェクトのセットアップ

まず、新しいFlutterプロジェクトを作成しましょう。

“`bash
flutter create part_time_job_app
cd part_time_job_app
“`

### APIとの通信

FlutterアプリからFlask APIと通信するために、`http`パッケージを使用します。`pubspec.yaml`に以下を追加してください:

“`yaml
dependencies:
http: ^0.13.3
“`

### 求人一覧の表示

FlaskAPIから求人一覧を取得し、表示する機能を実装します。

“`dart
import ‘package:flutter/material.dart’;
import ‘pac

元記事を表示

Flutterで作る本格的なPongゲーム!スコア表示付き

## Flutterでゲームを作ろう!

こんにちは、Flutter開発者の皆さん!今回は、Flutterを使って本格的なPongゲームを作成する方法を詳しく解説します。スマートフォン向けに最適化され、右上にスコアを表示する機能も実装します。さあ、一緩に作っていきましょう!

### 1. プロジェクトのセットアップ

まずは、新しいFlutterプロジェクトを作成し、必要なパッケージをインストールします。

“`bash
flutter create pong_game
cd pong_game
flutter pub add flame
“`

### 2. main.dartファイルの作成

`lib/main.dart`ファイルを以下のように編集します。

“`dart
import ‘package:flame/game.dart’;
import ‘package:flutter/material.dart’;
import ‘pong_game.dart’;

void main() {
runApp(
MaterialApp(
home

元記事を表示

Flutter中級者へのステップアップガイド:実践的なテクニックと応用

# Flutter中級者へのステップアップガイド:実践的なテクニックと応用

こんにちは、Flutterファンの皆さん![前回の初心者向けガイド](https://qiita.com/negisys/items/1b7ba800908929adfdd2)に続いて、今回はもう一歩踏み込んだ内容をお届けします。Flutterの基本を押さえた方々向けに、より実践的なテクニックと応用例を紹介していきます。長い記事になりますが、じっくりと取り組んでいけば、きっとFlutterマスターへの道が開けるはずです!

## 1. 高度なウィジェットの活用

Flutterには、基本的なウィジェット以外にも多くの高度なウィジェットが用意されています。これらを使いこなすことで、より洗練されたUIを作成できます。

### 1.1 CustomPainter

`CustomPainter`を使用すると、カスタムの図形やグラフィックスを描画できます。

“`dart
class MyPainter extends CustomPainter {
@override
void paint(Canvas

元記事を表示

SwiftUIでボイスメモの録音ボタンをつくる

## はじめに

ランダムでエフェクトがかかるレコーダーアプリを個人開発したときに、iPhone純正アプリのボイスメモ録音ボタンを再現したことがあるのでメモ

https://apps.apple.com/us/app/randomeffectrecorder/id6449289485

## できるもの
ライト、ダークモードに対応してます。

ボタンをタップして録音中は中央の赤い円が四角くなります。
わいとVimとの出会い

:::note warn
この記事は[Vim駅伝](https://vim-jp.org/ekiden/)の2024年7月31日向けの記事です。
前回は、[thinca](https://thinca.hatenablog.com/entry/2024/07/megurovim-24) さんでした。
:::

# はじめに

ども、とんとんぼです!iOSを中心にモバイル開発やってます。
最近、vim-jp というコミュニティに入りました。
そこで自己紹介を含めて自分がどのようにvimと出会い、vimの沼にハマったかを紹介します。

# Vim との出会い
大学4年生の時、私はVimと出会いました。当時、理系の学生として論文やレポートを作成するために、主に $\TeX$ という文章作成ツールを使っていました。

$\TeX$ は、Donald E. Knuthによって開発され、複雑な数式を美しく整形することができる文章作成ツールです。しかし、$\TeX$ の環境構築が非常に難しいことから、自分のローカル環境ではなく、外部ツールに依存することにしました。そこで出会ったのがOverleafと

元記事を表示

結局iOSアプリは”何”で出来ているのか

# はじめに

こんにちは。初心者です
これまで、Swiftのクラスや、クラスを利用したDelegateのことを勉強してきました
ですが、Swiftの文法を勉強している初心者のほとんどの人が書籍を読んだり、記事を読んだりして勉強しているとき、こう思ったことではないでしょうか

**「で、これどこで使うんだ??」**

Swiftを勉強しているということは、99.9%の人がiOSアプリの開発が目標あるいは目的だと思います
なんやかんやして文法を勉強していて、なんとなく分かったなーと思っても、それが実際にどう使われているのか分からないとモチベーションは上がらないのは当然だと思います。Swiftという言語とアプリがどのように関連しているのか想像がしづらいと思います

それだと、本質的に理解をすることは難しいなあと痛感したので、今回の記事では『アプリとSwiftってこんな関係なんだ〜』、『アプリってこんな仕組みで動いているんだな〜』ということを知ってもらえれば幸いです

今回もこれまでの記事は読了前提で書いていくので、よければ是非読んで行ってください(ダイマ)

https://qiita.

元記事を表示

【AppStoreConnect】プレビュー動画アップロード時のエラー対応メモ

## 概要
基本的にプレビュー動画の要件に則っていれば問題ない。
https://developer.apple.com/jp/help/app-store-connect/reference/app-preview-specifications

対応時にエラーとなった事象と、対応内容をメモとして残します。

## エラー1
:::note alert
Appプレビューのオーディオがサポートされていないか、破損しています。
:::

### 原因
オーディオ情報が仕様通りではなかった。

### 対応
– ボイスメモで適当な音を撮影
– iMovieで動画に設定
– 音量を0
– 書き出してアップロード

![スクリーンショット 2024-07-30 14.13.11.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/469133/8ecba74a-e464-5394-196d-63384468ba22.png)

## エラー2
(細かいエラーメッセージ忘れました😅)

:::note alert

元記事を表示

Flutter初心者のためのガイド:基本から始めよう

Flutterは、Googleが開発したクロスプラットフォームのモバイルアプリ開発フレームワークです。1つのコードベースでiOSとAndroid両方のアプリを作成できる点が大きな特徴です。このガイドでは、Flutter初心者の方向けに、基本的な概念から応用まで、サンプルコードを交えて解説します。

## 1. Flutterの基本構造

Flutterアプリの基本構造は、ウィジェットと呼ばれる部品を組み合わせて構築します。最もシンプルなFlutterアプリは以下のようになります:

“`dart
import ‘package:flutter/material.dart’;

void main() {
runApp(MyApp());
}

class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(
ti

元記事を表示

Microsoft Defender for BusinessにiPhoneを追加する

一人で会社を始めたため、セキュリティ対策をどのように実施するかも自分で考える必要がありました。最近では通常のマルウェア対策ソフトのみならず、エンドポイント対策としてEDR (Endpoint Detection and Response)やXDR (Extended Detection and Response)は必須だと考え、Microsoft Defender for Businessを会社立ち上げ当初から使っています。
このMicrosoft Defender for Business、Windows マシンへの導入は簡単にできたのですが、iPhoneへの導入がうまくできていなかったので、その原因(単純な設定洩れ)を記録として残します。
# Microsoft Defender for Businessとは
Microsoft Defenderは、Microsoft社が提供しているエンドポイント対策製品です。個人向けの「Microsoft Defender」は、Microsoft 365のサブスクリプションに含まれていて、個人が使うWindows/Mac/iOS/Androidの

元記事を表示

Flutterビルド時に突然`Framework ‘Pods_Runner’ not found`でビルドできなくなった時の対処法

# 問題
FlutterアプリをiOSで起動させようとした時、以下のエラーがXcodeで表示されたビルドができなくなってしまった
“`
Framework ‘Pods_Runner’ not found
“`

# 試したこと

**flutter clean**
“`shell
flutter clean
“`

**Podfile.lock削除 -> pod install**

“`shell
cd ios
rm -f Podfile.lock && pod install
“`

**Xcodeのキャッシュを消す**
“`shell
rm -rf ~/Library/Caches/com.apple.dt.Xcode/
“`

**Xcodeの中間生成物を消す**
“`shell
rm -rf ~/Library/Developer/Xcode/DerivedData/
“`

=> 効果なし

# 解決方法
0. Podfileの内容をコピーしておく
1. `ios/Podfile`を削除
“`shell
cd ios && rm -f

元記事を表示

XcodeのIOSアプリ雛形を最低限いじっておきたい

# はじめに
ここではSwiftでのIOSアプリ作成の基本をまとめる。雛形はXcodeで提供されており、Hello, Worldを表示するものが提供されている(以下写真は初期状態のままビルド、テストしたもの)。本記事では、都度初歩的な疑問を解消しながら雛形を解説し、最低限いじれるように操作をまとめ、その結果を共有しておく。

![スクリーンショット 2024-07-26 18.40.55.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/680028/0d1f2d6d-ab4c-b7cb-848e-54aa4e07544b.png)

# テンプレのファイル群の解説
`Create New Project…`より`Choose a template for your new project:`をクリックし、`IOS`タブから`App`を選ぶ。そして必要な情報(プロジェクト名や言語等)を入れる。

ここで得られる雛形は”Hello, world!”画面を表示するだけのアプリとなっている。リポジトリの構成

元記事を表示

【SwiftUI】UIKitのdelegateを利用する方法

# はじめに
iOSアプリ開発未経験でしたが、仕事でiOSアプリ開発プロジェクトに参画したので少しずつ勉強をやっています。
Swiftでdelegateを使う方法はなんとなく理解していたのですが、SwiftUIだとどのように使うのか苦戦したのでまとめてみました。

# 今回の実装内容
1. UICalendarViewを利用してカレンダーを表示する
1. カレンダーの日付ごとに特定の文言や画像を表示する
1. 日付ボタンをタップした際に独自処理を行う

Simulator起動すると以下のような画面表示になる。
![実装イメージ](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3846857/531aac40-133a-2f66-bb82-b0ad3e82cb92.png)

# そもそもdelegateとは何か?
あるクラスから他のクラスに処理を移譲(delegate)すること
親子関係のあるClassを例にすると、ClassA(親クラス)にメソッドだけ準備しておき、処理の詳細はClassB(子クラス)で定義する

元記事を表示

iPhoneのデベロッパーモードが見当たらない

## 環境
iPhone12
## 現象
設定>プライバシーとセキュリティ>デベロッパーモード
が見つからない

## 対処法
– 何度か繋いだり外したりを繰り返す
– 「信頼する」を押下
=> デベロッパーモードが出現する

## 参考
https://qiita.com/smzn1222/items/20707df7ebce05efd77d

元記事を表示

pod install するとCocoaPods could not find compatible versions for pod “cloud_firestore”となる解消法

## 環境
– Flutter
“`
Flutter 3.24.0-0.1.pre • channel beta • https://github.com/flutter/flutter.git
Framework • revision b864805a68 (4 days ago) • 2024-07-23 16:06:18 -0700
Engine • revision d89dd85f25
Tools • Dart 3.5.0 (build 3.5.0-323.1.beta) • DevTools 2.37.0
“`
– yml
“`yaml
dependencies:
flutter:
sdk: flutter
cloud_firestore: ^5.1.0 # 問題のあるversion
“`
– ios(Simulator)
`ios:15`

## エラー全文
“`
[!] CocoaPods could not find compatible versions for pod “cloud_firestore”:
In Podfile:

元記事を表示

OTHERカテゴリの最新記事