chore: Archive-Polish — Versions-Sync + Orientations + Mac-Icon
- 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) <noreply@anthropic.com>
This commit is contained in:
parent
4dfb32ba25
commit
6d9a191527
4 changed files with 32 additions and 7 deletions
|
|
@ -31,16 +31,27 @@ final class ShareViewController: UIViewController {
|
||||||
group.enter()
|
group.enter()
|
||||||
provider.loadItem(forTypeIdentifier: UTType.url.identifier, options: nil) { item, _ in
|
provider.loadItem(forTypeIdentifier: UTType.url.identifier, options: nil) { item, _ in
|
||||||
if let url = item as? URL {
|
if let url = item as? URL {
|
||||||
self.sharedURL = url.absoluteString
|
let absolute = url.absoluteString
|
||||||
if self.sharedText.isEmpty { self.sharedText = 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) {
|
} else if provider.hasItemConformingToTypeIdentifier(UTType.plainText.identifier) {
|
||||||
group.enter()
|
group.enter()
|
||||||
provider.loadItem(forTypeIdentifier: UTType.plainText.identifier, options: nil) { item, _ in
|
provider.loadItem(forTypeIdentifier: UTType.plainText.identifier, options: nil) { item, _ in
|
||||||
if let text = item as? String { self.sharedText = text }
|
if let text = item as? String {
|
||||||
group.leave()
|
DispatchQueue.main.async {
|
||||||
|
self.sharedText = text
|
||||||
|
group.leave()
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
group.leave()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -39,7 +39,7 @@ enum PendingShareStore {
|
||||||
/// kann ein Eintrag verloren gehen — akzeptabel, weil Extension nur
|
/// kann ein Eintrag verloren gehen — akzeptabel, weil Extension nur
|
||||||
/// schreibt wenn User aktiv "Teilen" tippt.
|
/// schreibt wenn User aktiv "Teilen" tippt.
|
||||||
static func append(_ share: PendingShare) {
|
static func append(_ share: PendingShare) {
|
||||||
guard let url else { return }
|
guard url != nil else { return }
|
||||||
var all = readAll()
|
var all = readAll()
|
||||||
all.append(share)
|
all.append(share)
|
||||||
write(all)
|
write(all)
|
||||||
|
|
|
||||||
|
|
@ -34,7 +34,7 @@
|
||||||
"filename" : "AppIcon-1024.png",
|
"filename" : "AppIcon-1024.png",
|
||||||
"idiom" : "mac",
|
"idiom" : "mac",
|
||||||
"scale" : "1x",
|
"scale" : "1x",
|
||||||
"size" : "512x512"
|
"size" : "1024x1024"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"info" : {
|
"info" : {
|
||||||
|
|
|
||||||
14
project.yml
14
project.yml
|
|
@ -3,6 +3,7 @@ name: CardsNative
|
||||||
options:
|
options:
|
||||||
bundleIdPrefix: ev.mana
|
bundleIdPrefix: ev.mana
|
||||||
createIntermediateGroups: true
|
createIntermediateGroups: true
|
||||||
|
xcodeVersion: "16.0"
|
||||||
deploymentTarget:
|
deploymentTarget:
|
||||||
iOS: "18.0"
|
iOS: "18.0"
|
||||||
macOS: "15.0"
|
macOS: "15.0"
|
||||||
|
|
@ -59,6 +60,15 @@ targets:
|
||||||
CFBundleDisplayName: Cards
|
CFBundleDisplayName: Cards
|
||||||
LSApplicationCategoryType: "public.app-category.education"
|
LSApplicationCategoryType: "public.app-category.education"
|
||||||
UILaunchScreen: {}
|
UILaunchScreen: {}
|
||||||
|
UISupportedInterfaceOrientations:
|
||||||
|
- UIInterfaceOrientationPortrait
|
||||||
|
- UIInterfaceOrientationLandscapeLeft
|
||||||
|
- UIInterfaceOrientationLandscapeRight
|
||||||
|
UISupportedInterfaceOrientations~ipad:
|
||||||
|
- UIInterfaceOrientationPortrait
|
||||||
|
- UIInterfaceOrientationPortraitUpsideDown
|
||||||
|
- UIInterfaceOrientationLandscapeLeft
|
||||||
|
- UIInterfaceOrientationLandscapeRight
|
||||||
CFBundleURLTypes:
|
CFBundleURLTypes:
|
||||||
- CFBundleURLName: ev.mana.cardecky
|
- CFBundleURLName: ev.mana.cardecky
|
||||||
CFBundleURLSchemes:
|
CFBundleURLSchemes:
|
||||||
|
|
@ -100,6 +110,8 @@ targets:
|
||||||
path: ShareExtension/Resources/Info.plist
|
path: ShareExtension/Resources/Info.plist
|
||||||
properties:
|
properties:
|
||||||
CFBundleDisplayName: Als Karte speichern
|
CFBundleDisplayName: Als Karte speichern
|
||||||
|
CFBundleShortVersionString: "0.1.0"
|
||||||
|
CFBundleVersion: "1"
|
||||||
NSExtension:
|
NSExtension:
|
||||||
NSExtensionPointIdentifier: com.apple.share-services
|
NSExtensionPointIdentifier: com.apple.share-services
|
||||||
NSExtensionPrincipalClass: $(PRODUCT_MODULE_NAME).ShareViewController
|
NSExtensionPrincipalClass: $(PRODUCT_MODULE_NAME).ShareViewController
|
||||||
|
|
@ -131,6 +143,8 @@ targets:
|
||||||
path: Widgets/CardsWidget/Resources/Info.plist
|
path: Widgets/CardsWidget/Resources/Info.plist
|
||||||
properties:
|
properties:
|
||||||
CFBundleDisplayName: Cards Widget
|
CFBundleDisplayName: Cards Widget
|
||||||
|
CFBundleShortVersionString: "0.1.0"
|
||||||
|
CFBundleVersion: "1"
|
||||||
NSExtension:
|
NSExtension:
|
||||||
NSExtensionPointIdentifier: com.apple.widgetkit-extension
|
NSExtensionPointIdentifier: com.apple.widgetkit-extension
|
||||||
entitlements:
|
entitlements:
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue