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

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

# 前提条件

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

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

# SDKをダウンロードする

LINE SDK for iOS Objective-Cは、CocoaPods (opens new window)を使って、または「ダウンロード」ページからダウンロードできます。

# CocoaPodsでダウンロードする

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

  1. Podfileを準備したら、Podfileに以下のpodコマンドを追加します。Swiftの場合は、Podfileに必ずuse_frameworks!を指定します。

    pod 'LineSDK', '~> 5.0'
    
  2. 以下のコマンドを実行します。

    $ pod install
    

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

# 「ダウンロード」ページからダウンロードする

ダウンロード」ページからLINE SDK for iOS Objective-Cをダウンロードします。SDKファイルのリンクをクリックし、任意のディレクトリに保存します。

注意

最新バージョンのSDKを使用してください。以前のバージョンのSDKは廃止される予定です。

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

# 必要なフレームワークをXcodeプロジェクトにリンクする

アプリのターゲットの[Build Phases]設定タブの[Link Binary With Libraries]セクションに、以下のフレームワークを追加します。

  • LineSDK.framework
  • CoreTelephony.framework
  • Security.framework

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

アプリのターゲットの[Build Phases]設定タブの[Copy Bundle Resources]セクションに、LineSDKResource.bundleファイルを追加します。

# 必要なビルド設定を追加する

[Build Settings]設定タブの[Other Linker Flags]セクションに、-ObjCを追加します。

# キーチェーンの共有を有効にする

LINE SDK for iOS Objective-Cは、キーチェーン機能を使ってユーザーの認証情報を保存します。したがって、SDKを利用するにはアプリでキーチェーンの共有を有効にする必要があります。

  1. Xcodeのプロジェクト設定で[Capabilities]、[Keychain Sharing]の順に選択して、キーチェーンの共有を有効にします。
  2. キーチェーン共有のエンタイトルメントをエンタイトルメントファイルに追加します。
  3. キーチェーン共有機能をApp IDに追加します。
注意

App IDは、Appleの開発者アカウントで確認できます。

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

# LINE Developersコンソールで設定する

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

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

LINE LoginのiOSバンドルIDとユニバーサルリンク設定

# Info.plistファイルを編集する

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

    <key>LineSDKConfig</key>
    <dict>
        <key>ChannelID</key>
        <string>1234567890</string>
    </dict>
    
  2. 「1234567890」をご自分のチャネルのチャネルIDに変更します。チャネルIDは、LINE Developersコンソールの[基本情報]のセクションで確認できます。

# アプリ連携ログインを設定する

LINEにログイン済みのユーザーがアプリに自動的にログインできるようにし、LINEから返されるログイン結果を制御するには、Info.plistファイルとAppDelegate.mファイルを編集します。

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

アプリ連携ログインに必要な設定をInfo.plistファイルに追加します。

<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を起動します。

# AppDelegate.mファイルを設定する

以下のコードをAppDelegate.mファイルに追加します。

- (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary *)options
{
    return [[LineSDKLogin sharedInstance] handleOpenURL:url];
}