Amply Interview Flashcards

1
Q

What is ARKit?

A

Framework that handles data input for AR experiences

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What is SceneKit?

A

3D engine SDK. Can be used with or without ARKit and has been around for longer.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What is RealityKit

A

Simulate and render 3D content for use in your augmented reality apps. Replacement for SceneKit

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What is QuickLook?

A

Place 3D objects in the real world

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What is RoomPlan?

A

An API inside of ARKit that uses LiDAR

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What does LiDAR stand for?

A

Light Detection And Ranging

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

How does RoomPlan work?

A
  • Present a RoomCaptureView
  • Initiate a RoomCaptureSessions
  • Output CapturedRoomData + Captured Room structs
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

List some of the RoomCaptureSessionDelegate methods

A
  • capture session did start
  • capture session did update
  • capture session did provide instruction
  • capture session did end
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What is USDZ

A

USDZ is a 3D file format that shows up as AR content

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

In Apple’s LiDAR demo, describe which parts of the UX use which software

A
  • the view capturing and highlighting is done by RoomPlan
  • the 3d rendering is done by RealityKit
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

What is MetalKit?

A

Graphics rendering, primarily for games

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Explain the stack in Apple’s LIDAR example

A
  • swiftui view
  • cameramanager (similar to viewmodel)
  • controller (delegate methods)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

How to embed a UIViewController in a SwiftUI view?

A
  • Create a struct that conforms to UIViewControllerRepresentable
  • create the VC in makeUIViewController()
  • update data in updateUIViewController()
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

When does updateUIViewController get called?

A

When the state of your app changes

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

What are the two delegate methods for UIViewControllerRepresentable?

A
  • makeUIViewController()
  • updateUIViewController()
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

How to implement a SwiftUI coordinator?

A
  • create a Coordinator class as a child of the SwiftUI wrapper / representable
  • give the coordinator a parent property that it inits with
  • then the UIViewController can send updates via the coordinator
17
Q

How to embed SwiftUI view in UIKit?

A

Instantiate the swiftUI view into UIKit by calling UIHostingController.init()

let view = UIHostingController(rootView: SwiftUIView())