From 6d9a191527cc4e8fd9eb93ed16c819228fd259ad Mon Sep 17 00:00:00 2001 From: Till JS Date: Wed, 13 May 2026 14:06:11 +0200 Subject: [PATCH] =?UTF-8?q?chore:=20Archive-Polish=20=E2=80=94=20Versions-?= =?UTF-8?q?Sync=20+=20Orientations=20+=20Mac-Icon?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - CFBundleShortVersionString 0.1.0 + CFBundleVersion 1 in beiden Extensions (Widget + Share), damit sie mit dem Main-Bundle matchen (Apple-Validation-Warning bei Embedded-Binary) - UISupportedInterfaceOrientations (iPhone Portrait/Landscape + iPad alle vier), behebt Validation-Warning - AppIcon mac-Slot auf size 1024x1024 (Asset-Catalog akzeptiert) - xcodeVersion: 16.0 im XcodeGen-Manifest gegen "Update to recommended settings"-Hint - ShareViewController: DispatchQueue.main.async für State-Updates aus NSItemProvider-Callbacks (Swift-6-Concurrency-Sauberkeit) - PendingShareStore.append: guard url != nil statt unused-let Archive verifiziert via xcodebuild archive -allowProvisioningUpdates: ARCHIVE SUCCEEDED, alle drei Provisioning Profiles (cardecky, cardecky.widget, cardecky.share) automatisch geholt + signiert. Co-Authored-By: Claude Opus 4.7 (1M context) --- ShareExtension/ShareViewController.swift | 21 ++++++++++++++----- Sources/Core/Sync/PendingShareStore.swift | 2 +- .../AppIcon.appiconset/Contents.json | 2 +- project.yml | 14 +++++++++++++ 4 files changed, 32 insertions(+), 7 deletions(-) diff --git a/ShareExtension/ShareViewController.swift b/ShareExtension/ShareViewController.swift index ee87506..81104f0 100644 --- a/ShareExtension/ShareViewController.swift +++ b/ShareExtension/ShareViewController.swift @@ -31,16 +31,27 @@ final class ShareViewController: UIViewController { group.enter() provider.loadItem(forTypeIdentifier: UTType.url.identifier, options: nil) { item, _ in if let url = item as? URL { - self.sharedURL = url.absoluteString - if self.sharedText.isEmpty { self.sharedText = url.absoluteString } + let absolute = url.absoluteString + DispatchQueue.main.async { + self.sharedURL = absolute + if self.sharedText.isEmpty { self.sharedText = absolute } + group.leave() + } + } else { + group.leave() } - group.leave() } } else if provider.hasItemConformingToTypeIdentifier(UTType.plainText.identifier) { group.enter() provider.loadItem(forTypeIdentifier: UTType.plainText.identifier, options: nil) { item, _ in - if let text = item as? String { self.sharedText = text } - group.leave() + if let text = item as? String { + DispatchQueue.main.async { + self.sharedText = text + group.leave() + } + } else { + group.leave() + } } } } diff --git a/Sources/Core/Sync/PendingShareStore.swift b/Sources/Core/Sync/PendingShareStore.swift index cd14d83..719f972 100644 --- a/Sources/Core/Sync/PendingShareStore.swift +++ b/Sources/Core/Sync/PendingShareStore.swift @@ -39,7 +39,7 @@ enum PendingShareStore { /// kann ein Eintrag verloren gehen — akzeptabel, weil Extension nur /// schreibt wenn User aktiv "Teilen" tippt. static func append(_ share: PendingShare) { - guard let url else { return } + guard url != nil else { return } var all = readAll() all.append(share) write(all) diff --git a/Sources/Resources/Assets.xcassets/AppIcon.appiconset/Contents.json b/Sources/Resources/Assets.xcassets/AppIcon.appiconset/Contents.json index 79657a3..dfec448 100644 --- a/Sources/Resources/Assets.xcassets/AppIcon.appiconset/Contents.json +++ b/Sources/Resources/Assets.xcassets/AppIcon.appiconset/Contents.json @@ -34,7 +34,7 @@ "filename" : "AppIcon-1024.png", "idiom" : "mac", "scale" : "1x", - "size" : "512x512" + "size" : "1024x1024" } ], "info" : { diff --git a/project.yml b/project.yml index a2879d6..7753598 100644 --- a/project.yml +++ b/project.yml @@ -3,6 +3,7 @@ name: CardsNative options: bundleIdPrefix: ev.mana createIntermediateGroups: true + xcodeVersion: "16.0" deploymentTarget: iOS: "18.0" macOS: "15.0" @@ -59,6 +60,15 @@ targets: CFBundleDisplayName: Cards LSApplicationCategoryType: "public.app-category.education" UILaunchScreen: {} + UISupportedInterfaceOrientations: + - UIInterfaceOrientationPortrait + - UIInterfaceOrientationLandscapeLeft + - UIInterfaceOrientationLandscapeRight + UISupportedInterfaceOrientations~ipad: + - UIInterfaceOrientationPortrait + - UIInterfaceOrientationPortraitUpsideDown + - UIInterfaceOrientationLandscapeLeft + - UIInterfaceOrientationLandscapeRight CFBundleURLTypes: - CFBundleURLName: ev.mana.cardecky CFBundleURLSchemes: @@ -100,6 +110,8 @@ targets: path: ShareExtension/Resources/Info.plist properties: CFBundleDisplayName: Als Karte speichern + CFBundleShortVersionString: "0.1.0" + CFBundleVersion: "1" NSExtension: NSExtensionPointIdentifier: com.apple.share-services NSExtensionPrincipalClass: $(PRODUCT_MODULE_NAME).ShareViewController @@ -131,6 +143,8 @@ targets: path: Widgets/CardsWidget/Resources/Info.plist properties: CFBundleDisplayName: Cards Widget + CFBundleShortVersionString: "0.1.0" + CFBundleVersion: "1" NSExtension: NSExtensionPointIdentifier: com.apple.widgetkit-extension entitlements: