craft-native 0.0.55 → 0.0.72
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/android/src/index.d.ts +73 -0
- package/dist/android/src/index.js +177 -37
- package/dist/android/templates/AndroidManifest.xml.template +10 -36
- package/dist/android/templates/CraftBridge.kt.template +192 -60
- package/dist/android/templates/CraftHealthConnect.kt.template +200 -0
- package/dist/android/templates/CraftHealthConnectStub.kt.template +28 -0
- package/dist/android/templates/LocationRecordingService.kt.template +160 -0
- package/dist/android/templates/MainActivity.kt.template +140 -19
- package/dist/android/templates/build.gradle.kts.app.template +23 -1
- package/dist/android/templates/build.gradle.kts.project.template +3 -2
- package/dist/android/templates/proguard-rules.pro.template +9 -0
- package/dist/api/android-advanced.d.ts +5 -6
- package/dist/api/app.d.ts +0 -1
- package/dist/api/clipboard.d.ts +0 -1
- package/dist/api/crypto.d.ts +1 -2
- package/dist/api/db.d.ts +1 -2
- package/dist/api/dialog.d.ts +0 -1
- package/dist/api/fs.d.ts +1 -2
- package/dist/api/gestures.d.ts +66 -0
- package/dist/api/http.d.ts +1 -2
- package/dist/api/index.d.ts +37 -34
- package/dist/api/ios-advanced.d.ts +6 -7
- package/dist/api/macos-advanced.d.ts +2 -3
- package/dist/api/media.d.ts +0 -1
- package/dist/api/mobile.d.ts +109 -1
- package/dist/api/process.d.ts +0 -1
- package/dist/api/sidebar.d.ts +3 -20
- package/dist/api/spaces.d.ts +83 -0
- package/dist/api/tray.d.ts +2 -3
- package/dist/api/window.d.ts +1 -2
- package/dist/api/windows-advanced.d.ts +6 -7
- package/dist/assets/index.d.ts +0 -1
- package/dist/binary-resolver.d.ts +23 -1
- package/dist/bridge/android.d.ts +0 -1
- package/dist/bridge/core.d.ts +0 -38
- package/dist/bridge/ids.d.ts +0 -1
- package/dist/bridge/ios.d.ts +0 -1
- package/dist/bridge/webkit-pending.d.ts +0 -1
- package/dist/build/bundle-optimizer.d.ts +0 -1
- package/dist/cli.js +666 -90
- package/dist/components/index.d.ts +6 -7
- package/dist/components/native.d.ts +0 -1
- package/dist/components/sidebar.d.ts +2 -81
- package/dist/dev/devtools.d.ts +0 -1
- package/dist/dev/error-overlay.d.ts +0 -1
- package/dist/dev/hot-reload.d.ts +0 -1
- package/dist/index.cjs +113 -3
- package/dist/index.d.cts +16 -16
- package/dist/index.d.ts +16 -16
- package/dist/index.js +112 -4
- package/dist/ios/src/index.d.ts +172 -0
- package/dist/ios/src/index.js +440 -42
- package/dist/ios/templates/CraftActivityAttributes.swift +14 -0
- package/dist/ios/templates/CraftApp.swift +1001 -73
- package/dist/ios/templates/CraftLiveActivityWidget.swift.template +62 -0
- package/dist/ios/templates/CraftWatchApp.swift.template +155 -0
- package/dist/ios/templates/Info.plist.template +10 -9
- package/dist/ios/templates/WatchApp.Info.plist.template +26 -0
- package/dist/ios/templates/WidgetExtension.Info.plist +31 -0
- package/dist/ios/templates/project.yml.template +12 -1
- package/dist/logging/index.d.ts +0 -1
- package/dist/mobile.d.ts +8 -0
- package/dist/mobile.js +755 -0
- package/dist/optimizations/index.d.ts +3 -4
- package/dist/package.d.ts +11 -1
- package/dist/performance/runtime.d.ts +0 -1
- package/dist/performance/startup.d.ts +0 -1
- package/dist/plugins/index.d.ts +0 -1
- package/dist/security/index.d.ts +0 -1
- package/dist/sidebar-types.d.ts +102 -0
- package/dist/signing/index.d.ts +0 -1
- package/dist/styles/headwind.d.ts +0 -1
- package/dist/styles/index.d.ts +9 -10
- package/dist/styles/sidebar-templates.d.ts +0 -1
- package/dist/styles/sidebars.d.ts +0 -1
- package/dist/types.d.ts +131 -1
- package/dist/updater/index.d.ts +0 -1
- package/dist/utils/audio.d.ts +0 -1
- package/dist/utils/index.d.ts +4 -5
- package/dist/utils/native.d.ts +1 -2
- package/dist/utils/react.d.ts +0 -1
- package/dist/utils/storage.d.ts +0 -1
- package/dist/utils/svelte.d.ts +0 -1
- package/dist/utils/timer.d.ts +0 -1
- package/dist/utils/vue.d.ts +0 -1
- package/package.json +32 -4
- package/dist/android/src/index.js.map +0 -10
- package/dist/api/android-advanced.d.ts.map +0 -1
- package/dist/api/app.d.ts.map +0 -1
- package/dist/api/clipboard.d.ts.map +0 -1
- package/dist/api/crypto.d.ts.map +0 -1
- package/dist/api/db.d.ts.map +0 -1
- package/dist/api/dialog.d.ts.map +0 -1
- package/dist/api/fs.d.ts.map +0 -1
- package/dist/api/http.d.ts.map +0 -1
- package/dist/api/index.d.ts.map +0 -1
- package/dist/api/ios-advanced.d.ts.map +0 -1
- package/dist/api/macos-advanced.d.ts.map +0 -1
- package/dist/api/media.d.ts.map +0 -1
- package/dist/api/mobile.d.ts.map +0 -1
- package/dist/api/process.d.ts.map +0 -1
- package/dist/api/sidebar.d.ts.map +0 -1
- package/dist/api/tray.d.ts.map +0 -1
- package/dist/api/window.d.ts.map +0 -1
- package/dist/api/windows-advanced.d.ts.map +0 -1
- package/dist/assets/index.d.ts.map +0 -1
- package/dist/binary-resolver.d.ts.map +0 -1
- package/dist/bridge/android.d.ts.map +0 -1
- package/dist/bridge/core.d.ts.map +0 -1
- package/dist/bridge/ids.d.ts.map +0 -1
- package/dist/bridge/ios.d.ts.map +0 -1
- package/dist/bridge/webkit-pending.d.ts.map +0 -1
- package/dist/build/bundle-optimizer.d.ts.map +0 -1
- package/dist/components/index.d.ts.map +0 -1
- package/dist/components/native.d.ts.map +0 -1
- package/dist/components/sidebar.d.ts.map +0 -1
- package/dist/dev/devtools.d.ts.map +0 -1
- package/dist/dev/error-overlay.d.ts.map +0 -1
- package/dist/dev/hot-reload.d.ts.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js.map +0 -45
- package/dist/ios/src/index.js.map +0 -10
- package/dist/logging/index.d.ts.map +0 -1
- package/dist/optimizations/index.d.ts.map +0 -1
- package/dist/package.d.ts.map +0 -1
- package/dist/package.test.d.ts +0 -2
- package/dist/package.test.d.ts.map +0 -1
- package/dist/performance/runtime.d.ts.map +0 -1
- package/dist/performance/startup.d.ts.map +0 -1
- package/dist/plugins/index.d.ts.map +0 -1
- package/dist/security/index.d.ts.map +0 -1
- package/dist/signing/index.d.ts.map +0 -1
- package/dist/styles/headwind.d.ts.map +0 -1
- package/dist/styles/index.d.ts.map +0 -1
- package/dist/styles/sidebar-templates.d.ts.map +0 -1
- package/dist/styles/sidebars.d.ts.map +0 -1
- package/dist/types.d.ts.map +0 -1
- package/dist/updater/index.d.ts.map +0 -1
- package/dist/utils/audio.d.ts.map +0 -1
- package/dist/utils/index.d.ts.map +0 -1
- package/dist/utils/native.d.ts.map +0 -1
- package/dist/utils/react.d.ts.map +0 -1
- package/dist/utils/storage.d.ts.map +0 -1
- package/dist/utils/svelte.d.ts.map +0 -1
- package/dist/utils/timer.d.ts.map +0 -1
- package/dist/utils/vue.d.ts.map +0 -1
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import ActivityKit
|
|
2
|
+
import SwiftUI
|
|
3
|
+
import WidgetKit
|
|
4
|
+
|
|
5
|
+
@main
|
|
6
|
+
struct CraftLiveActivityBundle: WidgetBundle {
|
|
7
|
+
var body: some Widget {
|
|
8
|
+
CraftLiveActivityWidget()
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
struct CraftLiveActivityWidget: Widget {
|
|
13
|
+
var body: some WidgetConfiguration {
|
|
14
|
+
ActivityConfiguration(for: CraftActivityAttributes.self) { context in
|
|
15
|
+
HStack(spacing: 12) {
|
|
16
|
+
Image(systemName: "figure.run")
|
|
17
|
+
.foregroundStyle(.green)
|
|
18
|
+
VStack(alignment: .leading, spacing: 3) {
|
|
19
|
+
Text(context.attributes.title).font(.headline)
|
|
20
|
+
Text(context.state.status).font(.caption).foregroundStyle(.secondary)
|
|
21
|
+
}
|
|
22
|
+
Spacer()
|
|
23
|
+
VStack(alignment: .trailing, spacing: 3) {
|
|
24
|
+
Text(distance(context.state.distanceMeters)).font(.headline.monospacedDigit())
|
|
25
|
+
Text(duration(context.state.durationSeconds)).font(.caption.monospacedDigit())
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
.padding()
|
|
29
|
+
.activityBackgroundTint(Color(red: 0, green: 0.24, blue: 0.18))
|
|
30
|
+
.activitySystemActionForegroundColor(.white)
|
|
31
|
+
} dynamicIsland: { context in
|
|
32
|
+
DynamicIsland {
|
|
33
|
+
DynamicIslandExpandedRegion(.leading) {
|
|
34
|
+
Label(context.state.status, systemImage: "figure.run")
|
|
35
|
+
}
|
|
36
|
+
DynamicIslandExpandedRegion(.trailing) {
|
|
37
|
+
Text(distance(context.state.distanceMeters)).monospacedDigit()
|
|
38
|
+
}
|
|
39
|
+
DynamicIslandExpandedRegion(.bottom) {
|
|
40
|
+
ProgressView(value: context.state.progress)
|
|
41
|
+
.tint(.green)
|
|
42
|
+
}
|
|
43
|
+
} compactLeading: {
|
|
44
|
+
Image(systemName: "figure.run")
|
|
45
|
+
} compactTrailing: {
|
|
46
|
+
Text(distance(context.state.distanceMeters)).monospacedDigit()
|
|
47
|
+
} minimal: {
|
|
48
|
+
Image(systemName: "figure.run")
|
|
49
|
+
}
|
|
50
|
+
.keylineTint(.green)
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
private func distance(_ meters: Double) -> String {
|
|
55
|
+
String(format: "%.2f km", meters / 1000)
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
private func duration(_ seconds: Double) -> String {
|
|
59
|
+
let value = max(Int(seconds), 0)
|
|
60
|
+
return String(format: "%02d:%02d", value / 60, value % 60)
|
|
61
|
+
}
|
|
62
|
+
}
|
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
import SwiftUI
|
|
2
|
+
import WatchConnectivity
|
|
3
|
+
|
|
4
|
+
@main
|
|
5
|
+
struct {{APP_NAME}}WatchApp: App {
|
|
6
|
+
@StateObject private var session = CraftWatchSession()
|
|
7
|
+
|
|
8
|
+
var body: some Scene {
|
|
9
|
+
WindowGroup {
|
|
10
|
+
CraftWatchRecordingView()
|
|
11
|
+
.environmentObject(session)
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
@MainActor
|
|
17
|
+
final class CraftWatchSession: NSObject, ObservableObject {
|
|
18
|
+
@Published private(set) var isPhoneReachable = false
|
|
19
|
+
@Published private(set) var isRecording = false
|
|
20
|
+
@Published private(set) var isPaused = false
|
|
21
|
+
@Published private(set) var distanceMeters = 0.0
|
|
22
|
+
@Published private(set) var durationSeconds = 0.0
|
|
23
|
+
@Published private(set) var status = "Ready"
|
|
24
|
+
|
|
25
|
+
private let session: WCSession?
|
|
26
|
+
|
|
27
|
+
override init() {
|
|
28
|
+
if WCSession.isSupported() {
|
|
29
|
+
session = .default
|
|
30
|
+
} else {
|
|
31
|
+
session = nil
|
|
32
|
+
}
|
|
33
|
+
super.init()
|
|
34
|
+
session?.delegate = self
|
|
35
|
+
session?.activate()
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
func toggleRecording() {
|
|
39
|
+
let action: String
|
|
40
|
+
if !isRecording {
|
|
41
|
+
action = "start"
|
|
42
|
+
} else if isPaused {
|
|
43
|
+
action = "resume"
|
|
44
|
+
} else {
|
|
45
|
+
action = "pause"
|
|
46
|
+
}
|
|
47
|
+
send(action: action)
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
func finishRecording() {
|
|
51
|
+
send(action: "finish")
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
private func send(action: String) {
|
|
55
|
+
guard let session, session.activationState == .activated else {
|
|
56
|
+
status = "Open WildLoop on iPhone"
|
|
57
|
+
return
|
|
58
|
+
}
|
|
59
|
+
let message: [String: Any] = ["type": "recording-control", "action": action]
|
|
60
|
+
if session.isReachable {
|
|
61
|
+
session.sendMessage(message, replyHandler: { [weak self] reply in
|
|
62
|
+
Task { @MainActor in self?.apply(reply) }
|
|
63
|
+
}, errorHandler: { [weak self] _ in
|
|
64
|
+
Task { @MainActor in self?.status = "Could not reach iPhone" }
|
|
65
|
+
})
|
|
66
|
+
} else {
|
|
67
|
+
session.transferUserInfo(message)
|
|
68
|
+
status = "Command queued"
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
private func apply(_ payload: [String: Any]) {
|
|
73
|
+
if let recording = payload["recording"] as? Bool { isRecording = recording }
|
|
74
|
+
if let paused = payload["paused"] as? Bool { isPaused = paused }
|
|
75
|
+
if let distance = payload["distanceMeters"] as? Double { distanceMeters = max(distance, 0) }
|
|
76
|
+
if let duration = payload["durationSeconds"] as? Double { durationSeconds = max(duration, 0) }
|
|
77
|
+
if let value = payload["status"] as? String { status = value }
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
extension CraftWatchSession: WCSessionDelegate {
|
|
82
|
+
nonisolated func session(_ session: WCSession, activationDidCompleteWith activationState: WCSessionActivationState, error: Error?) {
|
|
83
|
+
Task { @MainActor in
|
|
84
|
+
isPhoneReachable = session.isReachable
|
|
85
|
+
status = error == nil ? "Ready" : "Connection unavailable"
|
|
86
|
+
apply(session.receivedApplicationContext)
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
nonisolated func sessionReachabilityDidChange(_ session: WCSession) {
|
|
91
|
+
Task { @MainActor in isPhoneReachable = session.isReachable }
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
nonisolated func session(_ session: WCSession, didReceiveApplicationContext applicationContext: [String: Any]) {
|
|
95
|
+
Task { @MainActor in apply(applicationContext) }
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
nonisolated func session(_ session: WCSession, didReceiveMessage message: [String: Any]) {
|
|
99
|
+
Task { @MainActor in apply(message) }
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
nonisolated func session(_ session: WCSession, didReceiveUserInfo userInfo: [String: Any] = [:]) {
|
|
103
|
+
Task { @MainActor in apply(userInfo) }
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
struct CraftWatchRecordingView: View {
|
|
108
|
+
@EnvironmentObject private var session: CraftWatchSession
|
|
109
|
+
|
|
110
|
+
var body: some View {
|
|
111
|
+
ScrollView {
|
|
112
|
+
VStack(spacing: 12) {
|
|
113
|
+
Image(systemName: "figure.run.circle.fill")
|
|
114
|
+
.font(.system(size: 34))
|
|
115
|
+
.foregroundStyle(.green)
|
|
116
|
+
.accessibilityHidden(true)
|
|
117
|
+
Text(session.status)
|
|
118
|
+
.font(.headline)
|
|
119
|
+
.multilineTextAlignment(.center)
|
|
120
|
+
HStack {
|
|
121
|
+
metric(distance, label: "Distance")
|
|
122
|
+
metric(duration, label: "Time")
|
|
123
|
+
}
|
|
124
|
+
Button(session.isRecording && !session.isPaused ? "Pause" : session.isPaused ? "Resume" : "Start") {
|
|
125
|
+
session.toggleRecording()
|
|
126
|
+
}
|
|
127
|
+
.buttonStyle(.borderedProminent)
|
|
128
|
+
.tint(.green)
|
|
129
|
+
if session.isRecording {
|
|
130
|
+
Button("Finish", role: .destructive) { session.finishRecording() }
|
|
131
|
+
}
|
|
132
|
+
Text(session.isPhoneReachable ? "iPhone connected" : "Commands sync when iPhone reconnects")
|
|
133
|
+
.font(.caption2)
|
|
134
|
+
.foregroundStyle(.secondary)
|
|
135
|
+
.multilineTextAlignment(.center)
|
|
136
|
+
}
|
|
137
|
+
.padding(.horizontal, 8)
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
private var distance: String { String(format: "%.2f km", session.distanceMeters / 1000) }
|
|
142
|
+
private var duration: String {
|
|
143
|
+
let seconds = max(Int(session.durationSeconds), 0)
|
|
144
|
+
return String(format: "%02d:%02d", seconds / 60, seconds % 60)
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
private func metric(_ value: String, label: String) -> some View {
|
|
148
|
+
VStack(spacing: 2) {
|
|
149
|
+
Text(value).font(.headline.monospacedDigit())
|
|
150
|
+
Text(label).font(.caption2).foregroundStyle(.secondary)
|
|
151
|
+
}
|
|
152
|
+
.frame(maxWidth: .infinity)
|
|
153
|
+
.accessibilityElement(children: .combine)
|
|
154
|
+
}
|
|
155
|
+
}
|
|
@@ -22,17 +22,18 @@
|
|
|
22
22
|
<string>{{BUILD_NUMBER}}</string>
|
|
23
23
|
<key>LSRequiresIPhoneOS</key>
|
|
24
24
|
<true/>
|
|
25
|
-
<key>
|
|
26
|
-
<
|
|
25
|
+
<key>UILaunchScreen</key>
|
|
26
|
+
<dict>
|
|
27
|
+
<key>UIColorName</key>
|
|
28
|
+
<string>LaunchBackground</string>
|
|
29
|
+
</dict>
|
|
27
30
|
<key>UIRequiredDeviceCapabilities</key>
|
|
28
31
|
<array>
|
|
29
32
|
<string>arm64</string>
|
|
30
33
|
</array>
|
|
31
34
|
<key>UISupportedInterfaceOrientations</key>
|
|
32
35
|
<array>
|
|
33
|
-
|
|
34
|
-
<string>UIInterfaceOrientationLandscapeLeft</string>
|
|
35
|
-
<string>UIInterfaceOrientationLandscapeRight</string>
|
|
36
|
+
{{ORIENTATIONS}}
|
|
36
37
|
</array>
|
|
37
38
|
<key>UIUserInterfaceStyle</key>
|
|
38
39
|
<string>{{UI_STYLE}}</string>
|
|
@@ -40,10 +41,10 @@
|
|
|
40
41
|
<string>UIStatusBarStyleLightContent</string>
|
|
41
42
|
<key>UIViewControllerBasedStatusBarAppearance</key>
|
|
42
43
|
<false/>
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
44
|
+
{{USAGE_DESCRIPTIONS}}
|
|
45
|
+
{{URL_TYPES}}
|
|
46
|
+
{{BACKGROUND_MODES}}
|
|
47
|
+
{{LIVE_ACTIVITY_SUPPORT}}
|
|
47
48
|
<key>NSAppTransportSecurity</key>
|
|
48
49
|
<dict>
|
|
49
50
|
<key>NSAllowsLocalNetworking</key>
|
|
@@ -0,0 +1,26 @@
|
|
|
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>CFBundleDisplayName</key>
|
|
8
|
+
<string>{{APP_NAME}}</string>
|
|
9
|
+
<key>CFBundleExecutable</key>
|
|
10
|
+
<string>$(EXECUTABLE_NAME)</string>
|
|
11
|
+
<key>CFBundleIdentifier</key>
|
|
12
|
+
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
|
|
13
|
+
<key>CFBundleInfoDictionaryVersion</key>
|
|
14
|
+
<string>6.0</string>
|
|
15
|
+
<key>CFBundleName</key>
|
|
16
|
+
<string>$(PRODUCT_NAME)</string>
|
|
17
|
+
<key>CFBundlePackageType</key>
|
|
18
|
+
<string>$(PRODUCT_BUNDLE_PACKAGE_TYPE)</string>
|
|
19
|
+
<key>CFBundleShortVersionString</key>
|
|
20
|
+
<string>$(MARKETING_VERSION)</string>
|
|
21
|
+
<key>CFBundleVersion</key>
|
|
22
|
+
<string>$(CURRENT_PROJECT_VERSION)</string>
|
|
23
|
+
<key>WKCompanionAppBundleIdentifier</key>
|
|
24
|
+
<string>{{BUNDLE_ID}}</string>
|
|
25
|
+
</dict>
|
|
26
|
+
</plist>
|
|
@@ -0,0 +1,31 @@
|
|
|
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>CFBundleDisplayName</key>
|
|
8
|
+
<string>Live Activity</string>
|
|
9
|
+
<key>CFBundleExecutable</key>
|
|
10
|
+
<string>$(EXECUTABLE_NAME)</string>
|
|
11
|
+
<key>CFBundleIdentifier</key>
|
|
12
|
+
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
|
|
13
|
+
<key>CFBundleInfoDictionaryVersion</key>
|
|
14
|
+
<string>6.0</string>
|
|
15
|
+
<key>CFBundleName</key>
|
|
16
|
+
<string>$(PRODUCT_NAME)</string>
|
|
17
|
+
<key>CFBundlePackageType</key>
|
|
18
|
+
<string>$(PRODUCT_BUNDLE_PACKAGE_TYPE)</string>
|
|
19
|
+
<key>CFBundleShortVersionString</key>
|
|
20
|
+
<string>$(MARKETING_VERSION)</string>
|
|
21
|
+
<key>CFBundleVersion</key>
|
|
22
|
+
<string>$(CURRENT_PROJECT_VERSION)</string>
|
|
23
|
+
<key>NSExtension</key>
|
|
24
|
+
<dict>
|
|
25
|
+
<key>NSExtensionPointIdentifier</key>
|
|
26
|
+
<string>com.apple.widgetkit-extension</string>
|
|
27
|
+
</dict>
|
|
28
|
+
<key>NSSupportsLiveActivities</key>
|
|
29
|
+
<true/>
|
|
30
|
+
</dict>
|
|
31
|
+
</plist>
|
|
@@ -14,12 +14,23 @@ targets:
|
|
|
14
14
|
platform: iOS
|
|
15
15
|
sources:
|
|
16
16
|
- Sources
|
|
17
|
-
|
|
17
|
+
- Shared
|
|
18
18
|
- path: dist
|
|
19
19
|
type: folder
|
|
20
|
+
buildPhase: resources
|
|
20
21
|
- path: craft.config.json
|
|
21
22
|
optional: true
|
|
23
|
+
buildPhase: resources
|
|
24
|
+
- path: Assets.xcassets
|
|
25
|
+
buildPhase: resources
|
|
26
|
+
- path: PrivacyInfo.xcprivacy
|
|
27
|
+
buildPhase: resources
|
|
22
28
|
settings:
|
|
23
29
|
INFOPLIST_FILE: Info.plist
|
|
30
|
+
CODE_SIGN_ENTITLEMENTS: Craft.entitlements
|
|
24
31
|
PRODUCT_BUNDLE_IDENTIFIER: {{BUNDLE_ID}}
|
|
32
|
+
TARGETED_DEVICE_FAMILY: "{{DEVICE_FAMILIES}}"
|
|
25
33
|
SWIFT_VERSION: "5.0"
|
|
34
|
+
ASSETCATALOG_COMPILER_APPICON_NAME: AppIcon
|
|
35
|
+
{{NATIVE_DEPENDENCIES}}
|
|
36
|
+
{{NATIVE_TARGETS}}
|
package/dist/logging/index.d.ts
CHANGED
package/dist/mobile.d.ts
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Browser-safe Craft mobile runtime.
|
|
3
|
+
*
|
|
4
|
+
* Import this entrypoint from code that is bundled into an STX, web, or mobile
|
|
5
|
+
* application. The root SDK also contains desktop packaging and process APIs,
|
|
6
|
+
* which intentionally target Bun and must not enter a browser bundle.
|
|
7
|
+
*/
|
|
8
|
+
export * from './api/mobile.js';
|