Project updates. (#3837)

* Don't use the AppIdentifierPrefix as it breaks when re-signing.

* Generate entitlements using XcodeGen.

* Ignore Xcode Archives.

* Remove the (unused) NCE.

* Update submodule.
This commit is contained in:
Doug 2025-02-26 18:29:20 +00:00 committed by GitHub
parent 5b2f6cfbf4
commit b01070c6b6
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
12 changed files with 47 additions and 146 deletions

1
.gitignore vendored
View File

@ -8,6 +8,7 @@ xcuserdata/
*.ipa *.ipa
*.dSYM.zip *.dSYM.zip
*.dSYM *.dSYM
*.xcarchive
## SwiftPM ## SwiftPM
/.build /.build

View File

@ -8143,7 +8143,7 @@
GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES; GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 17.6; IPHONEOS_DEPLOYMENT_TARGET = 17.6;
KEYCHAIN_ACCESS_GROUP_IDENTIFIER = "$(AppIdentifierPrefix)$(BASE_BUNDLE_IDENTIFIER)"; KEYCHAIN_ACCESS_GROUP_IDENTIFIER = "$(DEVELOPMENT_TEAM).$(BASE_BUNDLE_IDENTIFIER)";
MACOSX_DEPLOYMENT_TARGET = 14.6; MACOSX_DEPLOYMENT_TARGET = 14.6;
MARKETING_VERSION = 25.03.2; MARKETING_VERSION = 25.03.2;
MTL_ENABLE_DEBUG_INFO = NO; MTL_ENABLE_DEBUG_INFO = NO;
@ -8220,7 +8220,7 @@
GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES; GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 17.6; IPHONEOS_DEPLOYMENT_TARGET = 17.6;
KEYCHAIN_ACCESS_GROUP_IDENTIFIER = "$(AppIdentifierPrefix)$(BASE_BUNDLE_IDENTIFIER)"; KEYCHAIN_ACCESS_GROUP_IDENTIFIER = "$(DEVELOPMENT_TEAM).$(BASE_BUNDLE_IDENTIFIER)";
MACOSX_DEPLOYMENT_TARGET = 14.6; MACOSX_DEPLOYMENT_TARGET = 14.6;
MARKETING_VERSION = 25.03.2; MARKETING_VERSION = 25.03.2;
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;

View File

@ -28,7 +28,7 @@
<true/> <true/>
<key>keychain-access-groups</key> <key>keychain-access-groups</key>
<array> <array>
<string>$(AppIdentifierPrefix)$(BASE_BUNDLE_IDENTIFIER)</string> <string>$(KEYCHAIN_ACCESS_GROUP_IDENTIFIER)</string>
</array> </array>
</dict> </dict>
</plist> </plist>

View File

@ -43,7 +43,7 @@ targets:
platform: iOS platform: iOS
info: info:
path: ../SupportingFiles/Info.plist path: Info.plist
properties: properties:
UILaunchScreen: UILaunchScreen:
UIColorName: colors/background-color UIColorName: colors/background-color
@ -106,6 +106,28 @@ targets:
LSItemContentTypes: $(PILLS_UT_TYPE_IDENTIFIER) LSItemContentTypes: $(PILLS_UT_TYPE_IDENTIFIER)
LSSupportsOpeningDocumentsInPlace: false LSSupportsOpeningDocumentsInPlace: false
entitlements:
path: ElementX.entitlements
properties:
aps-environment: development
com.apple.developer.associated-domains:
- applinks:element.io
- applinks:app.element.io
- applinks:staging.element.io
- applinks:develop.element.io
- applinks:mobile.element.io
- applinks:call.element.io
- applinks:call.element.dev
- applinks:matrix.to
- webcredentials:*.element.io
com.apple.developer.usernotifications.communication: true
com.apple.security.app-sandbox: true
com.apple.security.application-groups:
- $(APP_GROUP_IDENTIFIER)
com.apple.security.network.client: true
keychain-access-groups:
- $(KEYCHAIN_ACCESS_GROUP_IDENTIFIER)
settings: settings:
base: base:
PRODUCT_NAME: $(APP_NAME) PRODUCT_NAME: $(APP_NAME)
@ -114,7 +136,6 @@ targets:
CURRENT_PROJECT_VERSION: $(CURRENT_PROJECT_VERSION) CURRENT_PROJECT_VERSION: $(CURRENT_PROJECT_VERSION)
ASSETCATALOG_COMPILER_APPICON_NAME: AppIcon ASSETCATALOG_COMPILER_APPICON_NAME: AppIcon
DEVELOPMENT_TEAM: $(DEVELOPMENT_TEAM) DEVELOPMENT_TEAM: $(DEVELOPMENT_TEAM)
CODE_SIGN_ENTITLEMENTS: ElementX/SupportingFiles/ElementX.entitlements
SWIFT_OBJC_BRIDGING_HEADER: ElementX/SupportingFiles/ElementX-Bridging-Header.h SWIFT_OBJC_BRIDGING_HEADER: ElementX/SupportingFiles/ElementX-Bridging-Header.h
SWIFT_OBJC_INTERFACE_HEADER_NAME: GeneratedInterface-Swift.h SWIFT_OBJC_INTERFACE_HEADER_NAME: GeneratedInterface-Swift.h
PILLS_UT_TYPE_IDENTIFIER: $(BASE_BUNDLE_IDENTIFIER).pills PILLS_UT_TYPE_IDENTIFIER: $(BASE_BUNDLE_IDENTIFIER).pills
@ -185,8 +206,6 @@ targets:
dependencies: dependencies:
- target: NSE - target: NSE
- target: ShareExtension - target: ShareExtension
# not used yet
# - target: NCE
- package: MatrixRustSDK - package: MatrixRustSDK
embed: true embed: true
- package: Compound - package: Compound

@ -1 +1 @@
Subproject commit 731c7a7e34cd4005a2991d9b94a788d54bc7d3eb Subproject commit 86e0ea2f41df809d85ef3b51d8259760e0a4ee2c

View File

@ -1,21 +0,0 @@
//
// Copyright 2023, 2024 New Vector Ltd.
//
// SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial
// Please see LICENSE files in the repository root for full details.
//
import UIKit
import UserNotifications
import UserNotificationsUI
class NotificationViewController: UIViewController, UNNotificationContentExtension {
override func viewDidLoad() {
super.viewDidLoad()
// Do any required interface initialization here.
}
func didReceive(_ notification: UNNotification) {
// Handle the received push notification
}
}

View File

@ -1,44 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>$(DEVELOPMENT_LANGUAGE)</string>
<key>CFBundleDisplayName</key>
<string>$(PRODUCT_NAME)</string>
<key>CFBundleExecutable</key>
<string>$(EXECUTABLE_NAME)</string>
<key>CFBundleIdentifier</key>
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>$(PRODUCT_NAME)</string>
<key>CFBundlePackageType</key>
<string>XPC!</string>
<key>CFBundleShortVersionString</key>
<string>$(MARKETING_VERSION)</string>
<key>CFBundleVersion</key>
<string>$(CURRENT_PROJECT_VERSION)</string>
<key>NSExtension</key>
<dict>
<key>NSExtensionAttributes</key>
<dict>
<key>UNNotificationExtensionCategory</key>
<string>myNotificationCategory</string>
<key>UNNotificationExtensionInitialContentSizeRatio</key>
<integer>1</integer>
</dict>
<key>NSExtensionPointIdentifier</key>
<string>com.apple.usernotifications.content-extension</string>
<key>NSExtensionPrincipalClass</key>
<string>NCE.NotificationViewController</string>
</dict>
<key>appGroupIdentifier</key>
<string>$(APP_GROUP_IDENTIFIER)</string>
<key>baseBundleIdentifier</key>
<string>$(BASE_BUNDLE_IDENTIFIER)</string>
<key>keychainAccessGroupIdentifier</key>
<string>$(KEYCHAIN_ACCESS_GROUP_IDENTIFIER)</string>
</dict>
</plist>

View File

@ -1,66 +0,0 @@
name: NCE
schemes:
NCE:
analyze:
config: Debug
archive:
config: Release
build:
targets:
NCE:
- running
- testing
- profiling
- analyzing
- archiving
profile:
config: Release
run:
askForAppToLaunch: true
config: Debug
debugEnabled: false
disableMainThreadChecker: false
launchAutomaticallySubstyle: 2
test:
config: Debug
disableMainThreadChecker: false
targets:
NCE:
type: app-extension
platform: iOS
dependencies:
- package: MatrixRustSDK
info:
path: ../SupportingFiles/Info.plist
properties:
CFBundleDisplayName: $(PRODUCT_NAME)
CFBundleShortVersionString: $(MARKETING_VERSION)
CFBundleVersion: $(CURRENT_PROJECT_VERSION)
appGroupIdentifier: $(APP_GROUP_IDENTIFIER)
baseBundleIdentifier: $(BASE_BUNDLE_IDENTIFIER)
keychainAccessGroupIdentifier: $(KEYCHAIN_ACCESS_GROUP_IDENTIFIER)
NSExtension:
NSExtensionPointIdentifier: com.apple.usernotifications.content-extension
NSExtensionPrincipalClass: NCE.NotificationViewController
NSExtensionAttributes:
UNNotificationExtensionCategory: myNotificationCategory
UNNotificationExtensionInitialContentSizeRatio: 1
settings:
base:
PRODUCT_NAME: NCE
PRODUCT_BUNDLE_IDENTIFIER: ${BASE_BUNDLE_IDENTIFIER}.nce
MARKETING_VERSION: $(MARKETING_VERSION)
CURRENT_PROJECT_VERSION: $(CURRENT_PROJECT_VERSION)
DEVELOPMENT_TEAM: $(DEVELOPMENT_TEAM)
SWIFT_OBJC_INTERFACE_HEADER_NAME: GeneratedInterface-Swift.h
debug:
release:
sources:
- path: ../Sources
- path: ../SupportingFiles

View File

@ -10,7 +10,7 @@
</array> </array>
<key>keychain-access-groups</key> <key>keychain-access-groups</key>
<array> <array>
<string>$(AppIdentifierPrefix)$(BASE_BUNDLE_IDENTIFIER)</string> <string>$(KEYCHAIN_ACCESS_GROUP_IDENTIFIER)</string>
</array> </array>
</dict> </dict>
</plist> </plist>

View File

@ -43,7 +43,7 @@ targets:
- package: Version - package: Version
info: info:
path: ../SupportingFiles/Info.plist path: Info.plist
properties: properties:
CFBundleDisplayName: $(PRODUCT_DISPLAY_NAME) CFBundleDisplayName: $(PRODUCT_DISPLAY_NAME)
CFBundleShortVersionString: $(MARKETING_VERSION) CFBundleShortVersionString: $(MARKETING_VERSION)
@ -56,6 +56,15 @@ targets:
NSExtensionPointIdentifier: com.apple.usernotifications.service NSExtensionPointIdentifier: com.apple.usernotifications.service
NSExtensionPrincipalClass: $(PRODUCT_MODULE_NAME).NotificationServiceExtension NSExtensionPrincipalClass: $(PRODUCT_MODULE_NAME).NotificationServiceExtension
entitlements:
path: NSE.entitlements
properties:
com.apple.developer.usernotifications.filtering: true
com.apple.security.application-groups:
- $(APP_GROUP_IDENTIFIER)
keychain-access-groups:
- $(KEYCHAIN_ACCESS_GROUP_IDENTIFIER)
settings: settings:
base: base:
PRODUCT_NAME: NSE PRODUCT_NAME: NSE
@ -64,7 +73,6 @@ targets:
MARKETING_VERSION: $(MARKETING_VERSION) MARKETING_VERSION: $(MARKETING_VERSION)
CURRENT_PROJECT_VERSION: $(CURRENT_PROJECT_VERSION) CURRENT_PROJECT_VERSION: $(CURRENT_PROJECT_VERSION)
DEVELOPMENT_TEAM: $(DEVELOPMENT_TEAM) DEVELOPMENT_TEAM: $(DEVELOPMENT_TEAM)
CODE_SIGN_ENTITLEMENTS: NSE/SupportingFiles/NSE.entitlements
SWIFT_OBJC_INTERFACE_HEADER_NAME: GeneratedInterface-Swift.h SWIFT_OBJC_INTERFACE_HEADER_NAME: GeneratedInterface-Swift.h
OTHER_SWIFT_FLAGS: OTHER_SWIFT_FLAGS:
- "-DIS_NSE" - "-DIS_NSE"

View File

@ -37,7 +37,7 @@ targets:
- package: Compound - package: Compound
info: info:
path: ../SupportingFiles/Info.plist path: Info.plist
properties: properties:
CFBundleDisplayName: $(PRODUCT_DISPLAY_NAME) CFBundleDisplayName: $(PRODUCT_DISPLAY_NAME)
CFBundleShortVersionString: $(MARKETING_VERSION) CFBundleShortVersionString: $(MARKETING_VERSION)
@ -60,6 +60,12 @@ targets:
NSExtensionActivationSupportsText: true NSExtensionActivationSupportsText: true
NSExtensionActivationSupportsWebURLWithMaxCount: 1 NSExtensionActivationSupportsWebURLWithMaxCount: 1
entitlements:
path: ShareExtension.entitlements
properties:
com.apple.security.application-groups:
- $(APP_GROUP_IDENTIFIER)
settings: settings:
base: base:
PRODUCT_NAME: ShareExtension PRODUCT_NAME: ShareExtension
@ -68,7 +74,6 @@ targets:
MARKETING_VERSION: $(MARKETING_VERSION) MARKETING_VERSION: $(MARKETING_VERSION)
CURRENT_PROJECT_VERSION: $(CURRENT_PROJECT_VERSION) CURRENT_PROJECT_VERSION: $(CURRENT_PROJECT_VERSION)
DEVELOPMENT_TEAM: $(DEVELOPMENT_TEAM) DEVELOPMENT_TEAM: $(DEVELOPMENT_TEAM)
CODE_SIGN_ENTITLEMENTS: ShareExtension/SupportingFiles/ShareExtension.entitlements
sources: sources:
- path: ../Sources - path: ../Sources

View File

@ -40,7 +40,7 @@ settings:
ENABLE_BITCODE: false ENABLE_BITCODE: false
APP_GROUP_IDENTIFIER: group.$(BASE_APP_GROUP_IDENTIFIER) APP_GROUP_IDENTIFIER: group.$(BASE_APP_GROUP_IDENTIFIER)
APP_NAME: ElementX APP_NAME: ElementX
KEYCHAIN_ACCESS_GROUP_IDENTIFIER: "$(AppIdentifierPrefix)$(BASE_BUNDLE_IDENTIFIER)" KEYCHAIN_ACCESS_GROUP_IDENTIFIER: "$(DEVELOPMENT_TEAM).$(BASE_BUNDLE_IDENTIFIER)"
MARKETING_VERSION: 25.03.2 MARKETING_VERSION: 25.03.2
CURRENT_PROJECT_VERSION: 1 CURRENT_PROJECT_VERSION: 1
SUPPORTS_MACCATALYST: false SUPPORTS_MACCATALYST: false
@ -54,7 +54,6 @@ include:
- path: IntegrationTests/SupportingFiles/target.yml - path: IntegrationTests/SupportingFiles/target.yml
- path: NSE/SupportingFiles/target.yml - path: NSE/SupportingFiles/target.yml
- path: ShareExtension/SupportingFiles/target.yml - path: ShareExtension/SupportingFiles/target.yml
# - path: NCE/SupportingFiles/target.yml (not used yet)
# - path: MyAppVariant/override.yml # - path: MyAppVariant/override.yml
packages: packages: