feat: integrate KordantSpamShieldExtension target and complete App Review compliance (Task 28)

- Add KordantSpamShieldExtension target to project.yml with proper
  app-extension type, bundle identifier, and deployment target
- Create CallKit + App Group entitlements for SpamShield extension
- Move SpamDirectoryService to Sources/Shared for cross-target access
- Update app-review-checklist with 5 new technical items (total: 121)
- Update rejection-risk-mitigation with extension build integration
- Add SpamShield extension details to reviewer notes
- Mark Task 24 (push deep links) and Task 28 as complete
This commit is contained in:
2026-06-02 15:04:50 -04:00
parent e33ddf3002
commit 6b729a1334
7 changed files with 171 additions and 8 deletions

View File

@@ -52,6 +52,7 @@ targets:
INFOPLIST_FILE: Info.plist
dependencies:
- target: KordantWidgets
- target: KordantSpamShieldExtension
- package: Collections
product: Collections
- package: Algorithms
@@ -101,6 +102,25 @@ targets:
CODE_SIGN_ENTITLEMENTS: KordantWidgets/KordantWidgets.entitlements
SWIFT_VERSION: "5.9"
KordantSpamShieldExtension:
type: app-extension
platform: iOS
deploymentTarget: "17.0"
sources:
- path: KordantSpamShieldExtension
includes:
- "**/*.swift"
- "PrivacyInfo.xcprivacy"
- path: Sources/Shared
settings:
base:
PRODUCT_BUNDLE_IDENTIFIER: com.frenocorp.kordant.spamshield
PRODUCT_NAME: KordantSpamShieldExtension
SKIP_INSTALL: YES
INFOPLIST_FILE: KordantSpamShieldExtension/Info.plist
CODE_SIGN_ENTITLEMENTS: KordantSpamShieldExtension/KordantSpamShieldExtension.entitlements
SWIFT_VERSION: "5.9"
KordantUITests:
type: bundle.ui-testing
platform: iOS
@@ -120,6 +140,7 @@ schemes:
targets:
Kordant: all
KordantWidgets: all
KordantSpamShieldExtension: all
KordantTests: [test]
KordantUITests: [test]
run: