iOS 애플리케이션에 MobileFirst Foundation SDK 추가

improve this page | report issue

개요

MobileFirst Foundation SDK는 CocoaPods를 통해 사용 가능하며 Xcode 프로젝트에 추가할 수 있는 POD 콜렉션으로 구성됩니다.
POD는 핵심 기능 및 다른 기능에 해당됩니다.

  • IBMMobileFirstPlatformFoundation - 클라이언트 대 서버 연결을 구현하고 인증 및 보안 측면, 자원 요청과 기타 필수 핵심 기능을 처리합니다.
  • IBMMobileFirstPlatformFoundationJSONStore - JSONStore 프레임워크를 포함합니다. 자세한 정보는 iOS용 JSONStore 학습서를 검토하십시오.
  • IBMMobileFirstPlatformFoundationPush - 푸시 알림 프레임워크를 포함합니다. 자세한 정보는 알림 학습서를 검토하십시오.
  • IBMMobileFirstPlatformFoundationWatchOS - Apple WatchOS에 대한 지원을 포함합니다.

이 학습서에서는 신규 또는 기존 iOS 애플리케이션에 CocoaPods를 사용하여 MobileFirst 네이티브 SDK를 추가하는 방법에 대해 학습합니다. 또한 애플리케이션을 인식하도록 MobileFirst Server를 구성하는 방법도 학습합니다.

전제조건:

참고: XCode 8을 사용하여 시뮬레이터에서 iOS 앱을 실행 중인 경우 키 체인 공유 기능은 필수입니다.

다음으로 이동:

MobileFirst 네이티브 SDK 추가

아래 지시사항에 따라 신규 또는 기존 Xcode 프로젝트에 Mobile Foundation 네이티브 SDK를 추가하고 MobileFirst Server에 애플리케이션을 등록하십시오.

시작하기 전에 MobileFirst Server가 실행 중인지 확인하십시오.
로컬로 설치된 서버를 사용하는 경우: 명령행 창에서 서버의 폴더로 이동하고 ./run.sh 명령을 실행하십시오.

애플리케이션 작성

Xcode 프로젝트를 작성하거나 기존 항목(Swift 또는 Objective-C)을 사용하십시오.

SDK 추가

  1. Mobile Foundation 네이티브 SDK는 CocoaPods를 통해 제공됩니다.
    • 개발 환경에 CocoaPods가 이미 설치되어 있는 경우 2단계로 건너뛰십시오.
    • CocoaPods가 설치되지 않은 경우 다음과 같이 설치하십시오.
      • 명령행 창을 열고 Xcode 프로젝트의 루트로 이동하십시오.
      • sudo gem install cocoapodspod setup 명령을 순서대로 실행하십시오. 참고: 이러한 명령을 완료하려면 몇 분 정도 소요될 수 있습니다.
  2. pod init 명령을 실행하십시오. Podfile 파일이 작성됩니다.
  3. 선호하는 코드 편집기에서 Podfile을 여십시오.
    • 파일 컨텐츠를 주석 처리하거나 삭제하십시오.
    • 다음 행을 추가하고 변경사항을 저장하십시오.

      use_frameworks!
      
      platform :ios, 8.0
      target "Xcode-project-target" do
          pod 'IBMMobileFirstPlatformFoundation'
      end
      
      • Xcode 프로젝트의 대상 이름으로 Xcode-project-target을 대체하십시오.
  4. 명령행 창으로 돌아가서 pod installpod update 명령을 순서대로 실행하십시오. 이러한 명령은 Mobile Foundation 네이티브 SDK 파일 및 mfpclient.plist 파일을 추가하고 Pod 프로젝트를 생성합니다.
    참고: 명령을 완료하려면 몇 분 정도 소요될 수 있습니다.

    중요: 여기서부터 [ProjectName].xcworkspace 파일을 사용하여 Xcode에서 프로젝트를 여십시오. [ProjectName].xcodeproj 파일을 사용하지 마십시오. CocoaPods 기반 프로젝트는 애플리케이션(실행 파일) 및 라이브러리(CocoaPod 관리자가 가져오는 모든 프로젝트 종속 항목)를 포함하는 작업공간으로 관리됩니다.

MobileFirst 네이티브 SDK를 수동으로 추가

Mobile Foundation SDK를 다음과 같이 수동으로 추가할 수도 있습니다.

