├── Vision3DInUIKit ├── Assets.xcassets │ ├── Contents.json │ └── AppIcon.appiconset │ │ ├── icon-120.png │ │ ├── icon-152.png │ │ ├── icon-167.png │ │ ├── icon-180.png │ │ ├── icon-29.png │ │ ├── icon-40.png │ │ ├── icon-58.png │ │ ├── icon-60.png │ │ ├── icon-76.png │ │ ├── icon-80.png │ │ ├── icon-87.png │ │ ├── icon20.png │ │ ├── icon-1024.png │ │ └── Contents.json ├── Source │ ├── Vision3DInUIKit-Bridging-Header.h │ ├── Application │ │ ├── V3DSceneDelegate+NSToolbar.h │ │ ├── V3DAppDelegate.h │ │ ├── V3DAppDelegate.m │ │ ├── V3DSceneDelegate.h │ │ ├── V3DSceneDelegate.m │ │ └── V3DSceneDelegate+NSToolbar.m │ ├── main.m │ └── Main │ │ ├── V3DMainViewController.h │ │ ├── V3DInspectorSidebarViewController.swift │ │ ├── V3DInspectorSidebar.swift │ │ └── V3DMainViewController.m ├── Info.plist └── Base.lproj │ └── LaunchScreen.storyboard ├── Vision3DInUIKit.xcodeproj ├── project.xcworkspace │ └── contents.xcworkspacedata └── project.pbxproj └── README.md /Vision3DInUIKit/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | } 6 | } -------------------------------------------------------------------------------- /Vision3DInUIKit/Source/Vision3DInUIKit-Bridging-Header.h: -------------------------------------------------------------------------------- 1 | // 2 | // Use this file to import your target's public headers that you would like to expose to Swift. 3 | // 4 | 5 | -------------------------------------------------------------------------------- /Vision3DInUIKit/Assets.xcassets/AppIcon.appiconset/icon-120.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/steventroughtonsmith/Vision3DInUIKit/HEAD/Vision3DInUIKit/Assets.xcassets/AppIcon.appiconset/icon-120.png -------------------------------------------------------------------------------- /Vision3DInUIKit/Assets.xcassets/AppIcon.appiconset/icon-152.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/steventroughtonsmith/Vision3DInUIKit/HEAD/Vision3DInUIKit/Assets.xcassets/AppIcon.appiconset/icon-152.png -------------------------------------------------------------------------------- /Vision3DInUIKit/Assets.xcassets/AppIcon.appiconset/icon-167.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/steventroughtonsmith/Vision3DInUIKit/HEAD/Vision3DInUIKit/Assets.xcassets/AppIcon.appiconset/icon-167.png -------------------------------------------------------------------------------- /Vision3DInUIKit/Assets.xcassets/AppIcon.appiconset/icon-180.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/steventroughtonsmith/Vision3DInUIKit/HEAD/Vision3DInUIKit/Assets.xcassets/AppIcon.appiconset/icon-180.png -------------------------------------------------------------------------------- /Vision3DInUIKit/Assets.xcassets/AppIcon.appiconset/icon-29.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/steventroughtonsmith/Vision3DInUIKit/HEAD/Vision3DInUIKit/Assets.xcassets/AppIcon.appiconset/icon-29.png -------------------------------------------------------------------------------- /Vision3DInUIKit/Assets.xcassets/AppIcon.appiconset/icon-40.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/steventroughtonsmith/Vision3DInUIKit/HEAD/Vision3DInUIKit/Assets.xcassets/AppIcon.appiconset/icon-40.png -------------------------------------------------------------------------------- /Vision3DInUIKit/Assets.xcassets/AppIcon.appiconset/icon-58.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/steventroughtonsmith/Vision3DInUIKit/HEAD/Vision3DInUIKit/Assets.xcassets/AppIcon.appiconset/icon-58.png -------------------------------------------------------------------------------- /Vision3DInUIKit/Assets.xcassets/AppIcon.appiconset/icon-60.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/steventroughtonsmith/Vision3DInUIKit/HEAD/Vision3DInUIKit/Assets.xcassets/AppIcon.appiconset/icon-60.png -------------------------------------------------------------------------------- /Vision3DInUIKit/Assets.xcassets/AppIcon.appiconset/icon-76.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/steventroughtonsmith/Vision3DInUIKit/HEAD/Vision3DInUIKit/Assets.xcassets/AppIcon.appiconset/icon-76.png -------------------------------------------------------------------------------- /Vision3DInUIKit/Assets.xcassets/AppIcon.appiconset/icon-80.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/steventroughtonsmith/Vision3DInUIKit/HEAD/Vision3DInUIKit/Assets.xcassets/AppIcon.appiconset/icon-80.png -------------------------------------------------------------------------------- /Vision3DInUIKit/Assets.xcassets/AppIcon.appiconset/icon-87.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/steventroughtonsmith/Vision3DInUIKit/HEAD/Vision3DInUIKit/Assets.xcassets/AppIcon.appiconset/icon-87.png -------------------------------------------------------------------------------- /Vision3DInUIKit/Assets.xcassets/AppIcon.appiconset/icon20.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/steventroughtonsmith/Vision3DInUIKit/HEAD/Vision3DInUIKit/Assets.xcassets/AppIcon.appiconset/icon20.png -------------------------------------------------------------------------------- /Vision3DInUIKit/Assets.xcassets/AppIcon.appiconset/icon-1024.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/steventroughtonsmith/Vision3DInUIKit/HEAD/Vision3DInUIKit/Assets.xcassets/AppIcon.appiconset/icon-1024.png -------------------------------------------------------------------------------- /Vision3DInUIKit.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Vision3DInUIKit/Source/Application/V3DSceneDelegate+NSToolbar.h: -------------------------------------------------------------------------------- 1 | // 2 | // V3DSceneDelegate+NSToolbar.h 3 | // Vision3DInUIKit 4 | // 5 | // Created by Steven Troughton-Smith on 13/01/2024. 6 | // 7 | // 8 | 9 | @import UIKit; 10 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Vision3DInUIKit 2 | 3 | This trivial visionOS sample code demonstrates how one might insert RealityKit 3D content, and views with z offset, in an outwardly UIKit app written in Objective-C. 4 | 5 | ### Screenshots 6 | ![https://hccdata.s3.amazonaws.com/gh_vision_ui3d.jpg](https://hccdata.s3.amazonaws.com/gh_vision_ui3d.jpg) 7 | -------------------------------------------------------------------------------- /Vision3DInUIKit/Source/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // Vision3DInUIKit 4 | // 5 | // Created by Steven Troughton-Smith on 13/01/2024. 6 | // 7 | // 8 | 9 | @import UIKit; 10 | 11 | int main(int argc, char *argv[]) { 12 | @autoreleasepool { 13 | int retVal = UIApplicationMain(argc, argv, nil, @"V3DAppDelegate"); 14 | return retVal; 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /Vision3DInUIKit/Source/Main/V3DMainViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // V3DMainViewController.h 3 | // Vision3DInUIKit 4 | // 5 | // Created by Steven Troughton-Smith on 13/01/2024. 6 | // 7 | // 8 | 9 | @import UIKit; 10 | 11 | NS_ASSUME_NONNULL_BEGIN 12 | 13 | @interface V3DMainViewController: UIViewController 14 | 15 | @end 16 | 17 | NS_ASSUME_NONNULL_END 18 | -------------------------------------------------------------------------------- /Vision3DInUIKit/Source/Application/V3DAppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // V3DAppDelegate.h 3 | // Vision3DInUIKit 4 | // 5 | // Created by Steven Troughton-Smith on 13/01/2024. 6 | // 7 | // 8 | 9 | @import UIKit; 10 | 11 | NS_ASSUME_NONNULL_BEGIN 12 | 13 | @interface V3DAppDelegate: UIResponder 14 | 15 | @end 16 | 17 | NS_ASSUME_NONNULL_END 18 | -------------------------------------------------------------------------------- /Vision3DInUIKit/Source/Application/V3DAppDelegate.m: -------------------------------------------------------------------------------- 1 | // 2 | // V3DAppDelegate.m 3 | // Vision3DInUIKit 4 | // 5 | // Created by Steven Troughton-Smith on 13/01/2024. 6 | // 7 | // 8 | 9 | @import UIKit; 10 | 11 | #import "V3DAppDelegate.h" 12 | 13 | @implementation V3DAppDelegate 14 | 15 | - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { 16 | 17 | return YES; 18 | } 19 | 20 | @end 21 | -------------------------------------------------------------------------------- /Vision3DInUIKit/Source/Application/V3DSceneDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // V3DSceneDelegate.h 3 | // Vision3DInUIKit 4 | // 5 | // Created by Steven Troughton-Smith on 13/01/2024. 6 | // 7 | // 8 | 9 | @import UIKit; 10 | #if TARGET_OS_MACCATALYST 11 | @import AppKit; 12 | #endif 13 | 14 | NS_ASSUME_NONNULL_BEGIN 15 | 16 | @interface V3DSceneDelegate: UIResponder 17 | #if TARGET_OS_MACCATALYST 18 | 19 | #else 20 | 21 | #endif 22 | 23 | @property (nullable, nonatomic, strong) UIWindow *window; 24 | 25 | 26 | @end 27 | 28 | NS_ASSUME_NONNULL_END 29 | -------------------------------------------------------------------------------- /Vision3DInUIKit/Source/Main/V3DInspectorSidebarViewController.swift: -------------------------------------------------------------------------------- 1 | // 2 | // V3DInspectorSidebarViewController.swift 3 | // Vision3DInUIKit 4 | // 5 | // Created by Steven Troughton-Smith on 13/01/2024. 6 | // 7 | 8 | import UIKit 9 | import SwiftUI 10 | 11 | 12 | class V3DInspectorSidebarViewController: UIViewController { 13 | 14 | let embeddedHostingView = UIHostingController(rootView: V3DInspectorSidebar()) 15 | 16 | init() { 17 | super.init(nibName: nil, bundle: nil) 18 | view.addSubview(embeddedHostingView.view) 19 | } 20 | 21 | required init?(coder: NSCoder) { 22 | fatalError("init(coder:) has not been implemented") 23 | } 24 | 25 | // MARK: - 26 | 27 | override func viewDidLayoutSubviews() { 28 | embeddedHostingView.view.frame = view.bounds 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /Vision3DInUIKit/Source/Application/V3DSceneDelegate.m: -------------------------------------------------------------------------------- 1 | // 2 | // V3DSceneDelegate.m 3 | // Vision3DInUIKit 4 | // 5 | // Created by Steven Troughton-Smith on 13/01/2024. 6 | // 7 | // 8 | 9 | @import UIKit; 10 | 11 | #import "V3DSceneDelegate.h" 12 | #import "V3DMainViewController.h" 13 | 14 | @implementation V3DSceneDelegate 15 | 16 | - (void)scene:(UIWindowScene *)scene willConnectToSession:(UISceneSession *)session options:(UISceneConnectionOptions *)connectionOptions { 17 | 18 | self.window = [[UIWindow alloc] initWithWindowScene:scene]; 19 | self.window.rootViewController = [[V3DMainViewController alloc] init]; 20 | 21 | #if TARGET_OS_MACCATALYST 22 | 23 | NSToolbar *toolbar = [[NSToolbar alloc] initWithIdentifier:@"V3DSceneDelegate.Toolbar"]; 24 | toolbar.delegate = self; 25 | toolbar.displayMode = NSToolbarDisplayModeIconOnly; 26 | toolbar.allowsUserCustomization = NO; 27 | 28 | scene.titlebar.toolbar = toolbar; 29 | scene.titlebar.toolbarStyle = UITitlebarToolbarStyleUnified; 30 | 31 | #endif 32 | 33 | [self.window makeKeyAndVisible]; 34 | } 35 | 36 | @end 37 | -------------------------------------------------------------------------------- /Vision3DInUIKit/Source/Application/V3DSceneDelegate+NSToolbar.m: -------------------------------------------------------------------------------- 1 | // 2 | // V3DSceneDelegate+NSToolbar.m 3 | // Vision3DInUIKit 4 | // 5 | // Created by Steven Troughton-Smith on 13/01/2024. 6 | // 7 | // 8 | 9 | @import UIKit; 10 | 11 | #import "V3DSceneDelegate.h" 12 | #import "V3DSceneDelegate+NSToolbar.h" 13 | 14 | #if TARGET_OS_MACCATALYST 15 | @import AppKit; 16 | 17 | @implementation V3DSceneDelegate (NSToolbarDelegate) 18 | 19 | - (NSArray *)toolbarItemIdentifiers { 20 | 21 | NSArray *toolbarItemsArray = [NSArray arrayWithObjects:NSToolbarToggleSidebarItemIdentifier, nil]; 22 | return toolbarItemsArray; 23 | } 24 | 25 | - (NSArray *)toolbarDefaultItemIdentifiers:(NSToolbar *)toolbar { 26 | 27 | return [self toolbarItemIdentifiers]; 28 | } 29 | - (NSArray *)toolbarAllowedItemIdentifiers:(NSToolbar *)toolbar { 30 | 31 | return [self toolbarItemIdentifiers]; 32 | } 33 | 34 | - (nullable NSToolbarItem *)toolbar:(NSToolbar *)toolbar itemForItemIdentifier:(NSToolbarItemIdentifier)itemIdentifier willBeInsertedIntoToolbar:(BOOL)flag { 35 | 36 | return [[NSToolbarItem alloc] initWithItemIdentifier:itemIdentifier]; 37 | } 38 | 39 | @end 40 | 41 | #endif 42 | -------------------------------------------------------------------------------- /Vision3DInUIKit/Source/Main/V3DInspectorSidebar.swift: -------------------------------------------------------------------------------- 1 | // 2 | // V3DInspectorSidebar.swift 3 | // Vision3DInUIKit 4 | // 5 | // Created by Steven Troughton-Smith on 13/01/2024. 6 | // 7 | 8 | import SwiftUI 9 | import RealityKit 10 | 11 | struct V3DInspectorSidebar: View { 12 | let diameter:Float = 0.2 // In meters 13 | 14 | var body: some View { 15 | VStack { 16 | RealityView { content in 17 | let model = ModelEntity( 18 | mesh: .generateSphere(radius: diameter/2), 19 | materials: [SimpleMaterial(color: .white, isMetallic: true)]) 20 | 21 | model.position = SIMD3(x: 0, y: 0, z: diameter/2) // Position the sphere in center of z space 22 | content.add(model) 23 | } 24 | .frame(depth: CGFloat(diameter)) // Make the RealityView be exactly as deep as the sphere, in meters 25 | 26 | Group { 27 | VStack { 28 | Text("Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.") 29 | .frame(maxHeight: .greatestFiniteMagnitude) 30 | Button("Button") { 31 | 32 | } 33 | } 34 | .padding() 35 | } 36 | .glassBackgroundEffect() 37 | .offset(z: 64.0) // Different unit for z offset, corresponds to 3D points 38 | } 39 | .padding() 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /Vision3DInUIKit/Source/Main/V3DMainViewController.m: -------------------------------------------------------------------------------- 1 | // 2 | // V3DMainViewController.m 3 | // Vision3DInUIKit 4 | // 5 | // Created by Steven Troughton-Smith on 13/01/2024. 6 | // 7 | // 8 | 9 | @import UIKit; 10 | 11 | #import "V3DMainViewController.h" 12 | #import "Vision3DInUIKit-Swift.h" 13 | 14 | @interface V3DMainViewController () 15 | @property V3DInspectorSidebarViewController *inspectorSidebarViewController; 16 | @property UILabel *justALabel; 17 | @end 18 | 19 | @implementation V3DMainViewController 20 | 21 | -(instancetype)init { 22 | 23 | if (self = [super init]) { 24 | 25 | self.title = @"Vision3DInUIKit"; 26 | 27 | self.justALabel = [UILabel new]; 28 | self.justALabel.text = @"I'm just a UILabel"; 29 | self.justALabel.textAlignment = NSTextAlignmentCenter; 30 | 31 | [self.view addSubview:self.justALabel]; 32 | 33 | 34 | self.inspectorSidebarViewController = [V3DInspectorSidebarViewController new]; 35 | 36 | [self.view addSubview:self.inspectorSidebarViewController.view]; 37 | } 38 | 39 | return self; 40 | } 41 | 42 | - (void)viewWillLayoutSubviews 43 | { 44 | CGFloat inspectorWidth = 320.0; 45 | 46 | CGRect inspectorRect = CGRectZero; 47 | CGRect theRestRect = CGRectZero; 48 | 49 | CGRectDivide(self.view.bounds, &inspectorRect, &theRestRect, inspectorWidth, CGRectMaxXEdge); 50 | 51 | self.justALabel.frame = theRestRect; 52 | self.inspectorSidebarViewController.view.frame = inspectorRect; 53 | } 54 | 55 | #if TARGET_OS_VISION 56 | -(UIContainerBackgroundStyle)preferredContainerBackgroundStyle { 57 | return UIContainerBackgroundStyleGlass; 58 | } 59 | #endif 60 | 61 | @end 62 | -------------------------------------------------------------------------------- /Vision3DInUIKit/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | ITSAppUsesNonExemptEncryption 6 | 7 | LSRequiresIPhoneOS 8 | 9 | UIApplicationSceneManifest 10 | 11 | UIApplicationSupportsMultipleScenes 12 | 13 | UISceneConfigurations 14 | 15 | UIWindowSceneSessionRoleApplication 16 | 17 | 18 | UISceneConfigurationName 19 | Default Configuration 20 | UISceneDelegateClassName 21 | V3DSceneDelegate 22 | 23 | 24 | 25 | 26 | UIApplicationSupportsIndirectInputEvents 27 | 28 | UILaunchStoryboardName 29 | LaunchScreen 30 | UIRequiredDeviceCapabilities 31 | 32 | armv7 33 | 34 | UISupportedInterfaceOrientations 35 | 36 | UIInterfaceOrientationPortrait 37 | UIInterfaceOrientationLandscapeLeft 38 | UIInterfaceOrientationLandscapeRight 39 | 40 | UISupportedInterfaceOrientations~ipad 41 | 42 | UIInterfaceOrientationPortrait 43 | UIInterfaceOrientationPortraitUpsideDown 44 | UIInterfaceOrientationLandscapeLeft 45 | UIInterfaceOrientationLandscapeRight 46 | 47 | 48 | 49 | -------------------------------------------------------------------------------- /Vision3DInUIKit/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images": [ 3 | { 4 | "size": "20x20", 5 | "idiom": "iphone", 6 | "filename": "icon-40.png", 7 | "scale": "2x" 8 | }, 9 | { 10 | "size": "20x20", 11 | "idiom": "iphone", 12 | "filename": "icon-60.png", 13 | "scale": "3x" 14 | }, 15 | { 16 | "size": "29x29", 17 | "idiom": "iphone", 18 | "filename": "icon-58.png", 19 | "scale": "2x" 20 | }, 21 | { 22 | "size": "29x29", 23 | "idiom": "iphone", 24 | "filename": "icon-87.png", 25 | "scale": "3x" 26 | }, 27 | { 28 | "size": "40x40", 29 | "idiom": "iphone", 30 | "filename": "icon-80.png", 31 | "scale": "2x" 32 | }, 33 | { 34 | "size": "40x40", 35 | "idiom": "iphone", 36 | "filename": "icon-120.png", 37 | "scale": "3x" 38 | }, 39 | { 40 | "size": "60x60", 41 | "idiom": "iphone", 42 | "filename": "icon-120.png", 43 | "scale": "2x" 44 | }, 45 | { 46 | "size": "60x60", 47 | "idiom": "iphone", 48 | "filename": "icon-180.png", 49 | "scale": "3x" 50 | }, 51 | { 52 | "size": "20x20", 53 | "idiom": "ipad", 54 | "filename": "icon20.png", 55 | "scale": "1x" 56 | }, 57 | { 58 | "size": "20x20", 59 | "idiom": "ipad", 60 | "filename": "icon-40.png", 61 | "scale": "2x" 62 | }, 63 | { 64 | "size": "29x29", 65 | "idiom": "ipad", 66 | "filename": "icon-29.png", 67 | "scale": "1x" 68 | }, 69 | { 70 | "size": "29x29", 71 | "idiom": "ipad", 72 | "filename": "icon-58.png", 73 | "scale": "2x" 74 | }, 75 | { 76 | "size": "40x40", 77 | "idiom": "ipad", 78 | "filename": "icon-40.png", 79 | "scale": "1x" 80 | }, 81 | { 82 | "size": "40x40", 83 | "idiom": "ipad", 84 | "filename": "icon-80.png", 85 | "scale": "2x" 86 | }, 87 | { 88 | "size": "76x76", 89 | "idiom": "ipad", 90 | "filename": "icon-76.png", 91 | "scale": "1x" 92 | }, 93 | { 94 | "size": "76x76", 95 | "idiom": "ipad", 96 | "filename": "icon-152.png", 97 | "scale": "2x" 98 | }, 99 | { 100 | "size": "83.5x83.5", 101 | "idiom": "ipad", 102 | "filename": "icon-167.png", 103 | "scale": "2x" 104 | }, 105 | { 106 | "size": "1024x1024", 107 | "idiom": "ios-marketing", 108 | "filename": "icon-1024.png", 109 | "scale": "1x" 110 | } 111 | ], 112 | "info": { 113 | "version": 1, 114 | "author": "xcode" 115 | } 116 | } -------------------------------------------------------------------------------- /Vision3DInUIKit/Base.lproj/LaunchScreen.storyboard: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | -------------------------------------------------------------------------------- /Vision3DInUIKit.xcodeproj/project.pbxproj: -------------------------------------------------------------------------------- 1 | // !$*UTF8*$! 2 | { 3 | archiveVersion = 1; 4 | classes = { 5 | }; 6 | objectVersion = 56; 7 | objects = { 8 | 9 | /* Begin PBXBuildFile section */ 10 | B004C4DF2B52DC490096B1C9 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = B004C4DE2B52DC490096B1C9 /* Assets.xcassets */; }; 11 | B004C4E62B52DC490096B1C9 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = B004C4E52B52DC490096B1C9 /* main.m */; }; 12 | B004C4E82B52DC490096B1C9 /* V3DAppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = B004C4E72B52DC490096B1C9 /* V3DAppDelegate.m */; }; 13 | B004C4EA2B52DC490096B1C9 /* V3DMainViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = B004C4E92B52DC490096B1C9 /* V3DMainViewController.m */; }; 14 | B004C4ED2B52DC490096B1C9 /* V3DSceneDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = B004C4EC2B52DC490096B1C9 /* V3DSceneDelegate.m */; }; 15 | B004C4F02B52DC490096B1C9 /* V3DSceneDelegate+NSToolbar.m in Sources */ = {isa = PBXBuildFile; fileRef = B004C4EF2B52DC490096B1C9 /* V3DSceneDelegate+NSToolbar.m */; }; 16 | B004C4F32B52DC490096B1C9 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = B004C4F12B52DC490096B1C9 /* LaunchScreen.storyboard */; }; 17 | B004C4FC2B52DCCD0096B1C9 /* V3DInspectorSidebarViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = B004C4FB2B52DCCD0096B1C9 /* V3DInspectorSidebarViewController.swift */; }; 18 | B004C4FE2B52E42E0096B1C9 /* V3DInspectorSidebar.swift in Sources */ = {isa = PBXBuildFile; fileRef = B004C4FD2B52E42E0096B1C9 /* V3DInspectorSidebar.swift */; }; 19 | /* End PBXBuildFile section */ 20 | 21 | /* Begin PBXFileReference section */ 22 | B004C4DB2B52DC490096B1C9 /* Vision3DInUIKit.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Vision3DInUIKit.app; sourceTree = BUILT_PRODUCTS_DIR; }; 23 | B004C4DE2B52DC490096B1C9 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; 24 | B004C4E22B52DC490096B1C9 /* V3DAppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = V3DAppDelegate.h; sourceTree = ""; }; 25 | B004C4E42B52DC490096B1C9 /* V3DMainViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = V3DMainViewController.h; sourceTree = ""; }; 26 | B004C4E52B52DC490096B1C9 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; }; 27 | B004C4E72B52DC490096B1C9 /* V3DAppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = V3DAppDelegate.m; sourceTree = ""; }; 28 | B004C4E92B52DC490096B1C9 /* V3DMainViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = V3DMainViewController.m; sourceTree = ""; }; 29 | B004C4EB2B52DC490096B1C9 /* V3DSceneDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = V3DSceneDelegate.h; sourceTree = ""; }; 30 | B004C4EC2B52DC490096B1C9 /* V3DSceneDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = V3DSceneDelegate.m; sourceTree = ""; }; 31 | B004C4EE2B52DC490096B1C9 /* V3DSceneDelegate+NSToolbar.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "V3DSceneDelegate+NSToolbar.h"; sourceTree = ""; }; 32 | B004C4EF2B52DC490096B1C9 /* V3DSceneDelegate+NSToolbar.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = "V3DSceneDelegate+NSToolbar.m"; sourceTree = ""; }; 33 | B004C4F22B52DC490096B1C9 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; 34 | B004C4F42B52DC490096B1C9 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 35 | B004C4FA2B52DCCC0096B1C9 /* Vision3DInUIKit-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Vision3DInUIKit-Bridging-Header.h"; sourceTree = ""; }; 36 | B004C4FB2B52DCCD0096B1C9 /* V3DInspectorSidebarViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = V3DInspectorSidebarViewController.swift; sourceTree = ""; }; 37 | B004C4FD2B52E42E0096B1C9 /* V3DInspectorSidebar.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = V3DInspectorSidebar.swift; sourceTree = ""; }; 38 | B004C4FF2B52E4830096B1C9 /* README.md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = README.md; sourceTree = ""; }; 39 | /* End PBXFileReference section */ 40 | 41 | /* Begin PBXFrameworksBuildPhase section */ 42 | B004C4D82B52DC490096B1C9 /* Frameworks */ = { 43 | isa = PBXFrameworksBuildPhase; 44 | buildActionMask = 2147483647; 45 | files = ( 46 | ); 47 | runOnlyForDeploymentPostprocessing = 0; 48 | }; 49 | /* End PBXFrameworksBuildPhase section */ 50 | 51 | /* Begin PBXGroup section */ 52 | B004C4D22B52DC490096B1C9 = { 53 | isa = PBXGroup; 54 | children = ( 55 | B004C4FF2B52E4830096B1C9 /* README.md */, 56 | B004C4DD2B52DC490096B1C9 /* Vision3DInUIKit */, 57 | B004C4DC2B52DC490096B1C9 /* Products */, 58 | ); 59 | sourceTree = ""; 60 | }; 61 | B004C4DC2B52DC490096B1C9 /* Products */ = { 62 | isa = PBXGroup; 63 | children = ( 64 | B004C4DB2B52DC490096B1C9 /* Vision3DInUIKit.app */, 65 | ); 66 | name = Products; 67 | sourceTree = ""; 68 | }; 69 | B004C4DD2B52DC490096B1C9 /* Vision3DInUIKit */ = { 70 | isa = PBXGroup; 71 | children = ( 72 | B004C4DE2B52DC490096B1C9 /* Assets.xcassets */, 73 | B004C4F12B52DC490096B1C9 /* LaunchScreen.storyboard */, 74 | B004C4F42B52DC490096B1C9 /* Info.plist */, 75 | B004C4E02B52DC490096B1C9 /* Source */, 76 | ); 77 | path = Vision3DInUIKit; 78 | sourceTree = ""; 79 | }; 80 | B004C4E02B52DC490096B1C9 /* Source */ = { 81 | isa = PBXGroup; 82 | children = ( 83 | B004C4FA2B52DCCC0096B1C9 /* Vision3DInUIKit-Bridging-Header.h */, 84 | B004C4E52B52DC490096B1C9 /* main.m */, 85 | B004C4E12B52DC490096B1C9 /* Application */, 86 | B004C4E32B52DC490096B1C9 /* Main */, 87 | ); 88 | path = Source; 89 | sourceTree = ""; 90 | }; 91 | B004C4E12B52DC490096B1C9 /* Application */ = { 92 | isa = PBXGroup; 93 | children = ( 94 | B004C4E22B52DC490096B1C9 /* V3DAppDelegate.h */, 95 | B004C4E72B52DC490096B1C9 /* V3DAppDelegate.m */, 96 | B004C4EB2B52DC490096B1C9 /* V3DSceneDelegate.h */, 97 | B004C4EC2B52DC490096B1C9 /* V3DSceneDelegate.m */, 98 | B004C4EE2B52DC490096B1C9 /* V3DSceneDelegate+NSToolbar.h */, 99 | B004C4EF2B52DC490096B1C9 /* V3DSceneDelegate+NSToolbar.m */, 100 | ); 101 | path = Application; 102 | sourceTree = ""; 103 | }; 104 | B004C4E32B52DC490096B1C9 /* Main */ = { 105 | isa = PBXGroup; 106 | children = ( 107 | B004C4E42B52DC490096B1C9 /* V3DMainViewController.h */, 108 | B004C4E92B52DC490096B1C9 /* V3DMainViewController.m */, 109 | B004C4FB2B52DCCD0096B1C9 /* V3DInspectorSidebarViewController.swift */, 110 | B004C4FD2B52E42E0096B1C9 /* V3DInspectorSidebar.swift */, 111 | ); 112 | path = Main; 113 | sourceTree = ""; 114 | }; 115 | /* End PBXGroup section */ 116 | 117 | /* Begin PBXNativeTarget section */ 118 | B004C4DA2B52DC490096B1C9 /* Vision3DInUIKit */ = { 119 | isa = PBXNativeTarget; 120 | buildConfigurationList = B004C4F72B52DC490096B1C9 /* Build configuration list for PBXNativeTarget "Vision3DInUIKit" */; 121 | buildPhases = ( 122 | B004C4D72B52DC490096B1C9 /* Sources */, 123 | B004C4D82B52DC490096B1C9 /* Frameworks */, 124 | B004C4D92B52DC490096B1C9 /* Resources */, 125 | ); 126 | buildRules = ( 127 | ); 128 | dependencies = ( 129 | ); 130 | name = Vision3DInUIKit; 131 | productName = Vision3DInUIKit; 132 | productReference = B004C4DB2B52DC490096B1C9 /* Vision3DInUIKit.app */; 133 | productType = "com.apple.product-type.application"; 134 | }; 135 | /* End PBXNativeTarget section */ 136 | 137 | /* Begin PBXProject section */ 138 | B004C4D32B52DC490096B1C9 /* Project object */ = { 139 | isa = PBXProject; 140 | attributes = { 141 | BuildIndependentTargetsInParallel = 1; 142 | CLASSPREFIX = V3D; 143 | LastUpgradeCheck = 1520; 144 | TargetAttributes = { 145 | B004C4DA2B52DC490096B1C9 = { 146 | CreatedOnToolsVersion = 15.2; 147 | LastSwiftMigration = 1520; 148 | }; 149 | }; 150 | }; 151 | buildConfigurationList = B004C4D62B52DC490096B1C9 /* Build configuration list for PBXProject "Vision3DInUIKit" */; 152 | compatibilityVersion = "Xcode 14.0"; 153 | developmentRegion = en; 154 | hasScannedForEncodings = 0; 155 | knownRegions = ( 156 | en, 157 | Base, 158 | ); 159 | mainGroup = B004C4D22B52DC490096B1C9; 160 | productRefGroup = B004C4DC2B52DC490096B1C9 /* Products */; 161 | projectDirPath = ""; 162 | projectRoot = ""; 163 | targets = ( 164 | B004C4DA2B52DC490096B1C9 /* Vision3DInUIKit */, 165 | ); 166 | }; 167 | /* End PBXProject section */ 168 | 169 | /* Begin PBXResourcesBuildPhase section */ 170 | B004C4D92B52DC490096B1C9 /* Resources */ = { 171 | isa = PBXResourcesBuildPhase; 172 | buildActionMask = 2147483647; 173 | files = ( 174 | B004C4DF2B52DC490096B1C9 /* Assets.xcassets in Resources */, 175 | B004C4F32B52DC490096B1C9 /* LaunchScreen.storyboard in Resources */, 176 | ); 177 | runOnlyForDeploymentPostprocessing = 0; 178 | }; 179 | /* End PBXResourcesBuildPhase section */ 180 | 181 | /* Begin PBXSourcesBuildPhase section */ 182 | B004C4D72B52DC490096B1C9 /* Sources */ = { 183 | isa = PBXSourcesBuildPhase; 184 | buildActionMask = 2147483647; 185 | files = ( 186 | B004C4E82B52DC490096B1C9 /* V3DAppDelegate.m in Sources */, 187 | B004C4E62B52DC490096B1C9 /* main.m in Sources */, 188 | B004C4F02B52DC490096B1C9 /* V3DSceneDelegate+NSToolbar.m in Sources */, 189 | B004C4FC2B52DCCD0096B1C9 /* V3DInspectorSidebarViewController.swift in Sources */, 190 | B004C4EA2B52DC490096B1C9 /* V3DMainViewController.m in Sources */, 191 | B004C4FE2B52E42E0096B1C9 /* V3DInspectorSidebar.swift in Sources */, 192 | B004C4ED2B52DC490096B1C9 /* V3DSceneDelegate.m in Sources */, 193 | ); 194 | runOnlyForDeploymentPostprocessing = 0; 195 | }; 196 | /* End PBXSourcesBuildPhase section */ 197 | 198 | /* Begin PBXVariantGroup section */ 199 | B004C4F12B52DC490096B1C9 /* LaunchScreen.storyboard */ = { 200 | isa = PBXVariantGroup; 201 | children = ( 202 | B004C4F22B52DC490096B1C9 /* Base */, 203 | ); 204 | name = LaunchScreen.storyboard; 205 | sourceTree = ""; 206 | }; 207 | /* End PBXVariantGroup section */ 208 | 209 | /* Begin XCBuildConfiguration section */ 210 | B004C4F52B52DC490096B1C9 /* Debug */ = { 211 | isa = XCBuildConfiguration; 212 | buildSettings = { 213 | ALWAYS_SEARCH_USER_PATHS = NO; 214 | ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; 215 | CLANG_ANALYZER_NONNULL = YES; 216 | CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; 217 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; 218 | CLANG_ENABLE_MODULES = YES; 219 | CLANG_ENABLE_OBJC_ARC = YES; 220 | CLANG_ENABLE_OBJC_WEAK = YES; 221 | CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; 222 | CLANG_WARN_BOOL_CONVERSION = YES; 223 | CLANG_WARN_COMMA = YES; 224 | CLANG_WARN_CONSTANT_CONVERSION = YES; 225 | CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; 226 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; 227 | CLANG_WARN_DOCUMENTATION_COMMENTS = YES; 228 | CLANG_WARN_EMPTY_BODY = YES; 229 | CLANG_WARN_ENUM_CONVERSION = YES; 230 | CLANG_WARN_INFINITE_RECURSION = YES; 231 | CLANG_WARN_INT_CONVERSION = YES; 232 | CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; 233 | CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; 234 | CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; 235 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; 236 | CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; 237 | CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; 238 | CLANG_WARN_STRICT_PROTOTYPES = YES; 239 | CLANG_WARN_SUSPICIOUS_MOVE = YES; 240 | CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; 241 | CLANG_WARN_UNREACHABLE_CODE = YES; 242 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; 243 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; 244 | COPY_PHASE_STRIP = NO; 245 | DEBUG_INFORMATION_FORMAT = dwarf; 246 | ENABLE_STRICT_OBJC_MSGSEND = YES; 247 | ENABLE_TESTABILITY = YES; 248 | ENABLE_USER_SCRIPT_SANDBOXING = YES; 249 | GCC_C_LANGUAGE_STANDARD = gnu17; 250 | GCC_DYNAMIC_NO_PIC = NO; 251 | GCC_NO_COMMON_BLOCKS = YES; 252 | GCC_OPTIMIZATION_LEVEL = 0; 253 | GCC_PREPROCESSOR_DEFINITIONS = ( 254 | "DEBUG=1", 255 | "$(inherited)", 256 | ); 257 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES; 258 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; 259 | GCC_WARN_UNDECLARED_SELECTOR = YES; 260 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; 261 | GCC_WARN_UNUSED_FUNCTION = YES; 262 | GCC_WARN_UNUSED_VARIABLE = YES; 263 | LOCALIZATION_PREFERS_STRING_CATALOGS = YES; 264 | MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; 265 | MTL_FAST_MATH = YES; 266 | ONLY_ACTIVE_ARCH = YES; 267 | SWIFT_VERSION = 5.0; 268 | }; 269 | name = Debug; 270 | }; 271 | B004C4F62B52DC490096B1C9 /* Release */ = { 272 | isa = XCBuildConfiguration; 273 | buildSettings = { 274 | ALWAYS_SEARCH_USER_PATHS = NO; 275 | ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; 276 | CLANG_ANALYZER_NONNULL = YES; 277 | CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; 278 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; 279 | CLANG_ENABLE_MODULES = YES; 280 | CLANG_ENABLE_OBJC_ARC = YES; 281 | CLANG_ENABLE_OBJC_WEAK = YES; 282 | CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; 283 | CLANG_WARN_BOOL_CONVERSION = YES; 284 | CLANG_WARN_COMMA = YES; 285 | CLANG_WARN_CONSTANT_CONVERSION = YES; 286 | CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; 287 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; 288 | CLANG_WARN_DOCUMENTATION_COMMENTS = YES; 289 | CLANG_WARN_EMPTY_BODY = YES; 290 | CLANG_WARN_ENUM_CONVERSION = YES; 291 | CLANG_WARN_INFINITE_RECURSION = YES; 292 | CLANG_WARN_INT_CONVERSION = YES; 293 | CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; 294 | CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; 295 | CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; 296 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; 297 | CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; 298 | CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; 299 | CLANG_WARN_STRICT_PROTOTYPES = YES; 300 | CLANG_WARN_SUSPICIOUS_MOVE = YES; 301 | CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; 302 | CLANG_WARN_UNREACHABLE_CODE = YES; 303 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; 304 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; 305 | COPY_PHASE_STRIP = NO; 306 | DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; 307 | ENABLE_NS_ASSERTIONS = NO; 308 | ENABLE_STRICT_OBJC_MSGSEND = YES; 309 | ENABLE_USER_SCRIPT_SANDBOXING = YES; 310 | GCC_C_LANGUAGE_STANDARD = gnu17; 311 | GCC_NO_COMMON_BLOCKS = YES; 312 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES; 313 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; 314 | GCC_WARN_UNDECLARED_SELECTOR = YES; 315 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; 316 | GCC_WARN_UNUSED_FUNCTION = YES; 317 | GCC_WARN_UNUSED_VARIABLE = YES; 318 | LOCALIZATION_PREFERS_STRING_CATALOGS = YES; 319 | MTL_ENABLE_DEBUG_INFO = NO; 320 | MTL_FAST_MATH = YES; 321 | SWIFT_VERSION = 5.0; 322 | }; 323 | name = Release; 324 | }; 325 | B004C4F82B52DC490096B1C9 /* Debug */ = { 326 | isa = XCBuildConfiguration; 327 | buildSettings = { 328 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; 329 | CLANG_ENABLE_MODULES = YES; 330 | CLANG_STATIC_ANALYZER_MODE = deep; 331 | CODE_SIGN_IDENTITY = "iPhone Developer"; 332 | CODE_SIGN_STYLE = Automatic; 333 | CURRENT_PROJECT_VERSION = 1; 334 | DEVELOPMENT_TEAM = 2ZDN69KUUV; 335 | ENABLE_HARDENED_RUNTIME = YES; 336 | GCC_TREAT_WARNINGS_AS_ERRORS = deep; 337 | GCC_WARN_PEDANTIC = deep; 338 | GENERATE_INFOPLIST_FILE = YES; 339 | INFOPLIST_FILE = "$(PRODUCT_NAME)/Info.plist"; 340 | IPHONEOS_DEPLOYMENT_TARGET = 17.2; 341 | LD_RUNPATH_SEARCH_PATHS = ( 342 | "$(inherited)", 343 | "@executable_path/Frameworks", 344 | ); 345 | MARKETING_VERSION = 1.0; 346 | PRODUCT_BUNDLE_IDENTIFIER = com.highcaffeinecontent.Vision3DInUIKit; 347 | PRODUCT_NAME = Vision3DInUIKit; 348 | RUN_CLANG_STATIC_ANALYZER = YES; 349 | SDKROOT = auto; 350 | SUPPORTED_PLATFORMS = "xros xrsimulator"; 351 | SUPPORTS_MACCATALYST = NO; 352 | SUPPORTS_XR_DESIGNED_FOR_IPHONE_IPAD = NO; 353 | SWIFT_EMIT_LOC_STRINGS = YES; 354 | SWIFT_OBJC_BRIDGING_HEADER = "Vision3DInUIKit/Source/Vision3DInUIKit-Bridging-Header.h"; 355 | SWIFT_OPTIMIZATION_LEVEL = "-Onone"; 356 | SWIFT_TREAT_WARNINGS_AS_ERRORS = YES; 357 | SWIFT_VERSION = 5.0; 358 | TARGETED_DEVICE_FAMILY = "6,7"; 359 | }; 360 | name = Debug; 361 | }; 362 | B004C4F92B52DC490096B1C9 /* Release */ = { 363 | isa = XCBuildConfiguration; 364 | buildSettings = { 365 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; 366 | CLANG_ENABLE_MODULES = YES; 367 | CLANG_STATIC_ANALYZER_MODE = deep; 368 | CODE_SIGN_IDENTITY = "iPhone Developer"; 369 | CODE_SIGN_STYLE = Automatic; 370 | CURRENT_PROJECT_VERSION = 1; 371 | DEVELOPMENT_TEAM = 2ZDN69KUUV; 372 | ENABLE_HARDENED_RUNTIME = YES; 373 | GCC_TREAT_WARNINGS_AS_ERRORS = deep; 374 | GCC_WARN_PEDANTIC = deep; 375 | GENERATE_INFOPLIST_FILE = YES; 376 | INFOPLIST_FILE = "$(PRODUCT_NAME)/Info.plist"; 377 | IPHONEOS_DEPLOYMENT_TARGET = 17.2; 378 | LD_RUNPATH_SEARCH_PATHS = ( 379 | "$(inherited)", 380 | "@executable_path/Frameworks", 381 | ); 382 | MARKETING_VERSION = 1.0; 383 | PRODUCT_BUNDLE_IDENTIFIER = com.highcaffeinecontent.Vision3DInUIKit; 384 | PRODUCT_NAME = Vision3DInUIKit; 385 | RUN_CLANG_STATIC_ANALYZER = YES; 386 | SDKROOT = auto; 387 | SUPPORTED_PLATFORMS = "xros xrsimulator"; 388 | SUPPORTS_MACCATALYST = NO; 389 | SUPPORTS_XR_DESIGNED_FOR_IPHONE_IPAD = NO; 390 | SWIFT_EMIT_LOC_STRINGS = YES; 391 | SWIFT_OBJC_BRIDGING_HEADER = "Vision3DInUIKit/Source/Vision3DInUIKit-Bridging-Header.h"; 392 | SWIFT_TREAT_WARNINGS_AS_ERRORS = YES; 393 | SWIFT_VERSION = 5.0; 394 | TARGETED_DEVICE_FAMILY = "6,7"; 395 | VALIDATE_PRODUCT = YES; 396 | }; 397 | name = Release; 398 | }; 399 | /* End XCBuildConfiguration section */ 400 | 401 | /* Begin XCConfigurationList section */ 402 | B004C4D62B52DC490096B1C9 /* Build configuration list for PBXProject "Vision3DInUIKit" */ = { 403 | isa = XCConfigurationList; 404 | buildConfigurations = ( 405 | B004C4F52B52DC490096B1C9 /* Debug */, 406 | B004C4F62B52DC490096B1C9 /* Release */, 407 | ); 408 | defaultConfigurationIsVisible = 0; 409 | defaultConfigurationName = Release; 410 | }; 411 | B004C4F72B52DC490096B1C9 /* Build configuration list for PBXNativeTarget "Vision3DInUIKit" */ = { 412 | isa = XCConfigurationList; 413 | buildConfigurations = ( 414 | B004C4F82B52DC490096B1C9 /* Debug */, 415 | B004C4F92B52DC490096B1C9 /* Release */, 416 | ); 417 | defaultConfigurationIsVisible = 0; 418 | defaultConfigurationName = Release; 419 | }; 420 | /* End XCConfigurationList section */ 421 | }; 422 | rootObject = B004C4D32B52DC490096B1C9 /* Project object */; 423 | } 424 | --------------------------------------------------------------------------------