概要
普段AndroidアプリエンジニアをしているKSNDというものです。
4年くらい前に個人開発でiOSアプリ開発を1ヶ月だけしてストアにも一度公開はしたもののそれから全く触らずにいて、最近になってAndroidだけでなくiOSの方もコミットとかできたら仕事でもっといろんなことできて嬉しいのでは?などと思い始めて学び始めた際にせっかくならメモ残した方が定着とかしやすくなるかもと考えこちらの記事を作成しました。
最初にChatGPTに学び方を適当に聞いてみる
知識マッピングから入る → 言語を押さえる をお勧めされた
<知識マッピング例>
-
Activity
,Fragment
と近い存在なのはUIViewController
(UIKit),View
(SwiftUI) -
LiveData
,Flow
に近い存在なのはCombine
,ObservableObject
-
Gradle
に近い存在なのはXcode Build System
(ライブラリ管理はSwiftPM
,CocoaPods
-
AndroidManifest
に近い存在なのはInfo.plist
KotlinとSwiftの違いが書かれている記事をいくつか見る
- Kotlinの
var
,val
はSwiftだとvar
,let
- Kotlinの
Map
はSwiftだとDictionary
で宣言方法が個人的に違いが大きいと思った - KotlinのラムダはSwiftだとクロージャ
- Kotlinの
?:
(エルビス演算子)はSwiftだと??
(Nil合体演算子) -
if let
とguard let
でNilでない時とNilの時の処理を分けられる - 思っていたよりKotlinと似ている
iOS → Android, Android → iOS をしてみた方の記事をいくつか見る
App Dev Tutorials 見てみる
Androidでの学習で基礎的なことを広く学べるCodelabのようにiOSでも公式のページがあるということを知ったのでとりあえず手を動かして見ていきます。
全部英語なので自動翻訳しながらでした。
各チュートリアルで初期状態と完成形の両方を確認できるのでつまずき辛くはなっているように思います。
- 最新のxcodeが必要とのことだったので
XcodesApp
を使用し、とりあえず現時点での安定版?の最新16.4.0をインストール - チュートリアルに沿って新規プロジェクトを作成
- (
Multiplatform
が最初に表示されていて驚き...)
- (
SwiftUI関連のものは一旦実際に手を動かして見てみました

気になったりしたこと
-
Created by KSND on 2025/08/11
のようにファイルのヘッダーに自動でコメントが生成されていて、バージョン管理とかしてたらいらないのではと思ったが、デフォルトで設定されているのは何かしら経緯がありそうで気になった - someとは?
- 具体的な型を隠してプロトコルや制約だけを公開するものらしい
- localで追加した
package dependencies
をimportしようとしたらNo such module <追加したもの>
と表示されて困った- 下記の記事を参考にフレームワークの依存?を追加したら読み込めるようになった
- https://stackoverflow.com/questions/57165778/getting-no-such-module-error-when-importing-a-swift-package-manager-dependency
-
NavigationLink
で囲んだアイテムにインジケーターが勝手につくのはそこそこ違和感があった - Swfitの
Error
はプロトコルだからenumとかでも定義できるのは驚き
iOSではどう実装するかの記事をいくつか見る
非同期まわり
DIまわり