0.App Development with Swift 公式ドキュメントをひたすら翻訳する

0.App Development with Swift 公式ドキュメントをひたすら翻訳する

どーも!英語弱者のりゅうです(「・ω・)「

英語を嫌煙しながらiOSエンジニアをしてきましたが、Swift公式の資格が「英語のみでの受験」という詰んだ状態になってしまいました。

Duolingoで英語の勉強をはじめたものの、
今の自分の英語力で表現できるのは、

「My uncle went to London last week.(私の叔父が先週ロンドンにいってきました。)」

みたいなレベルなので、
Swiftのドキュメントは到底解読できず翻訳ツールに投げながら勉強していました。

Memo

AppleのBookアプリはコピペができなくなり、翻訳作業がしんどい。

知っておきたい情報たち

  • 資格の名称:App Development with Swift(Certified User)
  • 公式ドキュメント:Develop in swift Fundamentals:https://books.apple.com/jp/book/develop-in-swift-fundamentals/id1581182804
  • 料金:一般¥10,780(税込)/学割¥8,580(税込)
  • 試験実施方式:CBT試験(試験場のPCで受ける)
  • 出題形式:選択肢形式、ドロップダウンリスト形式、クリック形式、ドラッグ&ドロップ形式(※たまに記述もある)
  • 問題数:40問(くらい)
  • 合格ライン:正解率70%
  • 所要時間:50分
  • 試験結果(合否):試験終了直後に判定され、「試験結果レポート」が渡される
  • 再受験:1回目は前回の受験から24時間後、2回目は120時間後
  • 受験できる場所:東京だと12箇所で受けられる。(※執筆時点)


その他の地域の方は公式サイトより検索してご確認ください🙇‍♂️

Memo

2018年よりアメリカで試験が開始され、2019年に日本でも受験できるようになったばかりなので、歴史はまだ浅い。

App Development with Swift(Certified User)の出題範囲(※2024年10月更新)

公式サイトより出題範囲を抜粋

Attention

2024年10月からSwiftUIの問題が範囲にこっそり追加されています。
その他にも更新された内容を反映しています。
2025年1月に受けたらSwiftUIわからなくて詰んだ。

▼ 原文

Objective Domains

Individuals who earn the App Development with Swift Certified User certification exemplify knowledge of core concepts and practices that Swift programmers use daily and build a basic fluency in Xcode source and UI editors. Students will be able to create iOS apps that adhere to standard practices, including the use of stock UI elements, layout techniques, and common navigation interfaces.

Xcode Developer Tools

  • 1.1 Identify and use the features of the Xcode interface
    • 1.1.1 Navigate Xcode
    • 1.1.2 Create and modify views with Interface Builder
    • 1.1.3 Demonstrate how to access documentation and help
  • 1.2 Demonstrate how to build and run an app
    • 1.2.1 on the iOS simulator
    • 1.2.2 on the iOS device
  • 1.3 Use debugging techniques including, but not limited to,breakpoints, watchpoints, and logging to resolve errors
    • 1.3.1 Set breakpoints and step through code line by line
  • 1.4 Position and lay out UIKit objects
    • 1.4.1 Use auto layout
    • 1.4.2 Embed objects in stack view
    • 1.4.3 Use alignments and constraints
    • 1.4.4 Navigate UI components via Document Outline
    • 1.4.5 Implement app personality

Swift Programming Language

  • 2.1 Declare and use basic Swift types
    • 2.1.1 Describe and use data types and operators
    • 2.1.2 Demonstrate the use of type casting in both safe and unsafe ways
    • 2.1.3 Demonstrate when to use constants and variables
    • 2.1.4 Interpret and use basic types
  • 2.2 Manage data using collection types
    • 2.2.1 Arrays
    • 2.2.2 Dictionaries
  • 2.3 Know how and when to apply control flow and loops
    • 2.3.1 Use logical operators
    • 2.3.2 Use Guard
    • 2.3.3 Use range operators
  • 2.4 Use functions
    • 2.4.1 Organize and structure code
    • 2.4.2 Create and call a function
    • 2.4.3 Demonstrate how to use a function’s return value
    • 2.4.4 Customize internal, external, and anonymous naming of parameters in functions
    • 2.4.5 Implement default parameter values
  • 2.5 Demonstrate proper use of structs, classes and enums
    • 2.5.1 Define and use properties and methods
    • 2.5.2 Differentiate between structures and classes
    • 2.5.3 Differentiate between various initializers
    • 2.5.4 Define and use property observers
  • 2.6 Demonstrate the use of Optional types
    • 2.6.1 Demonstrate how to unwrap Optionals safely
    • 2.6.2 Apply Optional binding and Optional chaining (including but not limited to if let, guard let)
  • 2.7 Evaluate variable scope and shadowing

iOS UIKit

  • 3.1 Create view controllers to implement app logic
  • 3.2 Describe the view controller lifecycle
  • 3.3 Use segues to link view controllers to prepare for, pass data, and unwind segues
    • 3.3.1 Differentiate between types of segues
  • 3.4 Create a multi-view app with navigation hierarchy
    • 3.4.1 Create and use Navigation controller
    • 3.4.2 Create and use Tab Bar controller
  • 3.5 Create and manipulate UIKit objects
    • 3.5.1 Use common view objects such as labels and image views
    • 3.5.2 Use common controls such as buttons and text views
    • 3.5.3 Demonstrate the use of IBOutlet and IBAction to connect storyboard elements to code

