add file sharing

This commit is contained in:
leminlimez committed 2025-06-01 05:28:32 -04:00
1 parent 6e03915268
commit e9d66c66aa
2 files changed
+78 -1

No files matched your search

+17 -1
View File
@@ -30,8 +30,12 @@ struct ContentView: View {
var body: some View { var body: some View {
NavigationStack { NavigationStack {
ScrollView { ScrollView {
Label("Version \(Bundle.main.releaseVersionNumber ?? "UNKNOWN") (\(Int(buildNumber) != 0 ? "\(buildNumber)" : NSLocalizedString("Release", comment:"")))", systemImage: "info.circle.fill") HStack {
Label("Version \(Bundle.main.releaseVersionNumber ?? "UNKNOWN") (\(Int(buildNumber) != 0 ? "Beta \(buildNumber)" : NSLocalizedString("Release", comment:"")))", systemImage: "info.circle.fill")
Spacer()
}
.font(.caption) .font(.caption)
.padding(.bottom, 10)
Section { Section {
HStack { HStack {
Text("App Hash:") Text("App Hash:")
@@ -89,7 +93,11 @@ struct ContentView: View {
.fileImporter(isPresented: $showTendiesImporter, allowedContentTypes: [UTType(filenameExtension: "tendies", conformingTo: .data)!], allowsMultipleSelection: true, onCompletion: { result in .fileImporter(isPresented: $showTendiesImporter, allowedContentTypes: [UTType(filenameExtension: "tendies", conformingTo: .data)!], allowsMultipleSelection: true, onCompletion: { result in
switch result { switch result {
case .success(let url): case .success(let url):
if selectedTendies == nil {
selectedTendies = url selectedTendies = url
} else {
selectedTendies?.append(contentsOf: url)
}
case .failure(let error): case .failure(let error):
lastError = error.localizedDescription lastError = error.localizedDescription
showErrorAlert.toggle() showErrorAlert.toggle()
@@ -107,6 +115,14 @@ struct ContentView: View {
} message: { } message: {
Text(lastError ?? "???") Text(lastError ?? "???")
} }
.onOpenURL(perform: { url in
if url.pathExtension == "tendies" {
if selectedTendies == nil {
selectedTendies = []
}
selectedTendies?.append(url)
}
})
} }
init() { init() {
+61
View File
@@ -2,7 +2,68 @@
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0"> <plist version="1.0">
<dict> <dict>
<key>CFBundleDocumentTypes</key>
<array>
<dict>
<key>CFBundleTypeName</key>
<string>Nugget Wallpaper</string>
<key>LSHandlerRank</key>
<string>Owner</string>
<key>LSItemContentTypes</key>
<array>
<string>com.leemin.tendies</string>
</array>
</dict>
</array>
<key>UIFileSharingEnabled</key> <key>UIFileSharingEnabled</key>
<true/> <true/>
<key>UTExportedTypeDeclarations</key>
<array>
<dict>
<key>UTTypeConformsTo</key>
<array>
<string>public.data</string>
<string>public.archive</string>
</array>
<key>UTTypeDescription</key>
<string>Nugget Wallpaper</string>
<key>UTTypeIconFiles</key>
<array/>
<key>UTTypeIdentifier</key>
<string>com.leemin.tendies</string>
<key>UTTypeTagSpecification</key>
<dict>
<key>public.filename-extension</key>
<array>
<string>tendies</string>
</array>
</dict>
</dict>
</array>
<key>UTImportedTypeDeclarations</key>
<array>
<dict>
<key>UTTypeConformsTo</key>
<array>
<string>public.data</string>
<string>public.archive</string>
</array>
<key>UTTypeDescription</key>
<string>Nugget Wallpaper</string>
<key>UTTypeIconFiles</key>
<array/>
<key>UTTypeIdentifier</key>
<string>com.leemin.tendies</string>
<key>UTTypeTagSpecification</key>
<dict>
<key>public.filename-extension</key>
<array>
<string>tendies</string>
</array>
<key>public.mime-type</key>
<array/>
</dict>
</dict>
</array>
</dict> </dict>
</plist> </plist>