Switch iOS build from XcodeGen to Tuist for Apple targets
- Replace XcodeGen project.yml and generated Xcodeproj with Tuist Project.swift - Add Tuist.swift config and mise.toml for version pinning - Add .gitignore rules for Tuist/Xcode-generated files - Add native SwiftUI stubs for tvOS, watchOS, visionOS targets - Document Tuist workflow in README - Add .nvmrc for Node version pinning
Seto Elkahfi committed
Mar 7, 2026 at 11:24 UTC
d2d36b2c875f8b0ae2e8af9346e98a789218b084
23 files changed
+602
-694
examples/tauri-app/.nvmrc
new
+1
@@ -0,0 +1 @@
1
+v24.13.1
examples/tauri-app/src-tauri/.gitignore
+51
@@ -2,3 +2,54 @@
2
# will have compiled files and executables
3
/target/
4
5
+# ============================================================
6
+# gen/apple — Tauri scaffolds this directory on `cargo tauri ios init`.
7
+# A nested .gitignore at gen/apple/.gitignore handles the fine-grained
8
+# rules for that subtree. The entries below are a belt-and-suspenders
9
+# safety net at this level.
10
+# ============================================================
11
+
12
+# Rust static libraries produced by the Xcode build phase script
13
+gen/apple/Externals/
14
+
15
+# Xcode project & workspace — regenerated by `tuist generate`
16
+# (Project.swift is the source of truth, not these files)
17
+gen/apple/*.xcodeproj/
18
+gen/apple/*.xcworkspace/
19
+
20
+# Tuist derived sources / plists — regenerated by `tuist generate`
21
+gen/apple/Derived/
22
+
23
+# Xcode per-user settings
24
+gen/apple/xcuserdata/
25
+
26
+# Xcode build artefacts
27
+gen/apple/build/
28
+
29
+# XcodeGen manifest — regenerated by `cargo tauri ios init`.
30
+# We use Project.swift (Tuist) as the Xcode project source of truth.
31
+gen/apple/project.yml
32
+
33
+# ============================================================
34
+# The following gen/apple files ARE intentionally tracked because
35
+# they are either hand-authored or not regenerated by Tauri/Tuist:
36
+#
37
+# Project.swift — Tuist project manifest (our source of truth)
38
+# Tuist.swift — Tuist configuration
39
+# mise.toml — Tuist version pin
40
+# README.md — workflow documentation
41
+# tauri-app_iOS/Info.plist — iOS app Info.plist (Tauri reads this)
42
+# tauri-app_iOS/*.entitlements — iOS entitlements
43
+# tauri-app_tvOS/App.swift — native tvOS app entry point
44
+# tauri-app_tvOS/Info.plist — tvOS Info.plist
45
+# tauri-app_watchOS/App.swift — native watchOS app entry point
46
+# tauri-app_watchOS/Info.plist — watchOS Info.plist
47
+# tauri-app_watchOS/Assets.xcassets/ — watchOS-specific icon asset catalog
48
+# tauri-app_visionOS/App.swift — native visionOS app entry point
49
+# tauri-app_visionOS/Info.plist — visionOS Info.plist
50
+# Sources/ — Obj-C/C++ glue generated once by Tauri
51
+# Assets.xcassets/ — shared app icons & asset catalog (iOS/tvOS/visionOS)
52
+# LaunchScreen.storyboard — iOS launch screen
53
+# ExportOptions.plist — archive export options
54
+# Podfile — CocoaPods manifest
55
+# ============================================================
examples/tauri-app/src-tauri/gen/.keep
examples/tauri-app/src-tauri/gen/apple/.gitignore
+42
@@ -1,3 +1,45 @@
1
+# ============================================================
2
+# gen/apple/.gitignore
3
+#
4
+# Strategy:
5
+# - `cargo tauri ios init` regenerates project.yml (XcodeGen)
6
+# - `tuist generate` regenerates *.xcodeproj, *.xcworkspace, Derived/
7
+# - Everything else is hand-authored source of truth → tracked
8
+# ============================================================
9
+
10
+# ------------------------------------------------------------------
11
+# Tauri-regenerated: XcodeGen manifest
12
+# Re-created by `cargo tauri ios init` from tauri.conf.json.
13
+# We use Project.swift (Tuist) as the Xcode project source of truth,
14
+# so project.yml is a Tauri implementation detail we don't need.
15
+# ------------------------------------------------------------------
16
+project.yml
17
+
18
+# ------------------------------------------------------------------
19
+# Tuist-regenerated: Xcode project & workspace
20
+# Fully described by Project.swift → always regenerate, never edit.
21
+# ------------------------------------------------------------------
22
+*.xcodeproj/
23
+*.xcworkspace/
24
+
25
+# ------------------------------------------------------------------
26
+# Tuist-regenerated: derived sources & info plists
27
+# Auto-synthesised from Project.swift (asset accessors, bundle IDs…).
28
+# ------------------------------------------------------------------
29
+Derived/
30
+
31
+# ------------------------------------------------------------------
32
+# Xcode runtime noise
33
+# ------------------------------------------------------------------
34
xcuserdata/
35
+
36
+# ------------------------------------------------------------------
37
+# Rust / Cargo build output
38
+# (also covered by src-tauri/.gitignore, belt-and-suspenders here)
39
+# ------------------------------------------------------------------
40
build/
41
+
42
+# ------------------------------------------------------------------
43
+# Compiled Rust static libraries injected by xcode-script
44
+# ------------------------------------------------------------------
45
Externals/
examples/tauri-app/src-tauri/gen/apple/.keep
examples/tauri-app/src-tauri/gen/apple/Project.swift
new
+191
@@ -0,0 +1,191 @@
1
+import ProjectDescription
2
+
3
+let project = Project(
4
+ name: "tauri-app",
5
+ settings: .settings(
6
+ base: [
7
+ "DEVELOPMENT_TEAM": "NADBSNEZWH",
8
+ "PRODUCT_NAME": "tauri-app",
9
+ "PRODUCT_BUNDLE_IDENTIFIER": "com.tauri.dev",
10
+ ]
11
+ ),
12
+ targets: [
13
+ // MARK: - iOS target (mirrors Tauri-generated project.yml)
14
+ .target(
15
+ name: "tauri-app_iOS",
16
+ destinations: .iOS,
17
+ product: .app,
18
+ bundleId: "com.tauri.dev",
19
+ deploymentTargets: .iOS("14.0"),
20
+ infoPlist: .file(path: "tauri-app_iOS/Info.plist"),
21
+ sources: [
22
+ "Sources/**",
23
+ "tauri-app_iOS/**",
24
+ ],
25
+ resources: [
26
+ "Assets.xcassets",
27
+ "LaunchScreen.storyboard",
28
+ .folderReference(path: "assets"),
29
+ ],
30
+ entitlements: .file(path: "tauri-app_iOS/tauri-app_iOS.entitlements"),
31
+ scripts: [
32
+ .pre(
33
+ script: """
34
+ cargo tauri ios xcode-script -v \
35
+ --platform ${PLATFORM_DISPLAY_NAME:?} \
36
+ --sdk-root ${SDKROOT:?} \
37
+ --framework-search-paths "${FRAMEWORK_SEARCH_PATHS:?}" \
38
+ --header-search-paths "${HEADER_SEARCH_PATHS:?}" \
39
+ --gcc-preprocessor-definitions "${GCC_PREPROCESSOR_DEFINITIONS:-}" \
40
+ --configuration ${CONFIGURATION:?} \
41
+ ${FORCE_COLOR} ${ARCHS:?}
42
+ """,
43
+ name: "Build Rust Code",
44
+ outputPaths: [
45
+ "$(SRCROOT)/Externals/x86_64/${CONFIGURATION}/libapp.a",
46
+ "$(SRCROOT)/Externals/arm64/${CONFIGURATION}/libapp.a",
47
+ ],
48
+ basedOnDependencyAnalysis: false
49
+ )
50
+ ],
51
+ dependencies: [
52
+ .target(name: "tauri-app_watchOS"),
53
+ .sdk(name: "CoreGraphics", type: .framework),
54
+ .sdk(name: "Metal", type: .framework),
55
+ .sdk(name: "MetalKit", type: .framework),
56
+ .sdk(name: "QuartzCore", type: .framework),
57
+ .sdk(name: "Security", type: .framework),
58
+ .sdk(name: "UIKit", type: .framework),
59
+ .sdk(name: "WebKit", type: .framework),
60
+ ],
61
+ settings: .settings(
62
+ base: [
63
+ "ENABLE_BITCODE": "NO",
64
+ "ARCHS": "arm64",
65
+ "VALID_ARCHS": "arm64",
66
+ "ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES": "YES",
67
+ "LIBRARY_SEARCH_PATHS[arch=arm64]": [
68
+ "$(inherited)",
69
+ "$(PROJECT_DIR)/Externals/arm64/$(CONFIGURATION)",
70
+ "$(SDKROOT)/usr/lib/swift",
71
+ "$(TOOLCHAIN_DIR)/usr/lib/swift/$(PLATFORM_NAME)",
72
+ "$(TOOLCHAIN_DIR)/usr/lib/swift-5.0/$(PLATFORM_NAME)",
73
+ ],
74
+ "LIBRARY_SEARCH_PATHS[arch=x86_64]": [
75
+ "$(inherited)",
76
+ "$(PROJECT_DIR)/Externals/x86_64/$(CONFIGURATION)",
77
+ "$(SDKROOT)/usr/lib/swift",
78
+ "$(TOOLCHAIN_DIR)/usr/lib/swift/$(PLATFORM_NAME)",
79
+ "$(TOOLCHAIN_DIR)/usr/lib/swift-5.0/$(PLATFORM_NAME)",
80
+ ],
81
+ "EXCLUDED_ARCHS[sdk=iphoneos*]": "x86_64",
82
+ "OTHER_LDFLAGS": [
83
+ "$(inherited)",
84
+ "-lapp",
85
+ ],
86
+ ]
87
+ )
88
+ ),
89
+
90
+ // MARK: - tvOS placeholder target (no WebView on tvOS — native UI only)
91
+ .target(
92
+ name: "tauri-app_tvOS",
93
+ destinations: [.appleTv],
94
+ product: .app,
95
+ bundleId: "com.tauri.dev.tvos",
96
+ deploymentTargets: .tvOS("14.0"),
97
+ infoPlist: .file(path: "tauri-app_tvOS/Info.plist"),
98
+ sources: [
99
+ "tauri-app_tvOS/**"
100
+ ],
101
+ resources: [
102
+ "Assets.xcassets"
103
+ ],
104
+ dependencies: [
105
+ .sdk(name: "UIKit", type: .framework)
106
+ ],
107
+ settings: .settings(
108
+ base: [
109
+ "ENABLE_BITCODE": "NO",
110
+ "ARCHS": "arm64",
111
+ ]
112
+ )
113
+ ),
114
+
115
+ // MARK: - watchOS app (embedded in iOS host, standalone SwiftUI — no WebView)
116
+ .target(
117
+ name: "tauri-app_watchOS",
118
+ destinations: [.appleWatch],
119
+ product: .app,
120
+ bundleId: "com.tauri.dev.watchos",
121
+ deploymentTargets: .watchOS("7.0"),
122
+ infoPlist: .file(path: "tauri-app_watchOS/Info.plist"),
123
+ sources: [
124
+ "tauri-app_watchOS/**"
125
+ ],
126
+ resources: [
127
+ "tauri-app_watchOS/Assets.xcassets"
128
+ ],
129
+ dependencies: [],
130
+ settings: .settings(
131
+ base: [
132
+ "ENABLE_BITCODE": "NO",
133
+ "SKIP_INSTALL": "NO",
134
+ "SUPPORTS_MACCATALYST": "NO",
135
+ "ASSETCATALOG_COMPILER_APPICON_NAME": "AppIcon",
136
+ "SUPPORTED_PLATFORMS": "watchos watchsimulator",
137
+ "WATCHOS_DEPLOYMENT_TARGET": "7.0",
138
+ ]
139
+ )
140
+ ),
141
+
142
+ // MARK: - visionOS app (standalone, SwiftUI only — no WebView on visionOS)
143
+ .target(
144
+ name: "tauri-app_visionOS",
145
+ destinations: [.appleVision],
146
+ product: .app,
147
+ bundleId: "com.tauri.dev.visionos",
148
+ deploymentTargets: .visionOS("1.0"),
149
+ infoPlist: .file(path: "tauri-app_visionOS/Info.plist"),
150
+ sources: [
151
+ "tauri-app_visionOS/**"
152
+ ],
153
+ resources: [
154
+ "Assets.xcassets"
155
+ ],
156
+ dependencies: [],
157
+ settings: .settings(
158
+ base: [
159
+ "ENABLE_BITCODE": "NO",
160
+ "ARCHS": "arm64",
161
+ ]
162
+ )
163
+ ),
164
+ ],
165
+ schemes: [
166
+ .scheme(
167
+ name: "tauri-app_iOS",
168
+ buildAction: .buildAction(targets: ["tauri-app_iOS"]),
169
+ runAction: .runAction(configuration: .debug),
170
+ archiveAction: .archiveAction(configuration: .release),
171
+ profileAction: .profileAction(configuration: .release),
172
+ analyzeAction: .analyzeAction(configuration: .debug)
173
+ ),
174
+ .scheme(
175
+ name: "tauri-app_tvOS",
176
+ buildAction: .buildAction(targets: ["tauri-app_tvOS"]),
177
+ runAction: .runAction(configuration: .debug),
178
+ archiveAction: .archiveAction(configuration: .release),
179
+ profileAction: .profileAction(configuration: .release),
180
+ analyzeAction: .analyzeAction(configuration: .debug)
181
+ ),
182
+ .scheme(
183
+ name: "tauri-app_visionOS",
184
+ buildAction: .buildAction(targets: ["tauri-app_visionOS"]),
185
+ runAction: .runAction(configuration: .debug),
186
+ archiveAction: .archiveAction(configuration: .release),
187
+ profileAction: .profileAction(configuration: .release),
188
+ analyzeAction: .analyzeAction(configuration: .debug)
189
+ ),
190
+ ]
191
+)
examples/tauri-app/src-tauri/gen/apple/README.md
new
+92
@@ -0,0 +1,92 @@
1
+# Tauri + Tuist — iOS / tvOS / watchOS / visionOS project
2
+
3
+`Project.swift` is the single source of truth for the Xcode project.
4
+There is no Makefile. Use Tuist directly.
5
+
6
+## Prerequisites
7
+
8
+Install [mise](https://mise.jdx.dev/) then activate the pinned Tuist version:
9
+
10
+```sh
11
+mise install # reads mise.toml → installs tuist 4.150.0
12
+eval "$(mise activate bash)" # or zsh/fish
13
+```
14
+
15
+## Day-to-day commands
16
+
17
+| What | Command |
18
+|---|---|
19
+| Generate the Xcode project (headless) | `tuist generate --no-open` |
20
+| Generate **and** open Xcode | `tuist generate` |
21
+| Clean generated artifacts | `tuist clean` |
22
+| Edit Project.swift in Xcode | `tuist edit` |
23
+
24
+## Building
25
+
26
+After `tuist generate`, build through Xcode or the command line:
27
+
28
+```sh
29
+# iOS (simulator)
30
+xcodebuild \
31
+ -workspace tauri-app.xcworkspace \
32
+ -scheme tauri-app_iOS \
33
+ -destination "generic/platform=iOS Simulator" \
34
+ -configuration Debug \
35
+ build
36
+
37
+# tvOS (simulator)
38
+xcodebuild \
39
+ -workspace tauri-app.xcworkspace \
40
+ -scheme tauri-app_tvOS \
41
+ -destination "generic/platform=tvOS Simulator" \
42
+ -configuration Debug \
43
+ build
44
+
45
+# watchOS (simulator)
46
+xcodebuild \
47
+ -workspace tauri-app.xcworkspace \
48
+ -scheme tauri-app_watchOS \
49
+ -destination "generic/platform=watchOS Simulator" \
50
+ -configuration Debug \
51
+ build
52
+
53
+# visionOS (simulator)
54
+xcodebuild \
55
+ -workspace tauri-app.xcworkspace \
56
+ -scheme tauri-app_visionOS \
57
+ -destination "generic/platform=visionOS Simulator" \
58
+ -configuration Debug \
59
+ build
60
+```
61
+
62
+## After `cargo tauri ios init`
63
+
64
+Tauri regenerates `project.yml` (XcodeGen format) but does **not** touch
65
+`Project.swift`. Since Tuist is the source of truth, just re-run:
66
+
67
+```sh
68
+tuist generate --no-open
69
+```
70
+
71
+If Tauri added new source files or frameworks in `project.yml`, port those
72
+changes to `Project.swift` first, then generate.
73
+
74
+## Full reset
75
+
76
+```sh
77
+cd ../../ # back to src-tauri
78
+cargo tauri ios init # re-scaffold project.yml
79
+cd gen/apple
80
+tuist generate --no-open
81
+```
82
+
83
+## What gets generated (git-ignored)
84
+
85
+| Path | Created by |
86
+|---|---|
87
+| `project.yml` | `cargo tauri ios init` |
88
+| `*.xcodeproj/` | `tuist generate` |
89
+| `*.xcworkspace/` | `tuist generate` |
90
+| `Derived/` | `tuist generate` |
91
+| `Externals/` | Rust build (`cargo tauri ios xcode-script`) |
92
+| `build/` | Xcode |
\ No newline at end of file
examples/tauri-app/src-tauri/gen/apple/Tuist.swift
new
+9
@@ -0,0 +1,9 @@
1
+import ProjectDescription
2
+
3
+let config = Config(
4
+ compatibleXcodeVersions: .all,
5
+ generationOptions: .options(
6
+ resolveDependenciesWithSystemScm: false,
7
+ disablePackageVersionLocking: true
8
+ )
9
+)
examples/tauri-app/src-tauri/gen/apple/mise.toml
new
+2
@@ -0,0 +1,2 @@
1
+[tools]
2
+tuist = "4.150.0"
examples/tauri-app/src-tauri/gen/apple/project.yml
deleted
-89
@@ -1,89 +0,0 @@
1
-name: tauri-app
2
-options:
3
- bundleIdPrefix: com.tauri.dev
4
- deploymentTarget:
5
- iOS: 14.0
6
-fileGroups: [../../src]
7
-configs:
8
- debug: debug
9
- release: release
10
-settingGroups:
11
- app:
12
- base:
13
- PRODUCT_NAME: tauri-app
14
- PRODUCT_BUNDLE_IDENTIFIER: com.tauri.dev
15
- DEVELOPMENT_TEAM: NADBSNEZWH
16
-targetTemplates:
17
- app:
18
- type: application
19
- sources:
20
- - path: Sources
21
- scheme:
22
- environmentVariables:
23
- RUST_BACKTRACE: full
24
- RUST_LOG: info
25
- settings:
26
- groups: [app]
27
-targets:
28
- tauri-app_iOS:
29
- type: application
30
- platform: iOS
31
- sources:
32
- - path: Sources
33
- - path: Assets.xcassets
34
- - path: Externals
35
- - path: tauri-app_iOS
36
- - path: assets
37
- buildPhase: resources
38
- type: folder
39
- - path: LaunchScreen.storyboard
40
- info:
41
- path: tauri-app_iOS/Info.plist
42
- properties:
43
- LSRequiresIPhoneOS: true
44
- UILaunchStoryboardName: LaunchScreen
45
- UIRequiredDeviceCapabilities: [arm64, metal]
46
- UISupportedInterfaceOrientations:
47
- - UIInterfaceOrientationPortrait
48
- - UIInterfaceOrientationLandscapeLeft
49
- - UIInterfaceOrientationLandscapeRight
50
- UISupportedInterfaceOrientations~ipad:
51
- - UIInterfaceOrientationPortrait
52
- - UIInterfaceOrientationPortraitUpsideDown
53
- - UIInterfaceOrientationLandscapeLeft
54
- - UIInterfaceOrientationLandscapeRight
55
- CFBundleShortVersionString: 0.1.0
56
- CFBundleVersion: "0.1.0"
57
- entitlements:
58
- path: tauri-app_iOS/tauri-app_iOS.entitlements
59
- scheme:
60
- environmentVariables:
61
- RUST_BACKTRACE: full
62
- RUST_LOG: info
63
- settings:
64
- base:
65
- ENABLE_BITCODE: false
66
- ARCHS: [arm64]
67
- VALID_ARCHS: arm64
68
- LIBRARY_SEARCH_PATHS[arch=x86_64]: $(inherited) $(PROJECT_DIR)/Externals/x86_64/$(CONFIGURATION) $(SDKROOT)/usr/lib/swift $(TOOLCHAIN_DIR)/usr/lib/swift/$(PLATFORM_NAME) $(TOOLCHAIN_DIR)/usr/lib/swift-5.0/$(PLATFORM_NAME)
69
- LIBRARY_SEARCH_PATHS[arch=arm64]: $(inherited) $(PROJECT_DIR)/Externals/arm64/$(CONFIGURATION) $(SDKROOT)/usr/lib/swift $(TOOLCHAIN_DIR)/usr/lib/swift/$(PLATFORM_NAME) $(TOOLCHAIN_DIR)/usr/lib/swift-5.0/$(PLATFORM_NAME)
70
- ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES: true
71
- EXCLUDED_ARCHS[sdk=iphoneos*]: x86_64
72
- groups: [app]
73
- dependencies:
74
- - framework: libapp.a
75
- embed: false
76
- - sdk: CoreGraphics.framework
77
- - sdk: Metal.framework
78
- - sdk: MetalKit.framework
79
- - sdk: QuartzCore.framework
80
- - sdk: Security.framework
81
- - sdk: UIKit.framework
82
- - sdk: WebKit.framework
83
- preBuildScripts:
84
- - script: cargo tauri ios xcode-script -v --platform ${PLATFORM_DISPLAY_NAME:?} --sdk-root ${SDKROOT:?} --framework-search-paths "${FRAMEWORK_SEARCH_PATHS:?}" --header-search-paths "${HEADER_SEARCH_PATHS:?}" --gcc-preprocessor-definitions "${GCC_PREPROCESSOR_DEFINITIONS:-}" --configuration ${CONFIGURATION:?} ${FORCE_COLOR} ${ARCHS:?}
85
- name: Build Rust Code
86
- basedOnDependencyAnalysis: false
87
- outputFiles:
88
- - $(SRCROOT)/Externals/x86_64/${CONFIGURATION}/libapp.a
89
- - $(SRCROOT)/Externals/arm64/${CONFIGURATION}/libapp.a
\ No newline at end of file
examples/tauri-app/src-tauri/gen/apple/tauri-app.xcodeproj/project.pbxproj
deleted
-465
@@ -1,465 +0,0 @@
1
-// !$*UTF8*$!
2
-{
3
- archiveVersion = 1;
4
- classes = {
5
- };
6
- objectVersion = 77;
7
- objects = {
8
-
9
-/* Begin PBXBuildFile section */
10
- 094A1ECD90ECD007825D95B3 /* Security.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 84E625C1ABDB2D39CB77BF29 /* Security.framework */; };
11
- 1524BBF419A24C289873FCE0 /* Metal.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CA1A066F7EDD869BC014BB9C /* Metal.framework */; };
12
- 5DCFDCE0989E0655641185BE /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = BA38F7BF7C28E04DBA849965 /* LaunchScreen.storyboard */; };
13
- 5DDC8F8949AE56AB4B683F62 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5384EE0C649F19A31B462538 /* QuartzCore.framework */; };
14
- 6495EEEF2DFC12CB82351B2B /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C42C09CE350D0304EDF85C59 /* UIKit.framework */; };
15
- 7425A66C523CC66EFF87A16E /* libapp.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 46600E42EDBD4E2F9CFFB94E /* libapp.a */; };
16
- 74C25A7912AFE30DBE96B590 /* assets in Resources */ = {isa = PBXBuildFile; fileRef = 234C7D371C7B526F7E893B15 /* assets */; };
17
- 7A50F9841502955D69915755 /* MetalKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B8DBF813DB5FCB214283D94D /* MetalKit.framework */; };
18
- 7E5D9DF6134425B5314935DE /* main.mm in Sources */ = {isa = PBXBuildFile; fileRef = 75C0A66A4769E0B428DFFE16 /* main.mm */; };
19
- 824033B5A7F94F13A4C63E6E /* WebKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CF0F15D9837DA9743995496A /* WebKit.framework */; };
20
- 8A272DD02B0D36ACBCE73E26 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = CFDCAF660F4CA93110C8FB02 /* Assets.xcassets */; };
21
- CA00951E60FA3594F396EEEC /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AC56A11F310BBFF30CCFEB63 /* CoreGraphics.framework */; };
22
-/* End PBXBuildFile section */
23
-
24
-/* Begin PBXFileReference section */
25
- 234C7D371C7B526F7E893B15 /* assets */ = {isa = PBXFileReference; lastKnownFileType = folder; path = assets; sourceTree = SOURCE_ROOT; };
26
- 415CE9B61EE711FB11882F1B /* bindings.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = bindings.h; sourceTree = "<group>"; };
27
- 46600E42EDBD4E2F9CFFB94E /* libapp.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libapp.a; sourceTree = "<group>"; };
28
- 5384EE0C649F19A31B462538 /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; };
29
- 6B62CCFCDED0CBE851A51E4F /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; path = Info.plist; sourceTree = "<group>"; };
30
- 75C0A66A4769E0B428DFFE16 /* main.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; path = main.mm; sourceTree = "<group>"; };
31
- 7A62F8DA3ACF6DA66CB9785D /* tauri-app_iOS.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = "tauri-app_iOS.entitlements"; sourceTree = "<group>"; };
32
- 84E625C1ABDB2D39CB77BF29 /* Security.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Security.framework; path = System/Library/Frameworks/Security.framework; sourceTree = SDKROOT; };
33
- 9B11C2C873FB5A7B97B0605A /* tauri-app_iOS.app */ = {isa = PBXFileReference; includeInIndex = 0; lastKnownFileType = wrapper.application; path = "tauri-app_iOS.app"; sourceTree = BUILT_PRODUCTS_DIR; };
34
- AC56A11F310BBFF30CCFEB63 /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; };
35
- B8DBF813DB5FCB214283D94D /* MetalKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MetalKit.framework; path = System/Library/Frameworks/MetalKit.framework; sourceTree = SDKROOT; };
36
- BA38F7BF7C28E04DBA849965 /* LaunchScreen.storyboard */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; path = LaunchScreen.storyboard; sourceTree = "<group>"; };
37
- C42C09CE350D0304EDF85C59 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; };
38
- CA1A066F7EDD869BC014BB9C /* Metal.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Metal.framework; path = System/Library/Frameworks/Metal.framework; sourceTree = SDKROOT; };
39
- CF0F15D9837DA9743995496A /* WebKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = WebKit.framework; path = System/Library/Frameworks/WebKit.framework; sourceTree = SDKROOT; };
40
- CFDCAF660F4CA93110C8FB02 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
41
- D96C5A0C6EF1CFC067A1C008 /* main.rs */ = {isa = PBXFileReference; path = main.rs; sourceTree = "<group>"; };
42
- E486419C84C58B66E0FC1383 /* lib.rs */ = {isa = PBXFileReference; path = lib.rs; sourceTree = "<group>"; };
43
-/* End PBXFileReference section */
44
-
45
-/* Begin PBXFrameworksBuildPhase section */
46
- 6EEA0490763EB982F7701E3D /* Frameworks */ = {
47
- isa = PBXFrameworksBuildPhase;
48
- buildActionMask = 2147483647;
49
- files = (
50
- 7425A66C523CC66EFF87A16E /* libapp.a in Frameworks */,
51
- CA00951E60FA3594F396EEEC /* CoreGraphics.framework in Frameworks */,
52
- 1524BBF419A24C289873FCE0 /* Metal.framework in Frameworks */,
53
- 7A50F9841502955D69915755 /* MetalKit.framework in Frameworks */,
54
- 5DDC8F8949AE56AB4B683F62 /* QuartzCore.framework in Frameworks */,
55
- 094A1ECD90ECD007825D95B3 /* Security.framework in Frameworks */,
56
- 6495EEEF2DFC12CB82351B2B /* UIKit.framework in Frameworks */,
57
- 824033B5A7F94F13A4C63E6E /* WebKit.framework in Frameworks */,
58
- );
59
- runOnlyForDeploymentPostprocessing = 0;
60
- };
61
-/* End PBXFrameworksBuildPhase section */
62
-
63
-/* Begin PBXGroup section */
64
- 2ECFA35AFF2D5945783C3B8D /* Externals */ = {
65
- isa = PBXGroup;
66
- children = (
67
- );
68
- path = Externals;
69
- sourceTree = "<group>";
70
- };
71
- 4261FD71066ABB203F1B3741 /* Products */ = {
72
- isa = PBXGroup;
73
- children = (
74
- 9B11C2C873FB5A7B97B0605A /* tauri-app_iOS.app */,
75
- );
76
- name = Products;
77
- sourceTree = "<group>";
78
- };
79
- 48DF3F622809E7EBA4ED342A /* src */ = {
80
- isa = PBXGroup;
81
- children = (
82
- E486419C84C58B66E0FC1383 /* lib.rs */,
83
- D96C5A0C6EF1CFC067A1C008 /* main.rs */,
84
- );
85
- name = src;
86
- path = ../../src;
87
- sourceTree = "<group>";
88
- };
89
- 5FCA5E244F4BE4C93672F978 /* bindings */ = {
90
- isa = PBXGroup;
91
- children = (
92
- 415CE9B61EE711FB11882F1B /* bindings.h */,
93
- );
94
- path = bindings;
95
- sourceTree = "<group>";
96
- };
97
- 86E4D2974D6FC803E43026BD /* Frameworks */ = {
98
- isa = PBXGroup;
99
- children = (
100
- AC56A11F310BBFF30CCFEB63 /* CoreGraphics.framework */,
101
- 46600E42EDBD4E2F9CFFB94E /* libapp.a */,
102
- CA1A066F7EDD869BC014BB9C /* Metal.framework */,
103
- B8DBF813DB5FCB214283D94D /* MetalKit.framework */,
104
- 5384EE0C649F19A31B462538 /* QuartzCore.framework */,
105
- 84E625C1ABDB2D39CB77BF29 /* Security.framework */,
106
- C42C09CE350D0304EDF85C59 /* UIKit.framework */,
107
- CF0F15D9837DA9743995496A /* WebKit.framework */,
108
- );
109
- name = Frameworks;
110
- sourceTree = "<group>";
111
- };
112
- 90B7B06659AD5A7A7EE39662 /* Sources */ = {
113
- isa = PBXGroup;
114
- children = (
115
- 9A6A58EE8A3E239B0E7BDD81 /* tauri-app */,
116
- );
117
- path = Sources;
118
- sourceTree = "<group>";
119
- };
120
- 9A6A58EE8A3E239B0E7BDD81 /* tauri-app */ = {
121
- isa = PBXGroup;
122
- children = (
123
- 75C0A66A4769E0B428DFFE16 /* main.mm */,
124
- 5FCA5E244F4BE4C93672F978 /* bindings */,
125
- );
126
- path = "tauri-app";
127
- sourceTree = "<group>";
128
- };
129
- A17B869C1C261C5F8DF765C9 /* tauri-app_iOS */ = {
130
- isa = PBXGroup;
131
- children = (
132
- 6B62CCFCDED0CBE851A51E4F /* Info.plist */,
133
- 7A62F8DA3ACF6DA66CB9785D /* tauri-app_iOS.entitlements */,
134
- );
135
- path = "tauri-app_iOS";
136
- sourceTree = "<group>";
137
- };
138
- E8C7C60131D2B902F3255A8F = {
139
- isa = PBXGroup;
140
- children = (
141
- 234C7D371C7B526F7E893B15 /* assets */,
142
- CFDCAF660F4CA93110C8FB02 /* Assets.xcassets */,
143
- BA38F7BF7C28E04DBA849965 /* LaunchScreen.storyboard */,
144
- 2ECFA35AFF2D5945783C3B8D /* Externals */,
145
- 90B7B06659AD5A7A7EE39662 /* Sources */,
146
- 48DF3F622809E7EBA4ED342A /* src */,
147
- A17B869C1C261C5F8DF765C9 /* tauri-app_iOS */,
148
- 86E4D2974D6FC803E43026BD /* Frameworks */,
149
- 4261FD71066ABB203F1B3741 /* Products */,
150
- );
151
- sourceTree = "<group>";
152
- };
153
-/* End PBXGroup section */
154
-
155
-/* Begin PBXNativeTarget section */
156
- 067C19C8047A2326EE93616E /* tauri-app_iOS */ = {
157
- isa = PBXNativeTarget;
158
- buildConfigurationList = 492FB4942D220065AF299C12 /* Build configuration list for PBXNativeTarget "tauri-app_iOS" */;
159
- buildPhases = (
160
- 4CFF21EFA1FFE4D2AB9D6998 /* Build Rust Code */,
161
- D8D571D7BDCA1ABF2E0CB9D6 /* Sources */,
162
- A4D85C1726744E26D8F01FD3 /* Resources */,
163
- 6EEA0490763EB982F7701E3D /* Frameworks */,
164
- );
165
- buildRules = (
166
- );
167
- dependencies = (
168
- );
169
- name = "tauri-app_iOS";
170
- packageProductDependencies = (
171
- );
172
- productName = "tauri-app_iOS";
173
- productReference = 9B11C2C873FB5A7B97B0605A /* tauri-app_iOS.app */;
174
- productType = "com.apple.product-type.application";
175
- };
176
-/* End PBXNativeTarget section */
177
-
178
-/* Begin PBXProject section */
179
- 90D4CFD39CFBBAA5E9883AD5 /* Project object */ = {
180
- isa = PBXProject;
181
- attributes = {
182
- BuildIndependentTargetsInParallel = YES;
183
- LastUpgradeCheck = 1430;
184
- TargetAttributes = {
185
- 067C19C8047A2326EE93616E = {
186
- DevelopmentTeam = NADBSNEZWH;
187
- };
188
- };
189
- };
190
- buildConfigurationList = 15AD1887792B155C6905ADD6 /* Build configuration list for PBXProject "tauri-app" */;
191
- compatibilityVersion = "Xcode 14.0";
192
- developmentRegion = en;
193
- hasScannedForEncodings = 0;
194
- knownRegions = (
195
- Base,
196
- en,
197
- );
198
- mainGroup = E8C7C60131D2B902F3255A8F;
199
- minimizedProjectReferenceProxies = 1;
200
- preferredProjectObjectVersion = 77;
201
- projectDirPath = "";
202
- projectRoot = "";
203
- targets = (
204
- 067C19C8047A2326EE93616E /* tauri-app_iOS */,
205
- );
206
- };
207
-/* End PBXProject section */
208
-
209
-/* Begin PBXResourcesBuildPhase section */
210
- A4D85C1726744E26D8F01FD3 /* Resources */ = {
211
- isa = PBXResourcesBuildPhase;
212
- buildActionMask = 2147483647;
213
- files = (
214
- 8A272DD02B0D36ACBCE73E26 /* Assets.xcassets in Resources */,
215
- 5DCFDCE0989E0655641185BE /* LaunchScreen.storyboard in Resources */,
216
- 74C25A7912AFE30DBE96B590 /* assets in Resources */,
217
- );
218
- runOnlyForDeploymentPostprocessing = 0;
219
- };
220
-/* End PBXResourcesBuildPhase section */
221
-
222
-/* Begin PBXShellScriptBuildPhase section */
223
- 4CFF21EFA1FFE4D2AB9D6998 /* Build Rust Code */ = {
224
- isa = PBXShellScriptBuildPhase;
225
- alwaysOutOfDate = 1;
226
- buildActionMask = 2147483647;
227
- files = (
228
- );
229
- inputFileListPaths = (
230
- );
231
- inputPaths = (
232
- );
233
- name = "Build Rust Code";
234
- outputFileListPaths = (
235
- );
236
- outputPaths = (
237
- "$(SRCROOT)/Externals/x86_64/${CONFIGURATION}/libapp.a",
238
- "$(SRCROOT)/Externals/arm64/${CONFIGURATION}/libapp.a",
239
- );
240
- runOnlyForDeploymentPostprocessing = 0;
241
- shellPath = /bin/sh;
242
- shellScript = "cargo tauri ios xcode-script -v --platform ${PLATFORM_DISPLAY_NAME:?} --sdk-root ${SDKROOT:?} --framework-search-paths \"${FRAMEWORK_SEARCH_PATHS:?}\" --header-search-paths \"${HEADER_SEARCH_PATHS:?}\" --gcc-preprocessor-definitions \"${GCC_PREPROCESSOR_DEFINITIONS:-}\" --configuration ${CONFIGURATION:?} ${FORCE_COLOR} ${ARCHS:?}";
243
- };
244
-/* End PBXShellScriptBuildPhase section */
245
-
246
-/* Begin PBXSourcesBuildPhase section */
247
- D8D571D7BDCA1ABF2E0CB9D6 /* Sources */ = {
248
- isa = PBXSourcesBuildPhase;
249
- buildActionMask = 2147483647;
250
- files = (
251
- 7E5D9DF6134425B5314935DE /* main.mm in Sources */,
252
- );
253
- runOnlyForDeploymentPostprocessing = 0;
254
- };
255
-/* End PBXSourcesBuildPhase section */
256
-
257
-/* Begin XCBuildConfiguration section */
258
- 421E0640619ED5B0C0B13B4E /* debug */ = {
259
- isa = XCBuildConfiguration;
260
- buildSettings = {
261
- ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
262
- ARCHS = (
263
- arm64,
264
- );
265
- ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
266
- CODE_SIGN_ENTITLEMENTS = "tauri-app_iOS/tauri-app_iOS.entitlements";
267
- CODE_SIGN_IDENTITY = "iPhone Developer";
268
- DEVELOPMENT_TEAM = "NADBSNEZWH";
269
- ENABLE_BITCODE = NO;
270
- "EXCLUDED_ARCHS[sdk=iphoneos*]" = x86_64;
271
- FRAMEWORK_SEARCH_PATHS = (
272
- "$(inherited)",
273
- "\".\"",
274
- );
275
- INFOPLIST_FILE = "tauri-app_iOS/Info.plist";
276
- LD_RUNPATH_SEARCH_PATHS = (
277
- "$(inherited)",
278
- "@executable_path/Frameworks",
279
- );
280
- "LIBRARY_SEARCH_PATHS[arch=arm64]" = "$(inherited) $(PROJECT_DIR)/Externals/arm64/$(CONFIGURATION) $(SDKROOT)/usr/lib/swift $(TOOLCHAIN_DIR)/usr/lib/swift/$(PLATFORM_NAME) $(TOOLCHAIN_DIR)/usr/lib/swift-5.0/$(PLATFORM_NAME)";
281
- "LIBRARY_SEARCH_PATHS[arch=x86_64]" = "$(inherited) $(PROJECT_DIR)/Externals/x86_64/$(CONFIGURATION) $(SDKROOT)/usr/lib/swift $(TOOLCHAIN_DIR)/usr/lib/swift/$(PLATFORM_NAME) $(TOOLCHAIN_DIR)/usr/lib/swift-5.0/$(PLATFORM_NAME)";
282
- PRODUCT_BUNDLE_IDENTIFIER = com.tauri.dev;
283
- PRODUCT_NAME = "tauri-app";
284
- SDKROOT = iphoneos;
285
- TARGETED_DEVICE_FAMILY = "1,2";
286
- VALID_ARCHS = arm64;
287
- };
288
- name = debug;
289
- };
290
- 62330632B84ED41E941EFCF6 /* release */ = {
291
- isa = XCBuildConfiguration;
292
- buildSettings = {
293
- ALWAYS_SEARCH_USER_PATHS = NO;
294
- CLANG_ANALYZER_NONNULL = YES;
295
- CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
296
- CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
297
- CLANG_CXX_LIBRARY = "libc++";
298
- CLANG_ENABLE_MODULES = YES;
299
- CLANG_ENABLE_OBJC_ARC = YES;
300
- CLANG_ENABLE_OBJC_WEAK = YES;
301
- CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
302
- CLANG_WARN_BOOL_CONVERSION = YES;
303
- CLANG_WARN_COMMA = YES;
304
- CLANG_WARN_CONSTANT_CONVERSION = YES;
305
- CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
306
- CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
307
- CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
308
- CLANG_WARN_EMPTY_BODY = YES;
309
- CLANG_WARN_ENUM_CONVERSION = YES;
310
- CLANG_WARN_INFINITE_RECURSION = YES;
311
- CLANG_WARN_INT_CONVERSION = YES;
312
- CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
313
- CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
314
- CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
315
- CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
316
- CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
317
- CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
318
- CLANG_WARN_STRICT_PROTOTYPES = YES;
319
- CLANG_WARN_SUSPICIOUS_MOVE = YES;
320
- CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
321
- CLANG_WARN_UNREACHABLE_CODE = YES;
322
- CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
323
- COPY_PHASE_STRIP = NO;
324
- DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
325
- ENABLE_NS_ASSERTIONS = NO;
326
- ENABLE_STRICT_OBJC_MSGSEND = YES;
327
- GCC_C_LANGUAGE_STANDARD = gnu11;
328
- GCC_NO_COMMON_BLOCKS = YES;
329
- GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
330
- GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
331
- GCC_WARN_UNDECLARED_SELECTOR = YES;
332
- GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
333
- GCC_WARN_UNUSED_FUNCTION = YES;
334
- GCC_WARN_UNUSED_VARIABLE = YES;
335
- IPHONEOS_DEPLOYMENT_TARGET = 14.0;
336
- MTL_ENABLE_DEBUG_INFO = NO;
337
- MTL_FAST_MATH = YES;
338
- PRODUCT_NAME = "$(TARGET_NAME)";
339
- SDKROOT = iphoneos;
340
- SWIFT_COMPILATION_MODE = wholemodule;
341
- SWIFT_OPTIMIZATION_LEVEL = "-O";
342
- SWIFT_VERSION = 5.0;
343
- };
344
- name = release;
345
- };
346
- 62D98D8CE88586901FBBF6C0 /* debug */ = {
347
- isa = XCBuildConfiguration;
348
- buildSettings = {
349
- ALWAYS_SEARCH_USER_PATHS = NO;
350
- CLANG_ANALYZER_NONNULL = YES;
351
- CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
352
- CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
353
- CLANG_CXX_LIBRARY = "libc++";
354
- CLANG_ENABLE_MODULES = YES;
355
- CLANG_ENABLE_OBJC_ARC = YES;
356
- CLANG_ENABLE_OBJC_WEAK = YES;
357
- CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
358
- CLANG_WARN_BOOL_CONVERSION = YES;
359
- CLANG_WARN_COMMA = YES;
360
- CLANG_WARN_CONSTANT_CONVERSION = YES;
361
- CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
362
- CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
363
- CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
364
- CLANG_WARN_EMPTY_BODY = YES;
365
- CLANG_WARN_ENUM_CONVERSION = YES;
366
- CLANG_WARN_INFINITE_RECURSION = YES;
367
- CLANG_WARN_INT_CONVERSION = YES;
368
- CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
369
- CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
370
- CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
371
- CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
372
- CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
373
- CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
374
- CLANG_WARN_STRICT_PROTOTYPES = YES;
375
- CLANG_WARN_SUSPICIOUS_MOVE = YES;
376
- CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
377
- CLANG_WARN_UNREACHABLE_CODE = YES;
378
- CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
379
- COPY_PHASE_STRIP = NO;
380
- DEBUG_INFORMATION_FORMAT = dwarf;
381
- ENABLE_STRICT_OBJC_MSGSEND = YES;
382
- ENABLE_TESTABILITY = YES;
383
- GCC_C_LANGUAGE_STANDARD = gnu11;
384
- GCC_DYNAMIC_NO_PIC = NO;
385
- GCC_NO_COMMON_BLOCKS = YES;
386
- GCC_OPTIMIZATION_LEVEL = 0;
387
- GCC_PREPROCESSOR_DEFINITIONS = (
388
- "$(inherited)",
389
- "DEBUG=1",
390
- );
391
- GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
392
- GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
393
- GCC_WARN_UNDECLARED_SELECTOR = YES;
394
- GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
395
- GCC_WARN_UNUSED_FUNCTION = YES;
396
- GCC_WARN_UNUSED_VARIABLE = YES;
397
- IPHONEOS_DEPLOYMENT_TARGET = 14.0;
398
- MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
399
- MTL_FAST_MATH = YES;
400
- ONLY_ACTIVE_ARCH = YES;
401
- PRODUCT_NAME = "$(TARGET_NAME)";
402
- SDKROOT = iphoneos;
403
- SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;
404
- SWIFT_OPTIMIZATION_LEVEL = "-Onone";
405
- SWIFT_VERSION = 5.0;
406
- };
407
- name = debug;
408
- };
409
- D2A4FF1B078298AC78D0EBD3 /* release */ = {
410
- isa = XCBuildConfiguration;
411
- buildSettings = {
412
- ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
413
- ARCHS = (
414
- arm64,
415
- );
416
- ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
417
- CODE_SIGN_ENTITLEMENTS = "tauri-app_iOS/tauri-app_iOS.entitlements";
418
- CODE_SIGN_IDENTITY = "iPhone Developer";
419
- DEVELOPMENT_TEAM = "NADBSNEZWH";
420
- ENABLE_BITCODE = NO;
421
- "EXCLUDED_ARCHS[sdk=iphoneos*]" = x86_64;
422
- FRAMEWORK_SEARCH_PATHS = (
423
- "$(inherited)",
424
- "\".\"",
425
- );
426
- INFOPLIST_FILE = "tauri-app_iOS/Info.plist";
427
- LD_RUNPATH_SEARCH_PATHS = (
428
- "$(inherited)",
429
- "@executable_path/Frameworks",
430
- );
431
- "LIBRARY_SEARCH_PATHS[arch=arm64]" = "$(inherited) $(PROJECT_DIR)/Externals/arm64/$(CONFIGURATION) $(SDKROOT)/usr/lib/swift $(TOOLCHAIN_DIR)/usr/lib/swift/$(PLATFORM_NAME) $(TOOLCHAIN_DIR)/usr/lib/swift-5.0/$(PLATFORM_NAME)";
432
- "LIBRARY_SEARCH_PATHS[arch=x86_64]" = "$(inherited) $(PROJECT_DIR)/Externals/x86_64/$(CONFIGURATION) $(SDKROOT)/usr/lib/swift $(TOOLCHAIN_DIR)/usr/lib/swift/$(PLATFORM_NAME) $(TOOLCHAIN_DIR)/usr/lib/swift-5.0/$(PLATFORM_NAME)";
433
- PRODUCT_BUNDLE_IDENTIFIER = com.tauri.dev;
434
- PRODUCT_NAME = "tauri-app";
435
- SDKROOT = iphoneos;
436
- TARGETED_DEVICE_FAMILY = "1,2";
437
- VALID_ARCHS = arm64;
438
- };
439
- name = release;
440
- };
441
-/* End XCBuildConfiguration section */
442
-
443
-/* Begin XCConfigurationList section */
444
- 15AD1887792B155C6905ADD6 /* Build configuration list for PBXProject "tauri-app" */ = {
445
- isa = XCConfigurationList;
446
- buildConfigurations = (
447
- 62D98D8CE88586901FBBF6C0 /* debug */,
448
- 62330632B84ED41E941EFCF6 /* release */,
449
- );
450
- defaultConfigurationIsVisible = 0;
451
- defaultConfigurationName = debug;
452
- };
453
- 492FB4942D220065AF299C12 /* Build configuration list for PBXNativeTarget "tauri-app_iOS" */ = {
454
- isa = XCConfigurationList;
455
- buildConfigurations = (
456
- 421E0640619ED5B0C0B13B4E /* debug */,
457
- D2A4FF1B078298AC78D0EBD3 /* release */,
458
- );
459
- defaultConfigurationIsVisible = 0;
460
- defaultConfigurationName = debug;
461
- };
462
-/* End XCConfigurationList section */
463
- };
464
- rootObject = 90D4CFD39CFBBAA5E9883AD5 /* Project object */;
465
-}
examples/tauri-app/src-tauri/gen/apple/tauri-app.xcodeproj/project.xcworkspace/contents.xcworkspacedata
deleted
-7
@@ -1,7 +0,0 @@
1
-<?xml version="1.0" encoding="UTF-8"?>
2
-<Workspace
3
- version = "1.0">
4
- <FileRef
5
- location = "self:">
6
- </FileRef>
7
-</Workspace>
examples/tauri-app/src-tauri/gen/apple/tauri-app.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings
deleted
-10
@@ -1,10 +0,0 @@
1
-<?xml version="1.0" encoding="UTF-8"?>
2
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3
-<plist version="1.0">
4
-<dict>
5
- <key>BuildSystemType</key>
6
- <string>Original</string>
7
- <key>DisableBuildSystemDeprecationDiagnostic</key>
8
- <true/>
9
-</dict>
10
-</plist>
examples/tauri-app/src-tauri/gen/apple/tauri-app.xcodeproj/xcshareddata/xcschemes/tauri-app_iOS.xcscheme
deleted
-123
@@ -1,123 +0,0 @@
1
-<?xml version="1.0" encoding="UTF-8"?>
2
-<Scheme
3
- LastUpgradeVersion = "1430"
4
- version = "1.3">
5
- <BuildAction
6
- parallelizeBuildables = "YES"
7
- buildImplicitDependencies = "YES">
8
- <BuildActionEntries>
9
- <BuildActionEntry
10
- buildForTesting = "YES"
11
- buildForRunning = "YES"
12
- buildForProfiling = "YES"
13
- buildForArchiving = "YES"
14
- buildForAnalyzing = "YES">
15
- <BuildableReference
16
- BuildableIdentifier = "primary"
17
- BlueprintIdentifier = "067C19C8047A2326EE93616E"
18
- BuildableName = "tauri-app.app"
19
- BlueprintName = "tauri-app_iOS"
20
- ReferencedContainer = "container:tauri-app.xcodeproj">
21
- </BuildableReference>
22
- </BuildActionEntry>
23
- </BuildActionEntries>
24
- </BuildAction>
25
- <TestAction
26
- buildConfiguration = "debug"
27
- selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
28
- selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
29
- shouldUseLaunchSchemeArgsEnv = "NO">
30
- <MacroExpansion>
31
- <BuildableReference
32
- BuildableIdentifier = "primary"
33
- BlueprintIdentifier = "067C19C8047A2326EE93616E"
34
- BuildableName = "tauri-app.app"
35
- BlueprintName = "tauri-app_iOS"
36
- ReferencedContainer = "container:tauri-app.xcodeproj">
37
- </BuildableReference>
38
- </MacroExpansion>
39
- <EnvironmentVariables>
40
- <EnvironmentVariable
41
- key = "RUST_BACKTRACE"
42
- value = "full"
43
- isEnabled = "YES">
44
- </EnvironmentVariable>
45
- <EnvironmentVariable
46
- key = "RUST_LOG"
47
- value = "info"
48
- isEnabled = "YES">
49
- </EnvironmentVariable>
50
- </EnvironmentVariables>
51
- <Testables>
52
- </Testables>
53
- </TestAction>
54
- <LaunchAction
55
- buildConfiguration = "debug"
56
- selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
57
- selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
58
- launchStyle = "0"
59
- useCustomWorkingDirectory = "NO"
60
- ignoresPersistentStateOnLaunch = "NO"
61
- debugDocumentVersioning = "YES"
62
- debugServiceExtension = "internal"
63
- allowLocationSimulation = "YES">
64
- <BuildableProductRunnable
65
- runnableDebuggingMode = "0">
66
- <BuildableReference
67
- BuildableIdentifier = "primary"
68
- BlueprintIdentifier = "067C19C8047A2326EE93616E"
69
- BuildableName = "tauri-app.app"
70
- BlueprintName = "tauri-app_iOS"
71
- ReferencedContainer = "container:tauri-app.xcodeproj">
72
- </BuildableReference>
73
- </BuildableProductRunnable>
74
- <EnvironmentVariables>
75
- <EnvironmentVariable
76
- key = "RUST_BACKTRACE"
77
- value = "full"
78
- isEnabled = "YES">
79
- </EnvironmentVariable>
80
- <EnvironmentVariable
81
- key = "RUST_LOG"
82
- value = "info"
83
- isEnabled = "YES">
84
- </EnvironmentVariable>
85
- </EnvironmentVariables>
86
- </LaunchAction>
87
- <ProfileAction
88
- buildConfiguration = "release"
89
- shouldUseLaunchSchemeArgsEnv = "NO"
90
- savedToolIdentifier = ""
91
- useCustomWorkingDirectory = "NO"
92
- debugDocumentVersioning = "YES">
93
- <BuildableProductRunnable
94
- runnableDebuggingMode = "0">
95
- <BuildableReference
96
- BuildableIdentifier = "primary"
97
- BlueprintIdentifier = "067C19C8047A2326EE93616E"
98
- BuildableName = "tauri-app.app"
99
- BlueprintName = "tauri-app_iOS"
100
- ReferencedContainer = "container:tauri-app.xcodeproj">
101
- </BuildableReference>
102
- </BuildableProductRunnable>
103
- <EnvironmentVariables>
104
- <EnvironmentVariable
105
- key = "RUST_BACKTRACE"
106
- value = "full"
107
- isEnabled = "YES">
108
- </EnvironmentVariable>
109
- <EnvironmentVariable
110
- key = "RUST_LOG"
111
- value = "info"
112
- isEnabled = "YES">
113
- </EnvironmentVariable>
114
- </EnvironmentVariables>
115
- </ProfileAction>
116
- <AnalyzeAction
117
- buildConfiguration = "debug">
118
- </AnalyzeAction>
119
- <ArchiveAction
120
- buildConfiguration = "release"
121
- revealArchiveInOrganizer = "YES">
122
- </ArchiveAction>
123
-</Scheme>
examples/tauri-app/src-tauri/gen/apple/tauri-app_tvOS/App.swift
new
+27
@@ -0,0 +1,27 @@
1
+import SwiftUI
2
+
3
+@main
4
+struct TauriTvOSApp: App {
5
+ var body: some Scene {
6
+ WindowGroup {
7
+ ContentView()
8
+ }
9
+ }
10
+}
11
+
12
+struct ContentView: View {
13
+ var body: some View {
14
+ VStack(spacing: 24) {
15
+ Image(systemName: "tv")
16
+ .font(.system(size: 80))
17
+ .foregroundColor(.accentColor)
18
+ Text("tauri-app")
19
+ .font(.headline)
20
+ Text("tvOS target placeholder — no WebView available on this platform.")
21
+ .font(.subheadline)
22
+ .foregroundColor(.secondary)
23
+ .multilineTextAlignment(.center)
24
+ }
25
+ .padding(48)
26
+ }
27
+}
examples/tauri-app/src-tauri/gen/apple/tauri-app_tvOS/Info.plist
new
+30
@@ -0,0 +1,30 @@
1
+<?xml version="1.0" encoding="UTF-8"?>
2
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3
+<plist version="1.0">
4
+<dict>
5
+ <key>CFBundleDevelopmentRegion</key>
6
+ <string>$(DEVELOPMENT_LANGUAGE)</string>
7
+ <key>CFBundleExecutable</key>
8
+ <string>$(EXECUTABLE_NAME)</string>
9
+ <key>CFBundleIdentifier</key>
10
+ <string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
11
+ <key>CFBundleInfoDictionaryVersion</key>
12
+ <string>6.0</string>
13
+ <key>CFBundleName</key>
14
+ <string>$(PRODUCT_NAME)</string>
15
+ <key>CFBundlePackageType</key>
16
+ <string>APPL</string>
17
+ <key>CFBundleShortVersionString</key>
18
+ <string>0.1.0</string>
19
+ <key>CFBundleVersion</key>
20
+ <string>0.1.0</string>
21
+ <key>UIRequiredDeviceCapabilities</key>
22
+ <array>
23
+ <string>arm64</string>
24
+ </array>
25
+ <key>UIUserInterfaceStyle</key>
26
+ <string>Automatic</string>
27
+ <key>UIApplicationSupportsIndirectInputEvents</key>
28
+ <true/>
29
+</dict>
30
+</plist>
examples/tauri-app/src-tauri/gen/apple/tauri-app_visionOS/App.swift
new
+35
@@ -0,0 +1,35 @@
1
+//
2
+// App.swift
3
+// tauri-app
4
+//
5
+// Created by Seto Elkahfi on 2026-03-06.
6
+// Copyright © 2026 Onde Inference. All rights reserved.
7
+//
8
+
9
+import SwiftUI
10
+
11
+@main
12
+struct TauriVisionOSApp: App {
13
+ var body: some Scene {
14
+ WindowGroup {
15
+ ContentView()
16
+ }
17
+ }
18
+}
19
+
20
+struct ContentView: View {
21
+ var body: some View {
22
+ VStack(spacing: 24) {
23
+ Image(systemName: "visionpro")
24
+ .font(.system(size: 80))
25
+ .foregroundColor(.accentColor)
26
+ Text("tauri-app")
27
+ .font(.headline)
28
+ Text("visionOS target placeholder — native UI only.")
29
+ .font(.subheadline)
30
+ .foregroundColor(.secondary)
31
+ .multilineTextAlignment(.center)
32
+ }
33
+ .padding(48)
34
+ }
35
+}
examples/tauri-app/src-tauri/gen/apple/tauri-app_visionOS/Info.plist
new
+35
@@ -0,0 +1,35 @@
1
+<?xml version="1.0" encoding="UTF-8"?>
2
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3
+<plist version="1.0">
4
+<dict>
5
+ <key>CFBundleDevelopmentRegion</key>
6
+ <string>$(DEVELOPMENT_LANGUAGE)</string>
7
+ <key>CFBundleExecutable</key>
8
+ <string>$(EXECUTABLE_NAME)</string>
9
+ <key>CFBundleIdentifier</key>
10
+ <string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
11
+ <key>CFBundleInfoDictionaryVersion</key>
12
+ <string>6.0</string>
13
+ <key>CFBundleName</key>
14
+ <string>$(PRODUCT_NAME)</string>
15
+ <key>CFBundlePackageType</key>
16
+ <string>APPL</string>
17
+ <key>CFBundleShortVersionString</key>
18
+ <string>0.1.0</string>
19
+ <key>CFBundleVersion</key>
20
+ <string>0.1.0</string>
21
+ <key>UIRequiredDeviceCapabilities</key>
22
+ <array>
23
+ <string>arm64</string>
24
+ </array>
25
+ <key>UIApplicationSceneManifest</key>
26
+ <dict>
27
+ <key>UIApplicationSupportsMultipleScenes</key>
28
+ <true/>
29
+ <key>UISceneConfigurations</key>
30
+ <dict/>
31
+ </dict>
32
+ <key>UIApplicationSupportsIndirectInputEvents</key>
33
+ <true/>
34
+</dict>
35
+</plist>
examples/tauri-app/src-tauri/gen/apple/tauri-app_watchOS/App.swift
new
+37
@@ -0,0 +1,37 @@
1
+//
2
+// App.swift
3
+// tauri-app
4
+//
5
+// Created by Seto Elkahfi on 2026-03-06.
6
+// Copyright © 2026 Onde Inference. All rights reserved.
7
+//
8
+
9
+import SwiftUI
10
+
11
+@main
12
+struct TauriWatchOSApp: App {
13
+ var body: some Scene {
14
+ WindowGroup {
15
+ ContentView()
16
+ }
17
+ }
18
+}
19
+
20
+struct ContentView: View {
21
+ var body: some View {
22
+ ScrollView {
23
+ VStack(spacing: 16) {
24
+ Image(systemName: "applewatch")
25
+ .font(.system(size: 40))
26
+ .foregroundColor(.accentColor)
27
+ Text("tauri-app")
28
+ .font(.headline)
29
+ Text("watchOS target — native UI only.")
30
+ .font(.caption)
31
+ .foregroundColor(.secondary)
32
+ .multilineTextAlignment(.center)
33
+ }
34
+ .padding()
35
+ }
36
+ }
37
+}
examples/tauri-app/src-tauri/gen/apple/tauri-app_watchOS/Assets.xcassets/AppIcon.appiconset/AppIcon-1024x1024.png
Binary files /dev/null and b/examples/tauri-app/src-tauri/gen/apple/tauri-app_watchOS/Assets.xcassets/AppIcon.appiconset/AppIcon-1024x1024.png differ
examples/tauri-app/src-tauri/gen/apple/tauri-app_watchOS/Assets.xcassets/AppIcon.appiconset/Contents.json
new
+14
@@ -0,0 +1,14 @@
1
+{
2
+ "images" : [
3
+ {
4
+ "filename" : "AppIcon-1024x1024.png",
5
+ "idiom" : "universal",
6
+ "platform" : "watchOS",
7
+ "size" : "1024x1024"
8
+ }
9
+ ],
10
+ "info" : {
11
+ "author" : "xcode",
12
+ "version" : 1
13
+ }
14
+}
examples/tauri-app/src-tauri/gen/apple/tauri-app_watchOS/Assets.xcassets/Contents.json
new
+6
@@ -0,0 +1,6 @@
1
+{
2
+ "info" : {
3
+ "version" : 1,
4
+ "author" : "xcode"
5
+ }
6
+}
examples/tauri-app/src-tauri/gen/apple/tauri-app_watchOS/Info.plist
new
+30
@@ -0,0 +1,30 @@
1
+<?xml version="1.0" encoding="UTF-8"?>
2
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3
+<plist version="1.0">
4
+<dict>
5
+ <key>CFBundleDevelopmentRegion</key>
6
+ <string>$(DEVELOPMENT_LANGUAGE)</string>
7
+ <key>CFBundleExecutable</key>
8
+ <string>$(EXECUTABLE_NAME)</string>
9
+ <key>CFBundleIdentifier</key>
10
+ <string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
11
+ <key>CFBundleInfoDictionaryVersion</key>
12
+ <string>6.0</string>
13
+ <key>CFBundleName</key>
14
+ <string>$(PRODUCT_NAME)</string>
15
+ <key>CFBundlePackageType</key>
16
+ <string>APPL</string>
17
+ <key>CFBundleShortVersionString</key>
18
+ <string>0.1.0</string>
19
+ <key>CFBundleVersion</key>
20
+ <string>0.1.0</string>
21
+ <key>WKApplication</key>
22
+ <true/>
23
+ <key>WKCompanionAppBundleIdentifier</key>
24
+ <string>com.tauri.dev</string>
25
+ <key>UISupportedInterfaceOrientations</key>
26
+ <array>
27
+ <string>UIInterfaceOrientationPortrait</string>
28
+ </array>
29
+</dict>
30
+</plist>