Mobile Foundation SDK를 수동으로 추가하려면 먼저 MobileFirst Operations Console → 다운로드 센터 → SDK 탭에서 SDK .zip 파일을 다운로드하십시오.

  • Xcode 프로젝트에서 Mobile Foundation 프레임워크 파일을 다음과 같이 프로젝트에 추가하십시오.
    • 프로젝트 탐색기에서 프로젝트 루트 아이콘을 선택하십시오.
    • 파일 → 파일 추가를 선택하고 이전에 다운로드된 프레임워크 파일이 있는 폴더로 이동하십시오.
    • 옵션 단추를 클릭하십시오.
    • 필요한 경우 항목 복사추가된 폴더에 대한 그룹 작성을 선택하십시오.
      참고: 필요한 경우 항목 복사 옵션을 선택하지 않는 경우 프레임워크 파일이 복사되지는 않지만 원래 위치에 링크됩니다.
    • 기본 프로젝트(첫 번째 옵션)를 선택하고 앱 대상을 선택하십시오.
    • 일반 탭에서 링크된 프레임워크 및 라이브러리에 자동으로 추가될 프레임워크를 모두 제거하십시오.
    • 필수: 임베디드 2진에서 다음 프레임워크를 추가하십시오.
      • IBMMobileFirstPlatformFoundation.framework
      • IBMMobileFirstPlatformFoundationOpenSSLUtils.framework
      • IBMMobileFirstPlatformFoundationWatchOS.framework
      이 단계를 수행하면 이러한 프레임워크가 링크된 프레임워크 및 라이브러리에 자동으로 추가됩니다.
    • 링크된 프레임워크 및 라이브리러에 다음 프레임워크를 추가하십시오.
      • IBMMobileFirstPlatformFoundationJSONStore.framework
      • sqlcipher.framework
      • openssl.framework
      • Localizations.bundle
    • 참고: 이 단계는 프로젝트에 관련 Mobile Foundation 프레임워크를 추가하고 빌드 단계(Phase) 탭의 라이브러리가 포함된 2진 링크 목록 내에 링크합니다. 앞의 설명대로 필요한 항목 복사 옵션을 선택하지 않고 원래 위치로 파일을 링크하는 경우 아래 설명된 대로 프레임워크 검색 경로를 설정해야 합니다.
  • 1단계에서 추가된 프레임워크는 빌드 단계(Phase) 탭의 라이브러리가 포함된 2진 링크 섹션에 자동으로 추가됩니다.
  • 선택사항: 앞의 설명대로 프레임워크 파일을 프로젝트에 복사하지 않은 경우 빌드 단계(Phase) 탭에서 필요한 항목 목사 옵션을 사용하여 다음 단계를 수행하십시오.
    • 빌드 설정 페이지를 여십시오.
    • 검색 경로 섹션을 찾으십시오.
    • 프레임워크 검색 경로 폴더에 프레임워크가 있는 폴더의 경로를 추가하십시오.
  • 빌드 설정 탭의 배치 섹션에서 iOS 배치 대상 필드의 값을 8.0 이상으로 선택하십시오.
  • 선택사항: Xcode 7부터 비트 코드가 기본적으로 설정됩니다. 제한사항 및 요구사항은 iOS 앱의 비트 코드 작업을 참조하십시오. 비트 코드를 사용 안함으로 설정하려면 다음을 수행하십시오.
    • 빌드 옵션 섹션을 여십시오.
    • 비트 코드 사용아니오로 설정하십시오.
  • Xcode 7부터 TLS를 강제 실행해야 합니다. iOS 앱에서 TLS 보안 연결 강제 실행을 참조하십시오.

애플리케이션 등록

  1. 명령행 창을 열고 Xcode 프로젝트의 루트로 이동하십시오.

  2. 다음 명령을 실행하십시오.

     mfpdev app register
    

    애플리케이션의 번들 ID를 제공하라는 메시지가 표시됩니다. 중요: 번들 ID는 대소문자를 구분합니다.

mfpdev app register CLI 명령은 먼저 MobileFirst Server에 연결하여 애플리케이션을 등록한 후에 Xcode 프로젝트의 루트에서 mfpclient.plist 파일을 생성하고 MobileFirst Server를 식별하는 메타데이터에 추가합니다.

