読んだ : これからつくる iPhone アプリ開発入門 — Swift ではじめるプログラミングの第一歩
何故か iOS アプリ開発に関わることになったので iOS アプリ開発について学んでいる。
とりあえず
の 2 つを読んで基礎の基礎だけおさえたところで本書を読んだ。
これからつくる iPhoneアプリ開発入門 ?Swiftではじめるプログラミングの第一歩?
- 作者: 藤治仁,徳弘佑衣,小林加奈子,小林由憲
- 出版社/メーカー: SBクリエイティブ
- 発売日: 2016/10/26
- メディア: Kindle版
- この商品を含むブログを見る
新たに学んだこと
Foundation フレームワーク周り
Timer
クラス でタイマー処理できるUserDefaults
クラス でデータの永続化。UserDefaults.standard
で標準のインスタンスを取得URLSession
クラス で HTTP 通信。 .dataTask でタスク登録JSONSerialization
クラス で JSON の処理
UIKit フレームワーク周り
UIAlertController
クラス でアラート表示。 選択肢もUIImagePickerController
クラス で画像ソースとしてカメラ利用可否確認- カメラ利用にはアクセス許可が必要。 フォトライブラリへのアクセスにも許可が必要
UIActivityViewController
クラス でデータ共有
その他フレームワーク周り
本書で出てきたフレームワーク。
- AVFoundation フレームワーク で音楽再生等できる
- MapKit フレームワーク で地図を扱える
- Core Location フレームワーク の
CLGeocoder
クラスで経度緯度と住所の変換が可能 - Core Image フレームワーク という画像処理フレームワークがある
- SafariServices フレームワーク の
SFSafariViewController
クラス で web view 実現
Swift 言語周り
fileprivate
修飾子とかinternal
修飾子とかでアクセス制御できる。
その他 iOS アプリ周り
- 重なっている view の z 軸方向の重なり順を Interface Builder (IB) 上で変更するにはドキュメントアウトライン上での前後の位置を変えればよい
- オブジェクトを選択して、メニューの Editor > Arrange > Send to Front などで変更することも可能
- Xcode でパラメータ情報を見るにはカーソルを当てて Option キー
- App Transport Security で通信のセキュリティ周りが規定される
NSAppTransportSecurity
キー- 参考 : Cocoa Keys
- iOS 10 でデフォルト設定が変わったらしい
関連して調べたこと
そもそもフレームワークとは?
共有リソース *1 を保持する構造化されたディレクトリ (バンドル) のことらしい。
A framework is a hierarchical directory that encapsulates shared resources, such as a dynamic shared library, nib files, image files, localized strings, header files, and reference documentation in a single package. Multiple applications can use all of these resources simultaneously. The system loads them into memory as needed and shares the one copy of the resource among all applications whenever possible.
What are Frameworks?
A framework is a bundle (a structured directory) that contains a dynamic shared library along with associated resources, such as nib files, image files, and header files. When you develop an application, your project links to one or more frameworks. For example, iPhone application projects link by default to the Foundation, UIKit, and Core Graphics frameworks.
Framework
感想
かなり丁寧に Xcode 上での操作手順などの説明が書かれていて、iOS 開発以外も含めてプログラミング自体の初心者向けという感じ。 とりあえず最初の一歩としては良さそう。 開発経験者でも、iOS が初めてなら本書をばーっと読んで一通り学ぶという使い方はできそう。 (とはいえ古いので今だと他に良い本もありそう。)
一方でソースコードに微妙なところがあったり *2、デリゲートの説明とかクロージャの説明とかが微妙だったりするのは気になった。
*1:ダイナミックシェアードライブラリや nib ファイル、画像ファイル、ローカライズされた文字列やヘッダファイル、リファレンスドキュメントなど。
*2:「AVAudioPlayerの使い方」 のソースコードはまさに本書のもので、AVAudioPlayer の初期化処理がちょっと謎な気がする。