初心者から始めるiOS SDK - 逆引き


# 逆引きiOS SDK基本機能
前提となる基礎知識は以下のサイトなどを利用してください。
- [Xcodeの使い方（ドットインストール）](http://dotinstall.com/lessons/basic_iphoneapp_v2)
- Xcode公式ガイド（[日本語](https://developer.apple.com/jp/documentation/ToolsLanguages/Conceptual/Xcode_Overview/XcodeEssentials/XcodeEssentials.html)・[英語](https://developer.apple.com/library/ios/documentation/ToolsLanguages/Conceptual/Xcode_Overview/index.html)）
- [Swift公式（英語）](https://developer.apple.com/library/ios/documentation/Swift/Conceptual/Swift_Programming_Language/)
- [iOSアプリ開発公式チュートリアル（英語）](https://developer.apple.com/library/ios/referencelibrary/GettingStarted/DevelopiOSAppsSwift/index.html)
- [iOS テクノロジーの概要](https://developer.apple.com/jp/documentation/iOSTechOverview.pdf)

## 静的UI
- [ラベル・画像・ボタンを縦に並べてみる（UIKit::UIStackView）](http://qiita.com/shngt/items/e9bad2078607f551eeef)（2016/03/19追加）
- [スタックビューを入れ子にして複雑なレイアウトを構成する（UIKit::UIStackView）](http://qiita.com/shngt/items/2100a439b5f97c1270a1)（2016/03/20追加）
- iOS View Controllerカタログ（[日本語](https://developer.apple.com/jp/documentation/ViewControllerCatalog.pdf)・[英語](https://developer.apple.com/library/ios/documentation/WindowsViews/Conceptual/ViewControllerCatalog/Introduction.html)）
- Auto Layout ガイド（[日本語](https://developer.apple.com/jp/documentation/UserExperience/Conceptual/AutoLayoutGuide/UnderstandingAutoLayout/UnderstandingAutoLayout.html)・[英語](https://developer.apple.com/library/ios/documentation/UserExperience/Conceptual/AutolayoutPG/)）
- iOS Table View プログラミングガイド（[日本語](https://developer.apple.com/jp/documentation/TableView_iPhone.pdf)・[英語](https://developer.apple.com/library/ios/documentation/UserExperience/Conceptual/TableView_iPhone/AboutTableViewsiPhone/AboutTableViewsiPhone.html)）
- Collection View プログラミングガイド（[日本語](https://developer.apple.com/jp/documentation/CollectionViewPGforIOS.pdf)・[英語](https://developer.apple.com/library/ios/documentation/WindowsViews/Conceptual/CollectionViewPGforIOS/Introduction/Introduction.html)）
- iOS Scroll View プログラミングガイド（[日本語](https://developer.apple.com/jp/documentation/UIScrollView_pg.pdf)・[英語](https://developer.apple.com/library/ios/documentation/WindowsViews/Conceptual/UIScrollView_pg/Introduction/Introduction.html)）

## UIの追加と削除
- [スクロールビューに動的に要素を生成・追加する（UIKit::UIScrollView）](http://qiita.com/shngt/items/37412f68b35eb93cfc70)（2016/03/29追加）

## 描画・アニメーション
- iOS描画および印刷ガイド（[日本語](https://developer.apple.com/jp/documentation/DrawingPrintingiOS.pdf)・[英語](https://developer.apple.com/library/ios/documentation/2DDrawing/Conceptual/DrawingPrintingiOS/Introduction/Introduction.html)）

## メディア
- AV Foundationプログラミングガイド（[日本語](https://developer.apple.com/jp/documentation/AVFoundationPG.pdf)・[英語](https://developer.apple.com/library/ios/documentation/AudioVideo/Conceptual/AVFoundationPG/Articles/00_Introduction.html)）
- Core Audio の概要（[日本語](https://developer.apple.com/jp/documentation/CoreAudioOverview.pdf)・[英語](https://developer.apple.com/library/ios/documentation/MusicAudio/Conceptual/CoreAudioOverview/Introduction/Introduction.html)）
- AirPlay の概要（[日本語](https://developer.apple.com/jp/documentation/AirPlayGuide.pdf)・[英語](https://developer.apple.com/library/ios/documentation/AudioVideo/Conceptual/AirPlayGuide/Introduction/Introduction.html)）
- Audio Session プログラミングガイド（[日本語](https://developer.apple.com/jp/documentation/AudioSessionProgrammingGuide.pdf)・[英語](https://developer.apple.com/library/ios/documentation/Audio/Conceptual/AudioSessionProgrammingGuide/Introduction/Introduction.html)）
- iOSカメラプログラミングトピックス（[日本語](https://developer.apple.com/jp/documentation/CameraAndPhotoLib_TopicsForIOS.pdf)・[英語](https://developer.apple.com/library/ios/documentation/AudioVideo/Conceptual/CameraAndPhotoLib_TopicsForIOS/Introduction/Introduction.html)）
- HTTP Live Streamingの概要（[日本語](https://developer.apple.com/jp/documentation/StreamingMediaGuide.pdf)・[英語](https://developer.apple.com/library/ios/documentation/NetworkingInternet/Conceptual/StreamingMediaGuide/Introduction/Introduction.html)）

## ユーザーからの入力を扱う
- iOSイベント処理ガイド（[日本語](https://developer.apple.com/jp/documentation/EventHandlingiPhoneOS.pdf)・[英語](https://developer.apple.com/library/ios/documentation/EventHandling/Conceptual/EventHandlingiPhoneOS/Introduction/Introduction.html)）
- iOS アクセシビリティ プログラミング ガイド（[日本語](https://developer.apple.com/jp/documentation/iPhoneAccessibility.pdf)・[英語](https://developer.apple.com/library/ios/documentation/UserExperience/Conceptual/iPhoneAccessibility/Introduction/Introduction.html)）

## アドレス帳
- 連絡先リストの表示（ContactsUI::CNContactPickerViewController）
- iOS Address Book プログラミングガイド（[日本語](https://developer.apple.com/jp/documentation/AddressBookProgrammingGuideforiPhone.pdf)・[英語](https://developer.apple.com/library/ios/documentation/ContactData/Conceptual/AddressBookProgrammingGuideforiPhone/Introduction.html)）

## カレンダー
- イベント表示（EventKitUI::EKEventViewController）
- イベント作成（EventKitUI::EKEventEditViewController）
- イベント編集（EventKitUI::EKEventEditViewController）
- イベント削除（EventKitUI::EKEventEditViewController）
- カレンダー選択（EventKitUI::EKCalendarChooser）
- カレンダーとリマインダーのプログラミングガイド（[日本語](https://developer.apple.com/jp/documentation/EventKitProgGuide.pdf)・[英語](https://developer.apple.com/library/ios/documentation/DataManagement/Conceptual/EventKitProgGuide/Introduction/Introduction.html)）

## 位置情報と地図
- [現在地の緯度・経度表示（CoreLocation::CLLocationManager.requestLocation）](http://qiita.com/shngt/items/258a71a6524941efd12d)（2016/04/08追加）
- [定期的に位置情報を更新（CoreLocation::CLLocationManager）](http://qiita.com/shngt/items/ee3c1d283acd5a85fa63)（2016/04/15追加）
- [大幅に位置が変更した時のみ位置情報を更新する（CoreLocation::CLLocationManager）](http://qiita.com/shngt/items/99e2a3fb676dbbe55d2c)（2016/04/16追加）
- [バックグラウンドで位置情報を取得する（CoreLocation::CLLocationManager）](http://qiita.com/shngt/items/6687edeb055113e5fd70)（2016/04/17追加）
- [ある地点への接近を知らせる（CoreLocation::CLLocationManager.startMonitoringForRegion）](http://qiita.com/shngt/items/07ff2cd5b22ebde27b05)（2016/04/26追加）
- [iOSデバイスをビーコンとして利用する（CoreBluetooth::CBPeripheralManager.startAdvertising）](http://qiita.com/shngt/items/19ae2996465152ba5c9f)（2016/04/29追加）
- [ビーコン領域への接近を知らせる（CoreLocation::CLLocationManager.startMonitoringForRegion）](http://qiita.com/shngt/items/70dabc4f53e0280b4323)（2016/04/29追加）
- [ビーコンまでの距離を測る（CoreLocation::CLBeacon.proximity）](http://qiita.com/shngt/items/9a47021819937f4b2859)（2016/04/29追加）
- 地図の表示（MapKit::MKMapView）
- 地図の表示領域設定（MapKit::MKCoordinateRegion）
- 3D地図の表示（MapKit::MKMapCamera）
- 地図の拡大・縮小
- 地図の表示領域移動
- 現在位置の表示（MapKit::showsUserLocation）
- デバイスの向いている方角・進行方向取得（CoreLocation::CLLocationDirection）
- マップアプリケーション起動（MapKit::MKMapItem）
- 地図のスナップショット作成（MapKit::MKMapSnapshotter）
- 住所・施設名等から緯度・経度取得（CoreLocation::CLGeocoder）
- 緯度・経度から住所・施設名等取得（CoreLocation::CLGeocoder）
- 地図上の点にピン・吹き出しを表示（MapKit::MKAnnotation）
- 地図に図形を重ねる（MapKit::MKOverlay）
- 道順の提示（MapKit::MKDirections）
- 場所を検索する（MapKit::MKLocalSearch）
- 位置情報とマッププログラミングガイド（[日本語](https://developer.apple.com/jp/documentation/LocationAwarenessPG.pdf)・[英語](https://developer.apple.com/library/ios/documentation/UserExperience/Conceptual/LocationAwarenessPG/Introduction/Introduction.html)）

## センサー

## 外部デバイス

## 通信
- URLローディングシステム プログラミングガイド（[日本語](https://developer.apple.com/jp/documentation/URLLoadingSystem.pdf)・[英語](https://developer.apple.com/library/ios/documentation/Cocoa/Conceptual/URLLoadingSystem/URLLoadingSystem.html)）
- Core Bluetooth プログラミングガイド（[日本語](https://developer.apple.com/jp/documentation/CoreBluetoothPG.pdf)・[英語](https://developer.apple.com/library/ios/documentation/NetworkingInternetWeb/Conceptual/CoreBluetooth_concepts/AboutCoreBluetooth/Introduction.html)）

## 収益化
- iAd プログラミングガイド（[日本語](https://developer.apple.com/jp/documentation/iAd_Guide.pdf)・[英語](https://developer.apple.com/library/ios/documentation/UserExperience/Conceptual/iAd_Guide/Introduction/Introduction.html)）
- iTunes Connect デベロッパガイド（[日本語](https://developer.apple.com/library/ios/documentation/LanguagesUtilities/Conceptual/iTunesConnect_Guide_Jpn/Chapters/About.html)・[英語](https://developer.apple.com/library/ios/documentation/LanguagesUtilities/Conceptual/iTunesConnect_Guide/Chapters/About.html)）
- iTunes Connect In-App Purchase 設定ガイド（[日本語](https://developer.apple.com/library/ios/documentation/LanguagesUtilities/Conceptual/iTunesConnectInAppPurchase_Guide_Jpn/Chapters/Introduction.html)・[英語](https://developer.apple.com/library/ios/documentation/LanguagesUtilities/Conceptual/iTunesConnectInAppPurchase_Guide/Chapters/Introduction.html)）
- In-App Purchaseプログラミングガイド（[日本語](https://developer.apple.com/jp/documentation/StoreKitGuide.pdf)・[英語](https://developer.apple.com/library/ios/documentation/NetworkingInternet/Conceptual/StoreKitGuide/Introduction.html)）

## 通知
- [通知を表示する（ローカル通知）（UIKit::UIApplication.scheduleLocalNotification）](http://qiita.com/shngt/items/ca0e59f2f45c800deea8)（2016/04/29追加）
- [位置情報と連動した通知を表示する（ローカル通知）（UIKit::UIApplication.scheduleLocalNotification）](http://qiita.com/shngt/items/4d827d96172e093fa982)（2016/04/29追加）
- [プッシュ通知を表示する（UIKit::UIApplication.registerForRemoteNotifications）](http://qiita.com/shngt/items/3eea3bff80302944b715)（2016/04/30追加）
- Local および Push Notification プログラミングガイド（[日本語](https://developer.apple.com/jp/documentation/RemoteNotificationsPG.pdf)・[英語](https://developer.apple.com/library/ios/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/Chapters/Introduction.html)）

## 多言語対応
- インターナショナライゼーションとローカリゼーションのガイド（[日本語](https://developer.apple.com/jp/documentation/BPInternational.pdf)・[英語](https://developer.apple.com/library/ios/documentation/MacOSX/Conceptual/BPInternational/Introduction/Introduction.html)）

## その他
- CloudKit クイックスタート（[日本語](https://developer.apple.com/jp/documentation/CloudKit_Quick_Start.pdf)・[英語](https://developer.apple.com/library/ios/documentation/DataManagement/Conceptual/CloudKitQuickStart/Introduction/Introduction.html)）
- Wallet プログラミングガイド（[日本語](https://developer.apple.com/jp/documentation/UserExperience/Conceptual/PassKit_PG/GettingStarted/GettingStarted.html)・[英語](https://developer.apple.com/library/ios/documentation/UserExperience/Conceptual/PassKit_PG/)）
- Handoffプログラミングガイド（[日本語](https://developer.apple.com/jp/documentation/HandoffProgrammingGuide.pdf)・[英語](https://developer.apple.com/library/ios/documentation/UserExperience/Conceptual/Handoff/HandoffFundamentals/HandoffFundamentals.html)）
- Game Center プログラミングガイド（[日本語](https://developer.apple.com/jp/documentation/GameKit_Guide.pdf)・[英語](https://developer.apple.com/library/ios/documentation/NetworkingInternet/Conceptual/GameKit_Guide/Introduction/Introduction.html)）

## 参考
[逆引きSwift(iOS編)](https://sites.google.com/a/gclue.jp/swift-docs/ni-yinki100-ios)
[公式ドキュメント（日本語）](https://developer.apple.com/jp/documentation/)
[公式ドキュメント（英語）](https://developer.apple.com/library/ios/navigation/)