Salesforce Mobile SDK 사용

소개



Phone Appli Advent Calendar 2020 12일째입니다.

쓰기


  • Salesforce Mobile SDK 정보
  • Salesforce Mobile SDK 배포부터 로그인까지

  • 쓰지 않는 것


  • 코드 자체에 대하여

  • 프로젝트를 만드는 방법 등은 날아가고 있기 때문에 모바일 개발을 한 적이있는 사람을위한 것입니다.

    Salesforce Mobile SDK 정보



    Salesforce Mobile SDK(이하 Mobile SDK)는 Salesforce에서 제공하는 모바일 개발 라이브러리입니다.
    개발자 가이드

    Mobile SDK는 클라우드 푸시 알림, 지리 위치 정보, 분석, 협업 도구, 비즈니스 로직 등 다양한 플랫폼 모바일 서비스를 지원합니다. 이러한 서비스는 모바일 애플리케이션을 크게 향상시키고 개발 시간을 단축합니다.

    따라서 Mobile SDK를 사용하여 로그인 화면을 만들거나 액세스 토큰을 관리 할 수 ​​있으므로 개발이 매우 쉬워집니다.

    해보자



    환경


  • Swift 5
  • Xcode 12.2
  • iOS 14.0 ~
  • CocoaPods 1.9.3

  • Mobile SDK 설치



    이번에는 CocoaPods를 사용하여 설치합니다.

    Podfile
    
    target 'SalesforceMobileSDKSample' do
      use_frameworks!
    # ①
    source 'https://github.com/forcedotcom/SalesforceMobileSDK-iOS-Specs.git'
    source 'https://cdn.cocoapods.org/'
    source 'https://github.com/CocoaPods/Specs.git'
    
    # ②
    pod 'SalesforceSDKCore'
    
    end
    

    ① SalesforceMobileSDK-iOS-Specs 리포지토리를 소스로 추가합니다. 항상 이 항목을 CocoaPods 소스 경로 앞에 두십시오.
    ② 이번에는 로그인이 목적이므로 SalesforceSDKCore 만 설치합니다.

    설정 파일 만들기



    Mobile SDK는 bootconfig라는 파일을 구성 파일로 참조합니다.

    bootconfig.plist
    
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
    <plist version="1.0">
    <dict>
        <key>remoteAccessConsumerKey</key>
        <string></string>
        <key>oauthRedirectURI</key>
        <string></string>
        <key>oauthScopes</key>
        <array>
            <string>web</string>
            <string>api</string>
        </array>
        <key>shouldAuthenticate</key>
        <true/>
    </dict>
    </plist>
    
    

    ① Salesforce 액세스 소비자 키
    ② 설정된 리디렉션 URL

    로그인 처리



    이번에는 SwiftUI를 사용하고 있습니다.

    SalesforceMobileSDKSampleApp.swift
    import SwiftUI
    import SalesforceSDKCore
    import Combine
    
    @main
    struct SalesforceMobileSDKSampleApp: App {
        // ①
        @UIApplicationDelegateAdaptor(AppDelegate.self) var appDelegate
        @StateObject private var loginViewModel = LoginViewModel()
    
        var body: some Scene {
            WindowGroup {
                if loginViewModel.isUser {
                    Text("ログインしている")
                } else {
                    Text("ログインしていない")
                }
            }
        }
    }
    
    class LoginViewModel: ObservableObject {
    
        @Published var isUser: Bool = false
    
        init() {
            // 実際のログイン処理
            AuthHelper.loginIfRequired {
                self.isUser = (UserAccountManager.shared.currentUserAccount != nil)
            }
        }
    }
    
    

    ① Mobile SDK가 AppDelegate를 필요로 하기 때문에 사용하고 있습니다.

    결과



    지금까지 구현하고 앱을 시작하면



    Salesforce가 권장하는 로그인 화면이 표시됩니다.

    끝에



    로그인 화면의 개발을 한 적이 있는 사람이라면, 코드의 적음에 놀란 것은 아닐까요.
    2, 3행의 코드로 로그인 처리를 실시할 수 있는 것은 고맙습니다.
    그 밖에도 Mobile SDK에는 Mobile Sync
    샘플 코드도 공개되어 있으므로 관심있는 사람은 실제로 만져 보겠습니다

    좋은 웹페이지 즐겨찾기