Swiftアプリを実機のiPhone 5にデプロイするまでの手順


iOS 7のiPhone 5に、swiftで書かれたサンプルアプリをデプロイするまでの手順のメモです。iPhone 5にはiOS 7.1.1がインストールされています。今回は、Wantedlyの[susieyy](http://qiita.com/susieyy)さんがMITライセンスで公開されているSwift RSS Sampleを使わせてもらいました。

[Swift RSS Sample - Github](https://github.com/wantedly/swift-rss-sample)

[iPhone - SwiftのRSS Readerを100行で作ったよ - Qiita](http://qiita.com/susieyy/items/749c4ac5d82d765c12c6)

## 2014/06/08 追記

- [Swift RSS Sample](https://github.com/wantedly/swift-rss-sample)作者の[susieyy](http://qiita.com/susieyy)さんが本記事の7,8,9を修正してリポジトリを更新されました。Githubの最新を使う場合、7,8,9の手順は必要ありません。

## 環境

- OS X 10.9.3
- Xcode 6 Beta
- iOS 7.1.1
- iPhone 5

## 1. iOS Developerプログラムに登録して、Xcode 6 Betaのダウンロードとインストールを行う

[Choosing an iOS Developer Program - Apple Developer](https://developer.apple.com/jp/programs/start/ios/)


## 2. 証明書とプロビジョニングプロファイルの発行

MacにiPhoneを接続して行う。

1. Xcode => Preferences => AccountsからApple IDを追加
2. 上記画面から、View Details => Signing IdentitiesにiOS Developmentを追加
3. Provisioning Profilesのリクエストを送るか、というポップアップが出てくるので、リクエストを送る。Provisioning Profileが取得できたら、追加される。

### 確認

![Screen Shot 2014-06-07 at 7.35.58 PM.png](https://qiita-image-store.s3.amazonaws.com/0/32750/6fb62fa6-a597-e5e9-e88c-b22b51ad203d.png "Screen Shot 2014-06-07 at 7.35.58 PM.png")

## 3. Swiftサンプルアプリをclone

```
git clone https://github.com/wantedly/swift-rss-sample
```

## 4. CocoaPodsのセットアップ

Swift RSS Sampleはライブラリ管理ツールのCocoaPodsを使っているので、セットアップする。

```
gem install cocoapods
rbenv rehash # rbenvを使っている人だけ
pod setup
```

## 5. Podsライブラリのインストール

```
# cloneしたディレクトリへ移動
cd swift-rss-sample
pod install
```

## 6. XcodeでビルドするもLinkerエラー ld: library not found for -lPods

## 2014/11/30 追記

- Xcode 6.1 ではエラーは起きないことを@alpha22jpさんにコメントで教えていただきました。


>ld: library not found for -lPods
clang: error: linker command failed with exit code 1 (use -v to see invocation)


ここの手順を参考にlibPods.aをビルドする。

- [CocoaPodsを使ったXcodeプロジェクトの作り方（１） - shigeki.takeguchi.log](http://www.shigekitakeguchi.com/archives/973)

- [CocoaPodsを使ったXcodeプロジェクトの作り方（２） - shigeki.takeguchi.log](http://www.shigekitakeguchi.com/archives/1016)

- [CocoaPodsを使ったXcodeプロジェクトの作り方（３） - shigeki.takeguchi.log](http://www.shigekitakeguchi.com/archives/1026)

- [CocoaPodsを使ったXcodeプロジェクトの作り方（４） - shigeki.takeguchi.log](http://www.shigekitakeguchi.com/archives/1040)


## 7. RSSReader/logo.pngが無くてビルドエラー

__2014/06/08 追記:最新のリポジトリでは修正済み__

適当な画像を用意してlogo.pngを追加する

```
$ cp logo.png swift-rss-sample/RSSReader/logo.png
```

<br>
----

### ここまででビルドは成功してiOS シミュレーターでは動いた。ここから先は、iPhone 5実機へデプロイするための設定。

----
<br>


## 8. PodsのDeployment TargetをiOS 7.1へ変更

__2014/06/08 追記:最新のリポジトリでは修正済み__

Project => Build Settings => iOS Deployment Target

![kobito.1402145247.240549.png](https://qiita-image-store.s3.amazonaws.com/0/32750/c30f2751-1573-ad20-3b40-37a63b87e780.png "kobito.1402145247.240549.png")

## 9. RSSReaderのDeployment Targetを7.1へ変更

__2014/06/08 追記:最新のリポジトリでは修正済み__

Project => General => Deployment Info => Deployment Target

![kobito.1402138131.876775.png](https://qiita-image-store.s3.amazonaws.com/0/32750/6b7c6cf0-edab-8bd9-a8af-6fd4544fabe3.png "kobito.1402138131.876775.png")


## 10. RSSReaderのProvisioning Profileを作成したものへ変更

Project => Build Settings => Code Signing => Provisioning Profile

![kobito.1402138209.190722.png](https://qiita-image-store.s3.amazonaws.com/0/32750/f77163d6-e81d-c36f-67ea-6219efccda92.png "kobito.1402138209.190722.png")


## 11. Xcodeの左上からデプロイ先を実機に変更

MacにiPhoneを接続してデプロイ先を変更する。

![Screen Shot 2014-06-07 at 7.33.25 PM.png](https://qiita-image-store.s3.amazonaws.com/0/32750/7990767b-7092-01cc-7f72-d5cf8d4c631c.png "Screen Shot 2014-06-07 at 7.33.25 PM.png")

その後、ビルド。

## iOS 7で動いた！

iPhone 5, iOS 7.1.1 で動作確認。

![IMG_2772.PNG](https://qiita-image-store.s3.amazonaws.com/0/32750/9cc87a33-826e-4274-f08d-43af5a315a08.png "IMG_2772.PNG")


## メモ: Base SDKがiOS 8.0でもiOS 7.1.1で動いた

![kobito.1402145547.724098.png](https://qiita-image-store.s3.amazonaws.com/0/32750/04cc2e12-6a44-081c-7b55-9e76d0208914.png "kobito.1402145547.724098.png")