Section 1 - Setting up Remodel-AR in SwiftUI

Creating and configuring an Xcode project that uses Remodel-AR.

Step 1

Create a new project using the iOS App template.

Step 2

Enter “Painty” as the Product Name. Select “SwiftUI” from the Interface pop-up menu then click Next.

Step 3

Choose a location to save the Painty project on your Mac.

Step 4

Navigate to the Targets->Painty->General tab. Scroll down to the “Frameworks, Libraries, and Embedded Content” section and click on the Add Items button.

Step 5

Click on “Add Other…”, then “Add Files…”. Navigate to and select the RemodelAR.xcframework file and click Add.

Step 6

Navigate to the Targets->Painty->Info tab. Add a new entry for the “Privacy - Camera Usage Description” key. Give it a description.

Step 7

First you'll need to configure your license key when the app starts. Open PaintyApp.swift and add the init() block below, then replace "license_key" with the license key you were provided. If you need a license key, please contact support@passiolife.com

    init() {
        // Replace "license_key" with your license key
        PassioConfiguration.configure(license: "license_key")
    }

Step 8

Open ContentView.swift and you’ll see the default Hello World code.

//
//  ContentView.swift
//  Painty
//

import SwiftUI

struct ContentView: View {
    var body: some View {
        Text("Hello, world!")
            .padding()
    }
}

struct ContentView_Previews: PreviewProvider {
    static var previews: some View {
        ContentView()
    }
}

Step 9

Import the Remodel-AR library and add the required ARStateModel @StateObject:

import RemodelAR
import SwiftUI

struct ContentView: View {
    @StateObject var model = ARStateModel()

    var body: some View {

Step 10

Create an extension to ContentView and create a variable for the ARView object.

private extension ContentView {
    var arView: ARView {
        RemodelARLib.makeARView(model: model, arMethod: .Lidar)
    }
}

Step 11

Add the arView object to the view body.

    var body: some View {
        arView
            .edgesIgnoringSafeArea(.all)
    }

Step 12

Build and run your project. You will see the walls start to be covered with a mesh. Tap on a mesh and it will be colored.

If at any point you need help from the Passio team, please reach out to us at support@passiolife.com

Last updated