팁: MobileFirst Operations Console에서 애플리케이션을 등록할 수도 있습니다.

  1. MobileFirst Operations Console을 로드하십시오.
  2. 애플리케이션 옆에 있는 새로 작성 단추를 클릭하여 새 애플리케이션을 등록하고 화면의 지시사항에 따르십시오.
  3. 애플리케이션이 등록된 후에 애플리케이션의 구성 파일 탭으로 이동하고 mfpclient.plist 파일을 복사하거나 다운로드하십시오. 화면의 지시사항에 따라 프로젝트에 파일을 추가하십시오.

설정 프로세스 완료

Xcode에서 프로젝트 항목을 마우스 오른쪽 단추로 클릭하고 [프로젝트 이름]에 파일 추가를 클릭한 다음 Xcode 프로젝트의 루트에 있는 mfpclient.plist 파일을 선택하십시오.

SDK 참조

Mobile Foundation 네이티브 SDK를 사용할 때마다 Mobile Foundation 프레임워크를 가져오십시오.

Objective-C:

#import <IBMMobileFirstPlatformFoundation/IBMMobileFirstPlatformFoundation.h>

Swift:

import IBMMobileFoundationSwift


iOS 9 이상에 대한 참고사항:

Xcode 7부터 ATS(Application Transport Security)가 기본적으로 사용됩니다. 개발 중에 앱을 실행하려는 경우 ATS를 사용 안함으로 설정할 수 있습니다(자세히 보기).

  1. Xcode에서 [프로젝트]/info.plist 파일 → 다른 이름으로 열기 → 소스 코드를 마우스 오른쪽 단추로 클릭하십시오.
  2. 다음을 붙여넣으십시오.
     <key>NSAppTransportSecurity</key>
     <dict>
           <key>NSAllowsArbitraryLoads</key>
           <true/>
     </dict>

Apple watchOS에 대한 지원 추가

Apple watchOS 2 이상에 대해 개발 중인 경우 Podfile에는 기본 앱 및 watchOS 확장에 해당하는 섹션이 포함되어 있어야 합니다. watchOS 2에 대한 아래 예제를 참조하십시오.

# Replace with the name of your watchOS application
xcodeproj 'MyWatchApp'

use_frameworks!

#use the name of the iOS target
target :MyWatchApp do
    platform :ios, 9.0
    pod 'IBMMobileFirstPlatformFoundation'
    end

#use the name of the watch extension target
target :MyWatchApp WatchKit Extension do
    platform :watchos, 2.0
    pod 'IBMMobileFirstPlatformFoundation'
end

Xcode 프로젝트가 처리완료되었는지 확인하고 pod install 명령을 실행하십시오.

MobileFirst 네이티브 SDK 업데이트

최신 릴리스로 Mobile Foundation 네이티브 SDK를 업데이트하려면 명령행 창의 Xcode 프로젝트 루트 폴더에서 다음 명령을 실행하십시오.

pod update

SDK 릴리스는 SDK의 CocoaPods 저장소에 있습니다.

생성되는 MobileFirst 네이티브 SDK 아티팩트

mfpclient.plist

이 파일은 프로젝트의 루트에 있으며 MobileFirst Server에서 iOS 앱을 등록하는 데 사용되는 클라이언트 측 특성을 정의합니다.

특성 설명 예제 값
protocol MobileFirst Server에 사용되는 통신 프로토콜입니다. HTTP 또는 HTTPS
host MobileFirst Server의 호스트 이름입니다. 192.168.1.63
port MobileFirst Server의 포트입니다. 9080
wlServerContext MobileFirst Server에서 애플리케이션의 컨텍스트 루트 경로입니다. /mfp/
languagePreferences 클라이언트 SDK 시스템 메시지의 기본 언어를 설정합니다. en

비트 코드 및 TLS 1.2

비트 코드 및 TLS 1.2의 지원에 대한 정보는 추가 정보 페이지를 참조하십시오.

다음 학습서

이제 Mobile Foundation 네이티브 SDK가 통합되었으므로 다음을 수행할 수 있습니다.

Inclusive terminology note: The Mobile First Platform team is making changes to support the IBM® initiative to replace racially biased and other discriminatory language in our code and content with more inclusive language. While IBM values the use of inclusive language, terms that are outside of IBM's direct influence are sometimes required for the sake of maintaining user understanding. As other industry leaders join IBM in embracing the use of inclusive language, IBM will continue to update the documentation to reflect those changes.
Last modified on February 26, 2020