- 1. プログラミングを行う上で意識していること4選
- 2. 話題のkotlin Multilatformを使ってみた(環境構築~ビルドまで)
- 3. Tab Bar の上に AdMob バナー広告を表示する
- 4. iPhoneの実機からMacのlocalhostに接続する方法
- 5. iOSバーコードリーダーの読込範囲指定方法
- 6. [2024年]FlutterをiOS Simulatorでデバックがうまくいかなかった時の解決方法
- 7. 【XCode】Scheme名の変更方法
- 8. 完全未経験からiOSエンジニアを目指してみた
- 9. 【iOS】AdMobでバナー広告を表示する流れ(SwiftUI)
- 10. SwiftとDartの変数、定数宣言、型推論の違い
- 11. Flutter で Android のナビゲーションホームボタンと同じようにホーム画面に戻る処理を実装する
- 12. 【Swift】CustomStringConvertibleについて調べてみた
- 13. FlutterとFlaskを使用したTimeeみたいなパートタイム求人アプリの作成
- 14. Flutterで作る本格的なPongゲーム!スコア表示付き
- 15. Flutter中級者へのステップアップガイド:実践的なテクニックと応用
- 16. SwiftUIでボイスメモの録音ボタンをつくる
- 17. わいとVimとの出会い
- 18. 結局iOSアプリは”何”で出来ているのか
- 19. 【AppStoreConnect】プレビュー動画アップロード時のエラー対応メモ
- 20. Flutter初心者のためのガイド:基本から始めよう
プログラミングを行う上で意識していること4選
## 本記事について
プログラミングを学び始めたばかりの頃、どのように学習すれば良いか悩む方が多いと思います。私自身も最初は同じように悩み、遠回りしてしまったと感じています。
そんな私が、プログラミング経験を積んで年数を重ねた今だからこそ実感する、プログラミングを学ぶ際に意識すべき4つのポイントを紹介します。
:::note warn
今回紹介する内容が全て正しいとは限りません。
全て鵜呑みにせず、参考程度に留めてください。
:::## 意識するポイント4選
1. ざっくりと全体像を掴む
1. コメントを活用する
1. デバッグでコードの流れを把握する
1. 自身で作りたいものを考えてコードを書いてみる### 1. 全体像を掴む
コード細かく全てを理解せずに、ざっくり把握することを意識しています。
ざっくり把握するために、まず大枠のstruct(構造体)やclass(クラス)の名前から理解していきます。下記のサンプルコードを見ながら、実際にイメージしてみましょう。
これはどんなデータまとまりでしょうか?“`swift
struct UserSetting
話題のkotlin Multilatformを使ってみた(環境構築~ビルドまで)
# はじめに
みなさん、kotlin Multiplatform(KMP)ってご存じでしょうか?
https://www.jetbrains.com/ja-jp/kotlin-multiplatform/Kotlin Multiplatformはさまざまなプラットフォーム向けのアプリケーションを作成し、ネイティブプログラミングのメリットを維持しながらプラットフォーム間でコードを再利用可能にするテクノロジーです。(公式原文まま)
何がすごいってiOS, android, windows, Linuxなど異なるOSで動作するので、これを使えば極論、全てのコードを一括管理できるわけなんです。
ひと昔はiOSならObjective-Cやswift、androidならandroid kotlinなど、OSごとに異なるソースで管理されていたものが、KMPを使うと一つのコードに集約できちゃうらしいんですよ!(筆者はiOSエンジニアなのでandroidエアプです)
最近はFlutterとか、React Nartiveとかでクロスプラットフォームフレームワークがどんどん出てきましたが、今回は、
Tab Bar の上に AdMob バナー広告を表示する
昔作った iPhone 向けのアプリにバナー広告を Tab Bar の上へ追加したのですが、そのときにかなり時間がかかってしまったので、備忘録を残しておきます。SwiftUI ではなく、Storyboard でのお話です。
### 完成図
Tab Bar の上に広告が表示され、タブを切り替えても同じ広告が表示されます。![screen.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3853334/b6b617d4-bcdb-d85f-8e1d-01cf5a00d474.png)
### 環境
Xcode: 15.2
Firebase Apple SDK: 10.28.0### 画面構成 (Storyboard)
画面の下にタブの切り替えボタンがあるごく普通のレイアウトです。View Controller は、わかりやすく背景に色をつけた View を配置しています。青と赤の画面では、ボタンを配置し、それぞれ緑・黄色の画面へ遷移できるようにしています。Tab Bar Controller
iPhoneの実機からMacのlocalhostに接続する方法
Mac上のモック化されたAPIサーバーにiPhoneの実機から接続する方法です。
# 手順
* iPhoneのインターネット共有を有効にします
* MacからiPhoneのネットワークを利用するようにネットワーク設定を変更します
* MacのIPアドレスを調べます
* MacのIPアドレスをコードで指定します(例: `http://172.20.10.2/hoge.json` )
* iPhoneの実機からAPIなどを実行します参考
https://ishwar-rimal.medium.com/accessing-macs-localhost-on-your-iphone-5d564a387f09
iOSバーコードリーダーの読込範囲指定方法
# はじめに
iOSバーコードリーダーの読込範囲指定をしたかったが、なかなか上手くいかず、
解決するまでに時間がかかったため、読込範囲指定方法についての記事を投稿します。またソースコードは最低限しか載せていません。
基本的なバーコード読み取り方法に関しては、他の記事を参考にしてみてください。# 完成図
作成中のアプリにはなりますが、
バーコード読み取り後、楽天APIを叩き、楽天から書籍情報を取得し、表示させています。![Videotogif.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/204266/fbb3a7cd-2aea-ac71-0478-77e4bcd9a9fe.gif)
# バーコードリーダーの読込範囲指定方法
### 1. 読込範囲を指定するためのViewを作成
下記画像の通り、captureViewを作成します。
![スクリーンショット 2024-08-05 23.44.37.png](https://qiita-image-store.s3.ap-northeast
[2024年]FlutterをiOS Simulatorでデバックがうまくいかなかった時の解決方法
Fluttterをやり始めて、最初のころはchromeでデバックしていたのですが
iOS Simulatorでデバックしようとしたところうまくいかず苦労したので、
解決方法をメモしておきます。【環境】
・PC:Mac(OS: Sonoma ver14.6)
・Flutter: ver. 3.22.3
・エディタ: cursor## 症状
本来は、Simulatorを起動させておいてcursorのデバイス選択からSimulatorを選択し、
![sdヴィっxっcえ.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3332453/aeccfdaf-cf45-5ab1-58aa-c767b37c219e.png)“Flutter”を選択状態で三角ボタンを押してデバックを実行するだけでいけます。
![流ううn.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3332453/392363a8-6c0e-642d-f9be
【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