View Building with SwiftUI

  • 3.1. Position and/or layout a single SwiftUI View with standard Views and modifiers
  • 3.2. Create multiple Views to implement app logic
  • 3.3. Use List Views to iterate through collections
  • 3.4. Extract Subviews to simplify the structure of an overlarge View
  • 3.5. Create a multi-view app with navigation Stacks, Links, and/or Sheets
  • 3.6. Use @State, @Binding, @Environment, and/or Observable to share data between Views

試験範囲

App Development with Swift Certified User認定を取得する個人は、Swiftプログラマーが日常的に使用するコアコンセプトと実践的な知識を持ち、XcodeのソースとUIエディタの基本的な操作に習熟していることを示します。学生は、標準的なUI要素の使用、レイアウト技術、一般的なナビゲーションインターフェースを含む標準的な実践に準拠したiOSアプリを作成できるようになります。

Xcode開発ツール

  • 1.1 Xcodeインターフェースの機能を識別し使用する
    • 1.1.1 Xcodeをナビゲートする
    • 1.1.2 Interface Builderでビューを作成および修正する
    • 1.1.3 ドキュメントとヘルプへのアクセス方法を実演する
  • 1.2 アプリのビルドと実行方法を実演する
    • 1.2.1 iOSシミュレータ上で
    • 1.2.2 iOSデバイス上で
  • 1.3 ブレークポイント、ウォッチポイント、ロギングを含むがこれらに限定されないデバッグ技術を使用してエラーを解決する
    • 1.3.1 ブレークポイントを設定しコードを1行ずつステップ実行する
  • 1.4 UIKitオブジェクトの配置とレイアウト
    • 1.4.1 オートレイアウトを使用する
    • 1.4.2 オブジェクトをスタックビューに埋め込む
    • 1.4.3 配置と制約を使用する
    • 1.4.4 ドキュメントアウトラインを通じてUIコンポーネントをナビゲートする
    • 1.4.5 アプリのパーソナリティを実装する

Swiftプログラミング言語

  • 2.1 基本的なSwiftの型を宣言し使用する
    • 2.1.1 データ型と演算子を説明し使用する
    • 2.1.2 安全な方法と安全でない方法での型キャストの使用を実演する
    • 2.1.3 定数と変数の使用タイミングを実演する
    • 2.1.4 基本的な型を解釈し使用する
  • 2.2 コレクション型を使用してデータを管理する
    • 2.2.1 配列
    • 2.2.2 辞書
  • 2.3 制御フローとループの適用方法とタイミングを知る
    • 2.3.1 論理演算子を使用する
    • 2.3.2 Guardを使用する
    • 2.3.3 範囲演算子を使用する
  • 2.4 関数を使用する
    • 2.4.1 コードを整理し構造化する
    • 2.4.2 関数を作成し呼び出す
    • 2.4.3 関数の戻り値の使用方法を実演する
    • 2.4.4 関数のパラメータの内部名、外部名、匿名名をカスタマイズする
    • 2.4.5 デフォルトパラメータ値を実装する
  • 2.5 構造体、クラス、列挙型の適切な使用を実演する
    • 2.5.1 プロパティとメソッドを定義し使用する
    • 2.5.2 構造体とクラスの違いを区別する
    • 2.5.3 様々なイニシャライザの違いを区別する
    • 2.5.4 プロパティオブザーバを定義し使用する
  • 2.6 Optional型の使用を実演する
    • 2.6.1 Optionalを安全にアンラップする方法を実演する
    • 2.6.2 Optionalバインディングとオプショナルチェーン(if let、guard letを含むがこれらに限定されない)を適用する
  • 2.7 変数のスコープとシャドウイングを評価する

iOS UIKit

  • 3.1 ビューコントローラを作成してアプリロジックを実装する
  • 3.2 ビューコントローラのライフサイクルを説明する
  • 3.3 セグエを使用してビューコントローラを接続し、準備、データの受け渡し、セグエの巻き戻しを行う
    • 3.3.1 セグエの種類を区別する
  • 3.4 ナビゲーション階層を持つマルチビューアプリを作成する
    • 3.4.1 ナビゲーションコントローラを作成し使用する
    • 3.4.2 タブバーコントローラを作成し使用する
  • 3.5 UIKitオブジェクトを作成し操作する
    • 3.5.1 ラベルや画像ビューなどの一般的なビューオブジェクトを使用する
    • 3.5.2 ボタンやテキストビューなどの一般的なコントロールを使用する
    • 3.5.3 IBOutletとIBActionを使用してストーリーボード要素をコードに接続する方法を実演する

SwiftUIを使用したビュー構築

  • 3.1. 標準的なビューとモディファイアを使用して単一のSwiftUIビューを配置および/またはレイアウトする
  • 3.2. 複数のビューを作成してアプリロジックを実装する
  • 3.3. リストビューを使用してコレクションを反復処理する
  • 3.4. サブビューを抽出して大きすぎるビューの構造を簡素化する
  • 3.5. スタック、リンク、および/またはシートを使用したナビゲーション機能を持つマルチビューアプリを作成する
  • 3.6. @State、@Binding、@Environment、および/またはObservableを使用してビュー間でデータを共有する
Point

テストの出題内容については、テキストに出てくる練習問題の通りに出てくることはほぼなかったため、内容を理解して応用問題にも対応できるようにしておく必要がある。
そして一番の課題は「英語」で出題されるということ。コードが書いてあれば答えが導き出せるが、文章問題の場合はもはやSwiftのテストではなく英語のテスト。

あとがき

次の記事からテキストの内容に入りますが、よく出てきそうな英単語もまとめていこうと思います!

また、下のボタンから応援していただけると記事更新の励みになります!

Swiftカテゴリの最新記事