# プロジェクトを設定する

ここでは、LINE SDK for iOS SwiftをiOSプロジェクトに組み込み、必要な設定をする方法について説明します。

アプリを最新バージョンのiOSに対応させて最新技術を活用するため、このトピックの手順に従って最新のLINE SDK for iOS Swiftをインストールすることを強くお勧めします。

# 前提条件

LINE SDK for iOS Swiftをビルドして使用するには、以下が必要です。

  • プロバイダーおよびLINEログインのチャネルを作成する。どちらもLINE Developersコンソールで作成できます
  • デプロイメントターゲットとしてiOS 10.0以降
  • Xcode 10以降

LINE SDK for iOS Swiftは、SwiftとObjective-Cのどちらのコードでも利用できます。このガイドでは、Swiftのコードを使ってLINE SDK for iOS Swiftを実装することを前提とします。Objective-Cのコードを使ってLINE SDK for iOS Swiftを組み込む場合は、「Objective-CのコードでSDKを使用する」を参照してください。

# インストール

LINE SDK for iOS Swiftは、以前のバージョンのLINE SDK for iOS Objective-Cと互換性がありません。LINE SDKのバージョンをアップグレードする場合は、アップグレードに進む前に「SDKをアップグレードする」を参照してください。

# CocoaPods

CocoaPodsについて詳しくない場合は、『CocoaPods Getting Started Guide』を参照してください。CocoaPodsを使ってLINE SDK for iOS Swiftをアプリに組み込む前に、作業環境にCocoaPodsのgemをインストールする必要があります。

  1. Podfileを準備したら、ターゲットに以下のpodコマンドを追加します。

    platform :ios, '10.0'
    use_frameworks!
    
    target '<Your App Target Name>' do
        pod 'LineSDKSwift', '~> 5.0'
    end
    
  2. 以下のコマンドを実行します。

    $ pod install
    

LINE SDK for iOS Swiftがダウンロードされ、Xcodeのワークスペースに組み込まれます。

# Carthage

Carthageは分散型の依存性マネージャーで、ライブラリをビルドしてバイナリのフレームワークとして利用できます。

  1. Carthageツールをインストールするには、Homebrewを使います。

    $ brew update
    $ brew install carthage
    
  2. Carthageを使ってLINE SDK for iOS SwiftをXcodeプロジェクトに組み込むには、CartfileにSDKのGitHubリポジトリを以下のように指定します。

    github "line/line-sdk-ios-swift" ~> 5.0
    
  3. 以下のコマンドを実行してLINE SDK for iOS Swiftをビルドします。

    $ carthage update line-sdk-ios-swift
    

以下のセクションに記載された手順に従って、ビルドされたLineSDK.frameworkファイルをXcodeプロジェクトに追加できます。

# LineSDK.frameworkファイルをXcodeプロジェクトにリンクする

Carthage/Build/iOSフォルダーからLineSDK.frameworkファイルをドラッグして、アプリのターゲットの[General]設定タブの[Linked Frameworks and Libraries]セクションにドロップします。

# ビルドフェーズでLineSDK.frameworkファイルをコピーする

  1. アプリのターゲットの[Build Phases]設定タブで [+]アイコンをクリックして、[New Run Script Phase]を選択します。以下の内容で実行スクリプトを作成します。

    /usr/local/bin/carthage copy-frameworks
    
  2. LineSDK.frameworkファイルのパスを[Input Files]セクションに追加します。

    $(SRCROOT)/Carthage/Build/iOS/LineSDK.framework
    
  3. LineSDK.frameworkファイルのパスを[Output Files]セクションに追加します。

    $(BUILT_PRODUCTS_DIR)/$(FRAMEWORKS_FOLDER_PATH)/LineSDK.framework
    

実行スクリプトは以下のようになるはずです。

# アプリをチャネルにリンクする

アプリをLINEログインのチャネルにリンクするために、いくつかの設定を行います。LINE DevelopersコンソールでLINEログインのチャネル設定に進んで、[LINEログイン設定]タブで以下の項目を設定してください。

  • iOS bundle ID:アプリのバンドル識別子。Xcodeのプロジェクト設定の[General]設定タブにあります。小文字を使用する必要があります。例えば、com.example.appです。複数のバンドル識別子を指定するには、改行で区切ります。
  • iOSユニバーサルリンク:アプリに設定したユニバーサルリンクを設定します。ユニバーサルリンクを使ったログイン処理の制御について詳しくは、「ユニバーサルリンクを利用する」を参照してください。

LINEログイン設定 > ネイティブアプリ > iOS

# Info.plistファイルを設定する

XcodeでアプリのInfo.plistファイルを右クリックして、[Open As]、[Source Code]の順に選択します。以下のスニペットを最後の</dict>タグの直前に挿入します。

<key>CFBundleURLTypes</key>
<array>
    <dict>
        <key>CFBundleTypeRole</key>
        <string>Editor</string>
        <key>CFBundleURLSchemes</key>
        <array>
            <!-- LINEからアプリに戻る際に利用するURLスキーマを追加 -->
            <string>line3rdp.$(PRODUCT_BUNDLE_IDENTIFIER)</string>
        </array>
    </dict>
</array>
<key>LSApplicationQueriesSchemes</key>
<array>
    <!-- アプリからLINEを起動する際に利用するURLスキーマを追加 -->
    <string>lineauth2</string>
</array>

このスニペットにより以下の設定が追加されます。

キー 説明
CFBundleURLSchemes 開発中のアプリを起動するためのURLスキームとして、line3rdp.$(PRODUCT_BUNDLE_IDENTIFIER)を追加します。このURLスキームが、iOSに登録されます。LINEプラットフォームからLINEログインの結果が返されたときに、LINEからアプリに戻るために利用されます。
注:lineauth2は、LINEを起動するためにLINEですでに登録されているURLスキームです。CFBundleURLSchemesには追加しないでください。
LSApplicationQueriesSchemes アプリからLINEを起動することを許可するために、lineauth2を追加します。LINEログインを行う際に、アプリがLINEを起動します。