Skip to content

urbanbase/ar-viewer-ios

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 

Repository files navigation

iOS ARViewer 임포트 가이드

Overview

Getting Started

ARViewer 는 iOS 의 ARKit 에 기반한 정적 라이브러리입니다. 아래의 조건에서 정상적으로 동작합니다. iOS 11.3 이상 필요. iPhone 6s 또는 iPhone SE(1세대) 이상의 기기.

Importing SDK

SDK 파일 추가

Project 폴더에 ARViewer.framework 파일 붙여넣기

img_sdk_to_folder

프로젝트 파일의 Frameworks, Libraries, and Embedded Content > + 를 선택한 뒤 framework 파일을 추가합니다.

img_sdk_to_folder
img_sdk_to_folder
img_sdk_to_folder

권한 설정

Info.plist 에 카메라 권한을 추가합니다.

NSCameraUsageDescription
img_sdk_to_folder

Info.plist 에 API Key 를 추가합니다.

kUBARViewer
img_sdk_to_folder

종속성(dependency) 설정

CocoaPods 를 사용하여 ARViewer 의 종속성을 설치하여야 합니다. Cocoapods 를 설치하려면 설치안내 를 따릅니다.

$ cd your-project directory
$ pod init

설치할 pod 을 추가합니다. 다음과 같이 Podfile 에 pod 을 포함할 수 있습니다.

img_sdk_to_folder
pod 'AFNetworking', '~> 3.0', :subspecs => ['Reachability', 'Serialization', 'Security', 'NSURLSession']
pod 'UICircularProgressRing', '~>6.1.0'
pod 'lottie-ios'

pod 을 설치하고 .xcworkspace 파일을 열어 XCode 에서 프로젝트를 확인합니다.

$ pod install
$ open your-project.xcworkspace

Scheme 설정

ARViewer 의 원활한 개발환경을 위해 아래의 설정을 적용합니다.

img_sdk_to_folder

Runtime API Checking 의 Main Thread Checker 를 __해제__합니다.

img_sdk_to_folder

Metal API Validation 을 Disabled 로 설정합니다.

img_sdk_to_folder

Initializing Session

Storyboard 나 Xib 을 통해 ARViewer 를 정적 로드합니다.

img_sdk_to_folder

코드를 통해 동적 로드도 가능합니다.

let arViewer = ARViewer(frame: UIScreen.main.bounds)

구현부를 통해 ARViewer 의 세션을 실행시킵니다.

//
//  ARViewController.swift
//  arviewer-sample
//
//  Created by urbanbase on 2020/08/20.
//  Copyright © 2020 urbanbase. All rights reserved.
//

import UIKit
import ARViewer

class ARViewController: UIViewController {

    @IBOutlet var arViewer: ARViewer!
    
    override func viewDidLoad() {
        super.viewDidLoad()
        configureARViewer()
    }
    
    func configureARViewer() {
        arViewer.delegate = self
          arViewer.run()
    }
}