diff --git a/example/ios/Podfile b/example/ios/Podfile index 1080ed8..bc05e06 100644 --- a/example/ios/Podfile +++ b/example/ios/Podfile @@ -34,6 +34,24 @@ target 'SampleAppFlutter' do flutter_install_all_ios_pods File.dirname(File.realpath(__FILE__)) end +target 'SyneriseNotificationServiceExtension' do + + pod 'SyneriseSDK', '4.13.1' + +end + +target 'SyneriseSingleMediaNotificationContentExtension' do + + pod 'SyneriseSDK', '4.13.1' + +end + +target 'SyneriseCarouselNotificationContentExtension' do + + pod 'SyneriseSDK', '4.13.1' + +end + post_install do |installer| installer.pods_project.targets.each do |target| flutter_additional_ios_build_settings(target) diff --git a/example/ios/Podfile.lock b/example/ios/Podfile.lock index 908d92d..7bdf725 100644 --- a/example/ios/Podfile.lock +++ b/example/ios/Podfile.lock @@ -42,9 +42,9 @@ PODS: - FirebaseCoreInternal (~> 10.0) - GoogleUtilities/Environment (~> 7.8) - GoogleUtilities/Logger (~> 7.8) - - FirebaseCoreInternal (10.6.0): + - FirebaseCoreInternal (10.11.0): - "GoogleUtilities/NSData+zlib (~> 7.8)" - - FirebaseInstallations (10.6.0): + - FirebaseInstallations (10.11.0): - FirebaseCore (~> 10.0) - GoogleUtilities/Environment (~> 7.8) - GoogleUtilities/UserDefaults (~> 7.8) @@ -79,28 +79,28 @@ PODS: - GoogleUtilities/Network (~> 7.8) - "GoogleUtilities/NSData+zlib (~> 7.8)" - nanopb (< 2.30910.0, >= 2.30908.0) - - GoogleDataTransport (9.2.1): + - GoogleDataTransport (9.2.3): - GoogleUtilities/Environment (~> 7.7) - nanopb (< 2.30910.0, >= 2.30908.0) - PromisesObjC (< 3.0, >= 1.2) - - GoogleUtilities/AppDelegateSwizzler (7.11.0): + - GoogleUtilities/AppDelegateSwizzler (7.11.1): - GoogleUtilities/Environment - GoogleUtilities/Logger - GoogleUtilities/Network - - GoogleUtilities/Environment (7.11.0): + - GoogleUtilities/Environment (7.11.1): - PromisesObjC (< 3.0, >= 1.2) - - GoogleUtilities/Logger (7.11.0): + - GoogleUtilities/Logger (7.11.1): - GoogleUtilities/Environment - - GoogleUtilities/MethodSwizzler (7.11.0): + - GoogleUtilities/MethodSwizzler (7.11.1): - GoogleUtilities/Logger - - GoogleUtilities/Network (7.11.0): + - GoogleUtilities/Network (7.11.1): - GoogleUtilities/Logger - "GoogleUtilities/NSData+zlib" - GoogleUtilities/Reachability - - "GoogleUtilities/NSData+zlib (7.11.0)" - - GoogleUtilities/Reachability (7.11.0): + - "GoogleUtilities/NSData+zlib (7.11.1)" + - GoogleUtilities/Reachability (7.11.1): - GoogleUtilities/Logger - - GoogleUtilities/UserDefaults (7.11.0): + - GoogleUtilities/UserDefaults (7.11.1): - GoogleUtilities/Logger - nanopb (2.30909.0): - nanopb/decode (= 2.30909.0) @@ -108,7 +108,7 @@ PODS: - nanopb/decode (2.30909.0) - nanopb/encode (2.30909.0) - PromisesObjC (2.2.0) - - synerise_flutter_sdk (0.6.0): + - synerise_flutter_sdk (0.6.2): - Flutter - SyneriseSDK (= 4.13.1) - SyneriseSDK (4.13.1) @@ -119,6 +119,7 @@ DEPENDENCIES: - firebase_messaging (from `.symlinks/plugins/firebase_messaging/ios`) - Flutter (from `Flutter`) - synerise_flutter_sdk (from `.symlinks/plugins/synerise_flutter_sdk/ios`) + - SyneriseSDK (= 4.13.1) SPEC REPOS: trunk: @@ -154,18 +155,18 @@ SPEC CHECKSUMS: firebase_messaging: 8ac28baba96e69a58ad26b4bb5f9ee67c3e5efe2 FirebaseAnalytics: 036232b6a1e2918e5f67572417be1173576245f3 FirebaseCore: 988754646ab3bd4bdcb740f1bfe26b9f6c0d5f2a - FirebaseCoreInternal: c7cd505e2136811096b225ac388d6254a2622362 - FirebaseInstallations: 13dde135fa0524e15bddb133ccc8465c53a1b3f3 + FirebaseCoreInternal: 9e46c82a14a3b3a25be4e1e151ce6d21536b89c0 + FirebaseInstallations: 2a2c6859354cbec0a228a863d4daf6de7c74ced4 FirebaseMessaging: e345b219fd15d325f0cf2fef28cb8ce00d851b3f Flutter: f04841e97a9d0b0a8025694d0796dd46242b2854 GoogleAppMeasurement: c7d6fff39bf2d829587d74088d582e32d75133c3 - GoogleDataTransport: ea169759df570f4e37bdee1623ec32a7e64e67c4 - GoogleUtilities: c2bdc4cf2ce786c4d2e6b3bcfd599a25ca78f06f + GoogleDataTransport: f0308f5905a745f94fb91fea9c6cbaf3831cb1bd + GoogleUtilities: 9aa0ad5a7bc171f8bae016300bfcfa3fb8425749 nanopb: b552cce312b6c8484180ef47159bc0f65a1f0431 PromisesObjC: 09985d6d70fbe7878040aa746d78236e6946d2ef - synerise_flutter_sdk: 7b390468eaa1370d1feaa791e04214e1266b0d5b + synerise_flutter_sdk: 3bf373dedd3c8029df803e684d030e102d8c242d SyneriseSDK: 811c9cad83d986a1ad0bac1826c6c0fb1fc9fe35 -PODFILE CHECKSUM: b602315bb3a87d075487d5bf49aca41dbe87716b +PODFILE CHECKSUM: d4b311433acbfaca5931fa80e48619297945167e COCOAPODS: 1.11.3 diff --git a/example/ios/Runner.xcodeproj/project.pbxproj b/example/ios/Runner.xcodeproj/project.pbxproj index d7f476d..cbcb68f 100644 --- a/example/ios/Runner.xcodeproj/project.pbxproj +++ b/example/ios/Runner.xcodeproj/project.pbxproj @@ -10,14 +10,51 @@ 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; }; 24411CCD5DD9605634220312 /* Pods_SampleAppFlutter.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E09DD92A01636B2D05B4C6F2 /* Pods_SampleAppFlutter.framework */; }; 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; }; + 51C604A4CBA684049F175A12 /* Pods_SyneriseNotificationServiceExtension.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DE6F239ACC01509AA7C902CC /* Pods_SyneriseNotificationServiceExtension.framework */; }; + 89FE843AC4741A9B7B19A81D /* Pods_SyneriseSingleMediaNotificationContentExtension.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6093934B39D7CD3B91253C13 /* Pods_SyneriseSingleMediaNotificationContentExtension.framework */; }; 8CA4C72129A7667600744EB7 /* GoogleService-Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = 8CA4C72029A7667500744EB7 /* GoogleService-Info.plist */; }; 978B8F6F1D3862AE00F588F7 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 7AFFD8EE1D35381100E5BB4D /* AppDelegate.m */; }; 97C146F31CF9000F007C117D /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 97C146F21CF9000F007C117D /* main.m */; }; 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; }; 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; }; 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */; }; + B6788AEF93B8B05A15FF4E3B /* Pods_SyneriseCarouselNotificationContentExtension.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 53C5FFB495FA90C93A4B8245 /* Pods_SyneriseCarouselNotificationContentExtension.framework */; }; + C1921F562A4D8C480010BC77 /* NotificationService.swift in Sources */ = {isa = PBXBuildFile; fileRef = C1921F552A4D8C480010BC77 /* NotificationService.swift */; }; + C1921F5A2A4D8C480010BC77 /* SyneriseNotificationServiceExtension.appex in Embed Foundation Extensions */ = {isa = PBXBuildFile; fileRef = C1921F532A4D8C480010BC77 /* SyneriseNotificationServiceExtension.appex */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; }; + C1921F662A4D8C720010BC77 /* UserNotifications.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C1921F652A4D8C710010BC77 /* UserNotifications.framework */; }; + C1921F682A4D8C720010BC77 /* UserNotificationsUI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C1921F672A4D8C720010BC77 /* UserNotificationsUI.framework */; }; + C1921F6B2A4D8C720010BC77 /* NotificationViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = C1921F6A2A4D8C720010BC77 /* NotificationViewController.swift */; }; + C1921F722A4D8C720010BC77 /* SyneriseSingleMediaNotificationContentExtension.appex in Embed Foundation Extensions */ = {isa = PBXBuildFile; fileRef = C1921F642A4D8C710010BC77 /* SyneriseSingleMediaNotificationContentExtension.appex */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; }; + C1921F7C2A4D8C840010BC77 /* UserNotifications.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C1921F652A4D8C710010BC77 /* UserNotifications.framework */; }; + C1921F7D2A4D8C840010BC77 /* UserNotificationsUI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C1921F672A4D8C720010BC77 /* UserNotificationsUI.framework */; }; + C1921F802A4D8C840010BC77 /* NotificationViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = C1921F7F2A4D8C840010BC77 /* NotificationViewController.swift */; }; + C1921F872A4D8C840010BC77 /* SyneriseCarouselNotificationContentExtension.appex in Embed Foundation Extensions */ = {isa = PBXBuildFile; fileRef = C1921F7B2A4D8C840010BC77 /* SyneriseCarouselNotificationContentExtension.appex */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; }; /* End PBXBuildFile section */ +/* Begin PBXContainerItemProxy section */ + C1921F582A4D8C480010BC77 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 97C146E61CF9000F007C117D /* Project object */; + proxyType = 1; + remoteGlobalIDString = C1921F522A4D8C480010BC77; + remoteInfo = SyneriseNotificationServiceExtension; + }; + C1921F702A4D8C720010BC77 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 97C146E61CF9000F007C117D /* Project object */; + proxyType = 1; + remoteGlobalIDString = C1921F632A4D8C710010BC77; + remoteInfo = SyneriseSingleMediaNotificationContentExtension; + }; + C1921F852A4D8C840010BC77 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 97C146E61CF9000F007C117D /* Project object */; + proxyType = 1; + remoteGlobalIDString = C1921F7A2A4D8C840010BC77; + remoteInfo = SyneriseCarouselNotificationContentExtension; + }; +/* End PBXContainerItemProxy section */ + /* Begin PBXCopyFilesBuildPhase section */ 9705A1C41CF9048500538489 /* Embed Frameworks */ = { isa = PBXCopyFilesBuildPhase; @@ -29,19 +66,38 @@ name = "Embed Frameworks"; runOnlyForDeploymentPostprocessing = 0; }; + C1921F5B2A4D8C480010BC77 /* Embed Foundation Extensions */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = ""; + dstSubfolderSpec = 13; + files = ( + C1921F872A4D8C840010BC77 /* SyneriseCarouselNotificationContentExtension.appex in Embed Foundation Extensions */, + C1921F722A4D8C720010BC77 /* SyneriseSingleMediaNotificationContentExtension.appex in Embed Foundation Extensions */, + C1921F5A2A4D8C480010BC77 /* SyneriseNotificationServiceExtension.appex in Embed Foundation Extensions */, + ); + name = "Embed Foundation Extensions"; + runOnlyForDeploymentPostprocessing = 0; + }; /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ + 047E607475B380E0680C7ECA /* Pods-SyneriseNotificationServiceExtension.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-SyneriseNotificationServiceExtension.profile.xcconfig"; path = "Target Support Files/Pods-SyneriseNotificationServiceExtension/Pods-SyneriseNotificationServiceExtension.profile.xcconfig"; sourceTree = ""; }; 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GeneratedPluginRegistrant.h; sourceTree = ""; }; 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = ""; }; + 25DB88858CAC8D8C69909664 /* Pods-SyneriseSingleMediaNotificationContentExtension.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-SyneriseSingleMediaNotificationContentExtension.profile.xcconfig"; path = "Target Support Files/Pods-SyneriseSingleMediaNotificationContentExtension/Pods-SyneriseSingleMediaNotificationContentExtension.profile.xcconfig"; sourceTree = ""; }; 2837C9F3E9C806D3EE660E5C /* Pods-SampleAppFlutter.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-SampleAppFlutter.profile.xcconfig"; path = "Target Support Files/Pods-SampleAppFlutter/Pods-SampleAppFlutter.profile.xcconfig"; sourceTree = ""; }; 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = ""; }; + 53C5FFB495FA90C93A4B8245 /* Pods_SyneriseCarouselNotificationContentExtension.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_SyneriseCarouselNotificationContentExtension.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 6093934B39D7CD3B91253C13 /* Pods_SyneriseSingleMediaNotificationContentExtension.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_SyneriseSingleMediaNotificationContentExtension.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 7ABA2F78B5D946F97B520DF5 /* Pods-SampleAppFlutter.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-SampleAppFlutter.release.xcconfig"; path = "Target Support Files/Pods-SampleAppFlutter/Pods-SampleAppFlutter.release.xcconfig"; sourceTree = ""; }; 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = ""; }; 7AFFD8ED1D35381100E5BB4D /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = ""; }; 7AFFD8EE1D35381100E5BB4D /* AppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = ""; }; + 7C6C0238D5EA09AA60854E3E /* Pods-SyneriseSingleMediaNotificationContentExtension.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-SyneriseSingleMediaNotificationContentExtension.release.xcconfig"; path = "Target Support Files/Pods-SyneriseSingleMediaNotificationContentExtension/Pods-SyneriseSingleMediaNotificationContentExtension.release.xcconfig"; sourceTree = ""; }; 8CA4C72029A7667500744EB7 /* GoogleService-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "GoogleService-Info.plist"; sourceTree = ""; }; 8CA4C72229A767CA00744EB7 /* SampleAppFlutter.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = SampleAppFlutter.entitlements; sourceTree = ""; }; + 91B25D7EE0498202DE1B0D59 /* Pods-SyneriseNotificationServiceExtension.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-SyneriseNotificationServiceExtension.debug.xcconfig"; path = "Target Support Files/Pods-SyneriseNotificationServiceExtension/Pods-SyneriseNotificationServiceExtension.debug.xcconfig"; sourceTree = ""; }; 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Debug.xcconfig; path = Flutter/Debug.xcconfig; sourceTree = ""; }; 9740EEB31CF90195004384FC /* Generated.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Generated.xcconfig; path = Flutter/Generated.xcconfig; sourceTree = ""; }; 97C146EE1CF9000F007C117D /* SampleAppFlutter.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = SampleAppFlutter.app; sourceTree = BUILT_PRODUCTS_DIR; }; @@ -50,8 +106,28 @@ 97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; 97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; 97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + AC1A0860CEBCF75F6D05BD42 /* Pods-SyneriseCarouselNotificationContentExtension.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-SyneriseCarouselNotificationContentExtension.release.xcconfig"; path = "Target Support Files/Pods-SyneriseCarouselNotificationContentExtension/Pods-SyneriseCarouselNotificationContentExtension.release.xcconfig"; sourceTree = ""; }; + C1921F532A4D8C480010BC77 /* SyneriseNotificationServiceExtension.appex */ = {isa = PBXFileReference; explicitFileType = "wrapper.app-extension"; includeInIndex = 0; path = SyneriseNotificationServiceExtension.appex; sourceTree = BUILT_PRODUCTS_DIR; }; + C1921F552A4D8C480010BC77 /* NotificationService.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NotificationService.swift; sourceTree = ""; }; + C1921F572A4D8C480010BC77 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + C1921F642A4D8C710010BC77 /* SyneriseSingleMediaNotificationContentExtension.appex */ = {isa = PBXFileReference; explicitFileType = "wrapper.app-extension"; includeInIndex = 0; path = SyneriseSingleMediaNotificationContentExtension.appex; sourceTree = BUILT_PRODUCTS_DIR; }; + C1921F652A4D8C710010BC77 /* UserNotifications.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UserNotifications.framework; path = System/Library/Frameworks/UserNotifications.framework; sourceTree = SDKROOT; }; + C1921F672A4D8C720010BC77 /* UserNotificationsUI.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UserNotificationsUI.framework; path = System/Library/Frameworks/UserNotificationsUI.framework; sourceTree = SDKROOT; }; + C1921F6A2A4D8C720010BC77 /* NotificationViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NotificationViewController.swift; sourceTree = ""; }; + C1921F6F2A4D8C720010BC77 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + C1921F7B2A4D8C840010BC77 /* SyneriseCarouselNotificationContentExtension.appex */ = {isa = PBXFileReference; explicitFileType = "wrapper.app-extension"; includeInIndex = 0; path = SyneriseCarouselNotificationContentExtension.appex; sourceTree = BUILT_PRODUCTS_DIR; }; + C1921F7F2A4D8C840010BC77 /* NotificationViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NotificationViewController.swift; sourceTree = ""; }; + C1921F842A4D8C840010BC77 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + C1921F8C2A4D8E120010BC77 /* SyneriseNotificationServiceExtension.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = SyneriseNotificationServiceExtension.entitlements; sourceTree = ""; }; + C1921F8D2A4D8E1A0010BC77 /* SyneriseSingleMediaNotificationContentExtension.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = SyneriseSingleMediaNotificationContentExtension.entitlements; sourceTree = ""; }; + C1921F8E2A4D8E220010BC77 /* SyneriseCarouselNotificationContentExtension.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = SyneriseCarouselNotificationContentExtension.entitlements; sourceTree = ""; }; + C4C97953EDD173384C58DCCE /* Pods-SyneriseCarouselNotificationContentExtension.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-SyneriseCarouselNotificationContentExtension.profile.xcconfig"; path = "Target Support Files/Pods-SyneriseCarouselNotificationContentExtension/Pods-SyneriseCarouselNotificationContentExtension.profile.xcconfig"; sourceTree = ""; }; CE993AC9579DFEEB48821782 /* Pods-SampleAppFlutter.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-SampleAppFlutter.debug.xcconfig"; path = "Target Support Files/Pods-SampleAppFlutter/Pods-SampleAppFlutter.debug.xcconfig"; sourceTree = ""; }; + D3913C84F955788D3E76E941 /* Pods-SyneriseNotificationServiceExtension.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-SyneriseNotificationServiceExtension.release.xcconfig"; path = "Target Support Files/Pods-SyneriseNotificationServiceExtension/Pods-SyneriseNotificationServiceExtension.release.xcconfig"; sourceTree = ""; }; + DE6F239ACC01509AA7C902CC /* Pods_SyneriseNotificationServiceExtension.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_SyneriseNotificationServiceExtension.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + DF3268BDD1BF9F523EB6C42C /* Pods-SyneriseCarouselNotificationContentExtension.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-SyneriseCarouselNotificationContentExtension.debug.xcconfig"; path = "Target Support Files/Pods-SyneriseCarouselNotificationContentExtension/Pods-SyneriseCarouselNotificationContentExtension.debug.xcconfig"; sourceTree = ""; }; E09DD92A01636B2D05B4C6F2 /* Pods_SampleAppFlutter.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_SampleAppFlutter.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + E1BDB03E3ADBB65A94C6A928 /* Pods-SyneriseSingleMediaNotificationContentExtension.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-SyneriseSingleMediaNotificationContentExtension.debug.xcconfig"; path = "Target Support Files/Pods-SyneriseSingleMediaNotificationContentExtension/Pods-SyneriseSingleMediaNotificationContentExtension.debug.xcconfig"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -63,6 +139,34 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + C1921F502A4D8C480010BC77 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 51C604A4CBA684049F175A12 /* Pods_SyneriseNotificationServiceExtension.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + C1921F612A4D8C710010BC77 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + C1921F682A4D8C720010BC77 /* UserNotificationsUI.framework in Frameworks */, + C1921F662A4D8C720010BC77 /* UserNotifications.framework in Frameworks */, + 89FE843AC4741A9B7B19A81D /* Pods_SyneriseSingleMediaNotificationContentExtension.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + C1921F782A4D8C840010BC77 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + C1921F7D2A4D8C840010BC77 /* UserNotificationsUI.framework in Frameworks */, + C1921F7C2A4D8C840010BC77 /* UserNotifications.framework in Frameworks */, + B6788AEF93B8B05A15FF4E3B /* Pods_SyneriseCarouselNotificationContentExtension.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ @@ -72,6 +176,15 @@ CE993AC9579DFEEB48821782 /* Pods-SampleAppFlutter.debug.xcconfig */, 7ABA2F78B5D946F97B520DF5 /* Pods-SampleAppFlutter.release.xcconfig */, 2837C9F3E9C806D3EE660E5C /* Pods-SampleAppFlutter.profile.xcconfig */, + DF3268BDD1BF9F523EB6C42C /* Pods-SyneriseCarouselNotificationContentExtension.debug.xcconfig */, + AC1A0860CEBCF75F6D05BD42 /* Pods-SyneriseCarouselNotificationContentExtension.release.xcconfig */, + C4C97953EDD173384C58DCCE /* Pods-SyneriseCarouselNotificationContentExtension.profile.xcconfig */, + 91B25D7EE0498202DE1B0D59 /* Pods-SyneriseNotificationServiceExtension.debug.xcconfig */, + D3913C84F955788D3E76E941 /* Pods-SyneriseNotificationServiceExtension.release.xcconfig */, + 047E607475B380E0680C7ECA /* Pods-SyneriseNotificationServiceExtension.profile.xcconfig */, + E1BDB03E3ADBB65A94C6A928 /* Pods-SyneriseSingleMediaNotificationContentExtension.debug.xcconfig */, + 7C6C0238D5EA09AA60854E3E /* Pods-SyneriseSingleMediaNotificationContentExtension.release.xcconfig */, + 25DB88858CAC8D8C69909664 /* Pods-SyneriseSingleMediaNotificationContentExtension.profile.xcconfig */, ); path = Pods; sourceTree = ""; @@ -93,6 +206,9 @@ 8CA4C72229A767CA00744EB7 /* SampleAppFlutter.entitlements */, 9740EEB11CF90186004384FC /* Flutter */, 97C146F01CF9000F007C117D /* Runner */, + C1921F542A4D8C480010BC77 /* SyneriseNotificationServiceExtension */, + C1921F692A4D8C720010BC77 /* SyneriseSingleMediaNotificationContentExtension */, + C1921F7E2A4D8C840010BC77 /* SyneriseCarouselNotificationContentExtension */, 97C146EF1CF9000F007C117D /* Products */, 4D9C109DDA251F75A03AF6AD /* Pods */, C69285383ECF3044A16315B6 /* Frameworks */, @@ -103,6 +219,9 @@ isa = PBXGroup; children = ( 97C146EE1CF9000F007C117D /* SampleAppFlutter.app */, + C1921F532A4D8C480010BC77 /* SyneriseNotificationServiceExtension.appex */, + C1921F642A4D8C710010BC77 /* SyneriseSingleMediaNotificationContentExtension.appex */, + C1921F7B2A4D8C840010BC77 /* SyneriseCarouselNotificationContentExtension.appex */, ); name = Products; sourceTree = ""; @@ -132,10 +251,45 @@ name = "Supporting Files"; sourceTree = ""; }; + C1921F542A4D8C480010BC77 /* SyneriseNotificationServiceExtension */ = { + isa = PBXGroup; + children = ( + C1921F8C2A4D8E120010BC77 /* SyneriseNotificationServiceExtension.entitlements */, + C1921F552A4D8C480010BC77 /* NotificationService.swift */, + C1921F572A4D8C480010BC77 /* Info.plist */, + ); + path = SyneriseNotificationServiceExtension; + sourceTree = ""; + }; + C1921F692A4D8C720010BC77 /* SyneriseSingleMediaNotificationContentExtension */ = { + isa = PBXGroup; + children = ( + C1921F8D2A4D8E1A0010BC77 /* SyneriseSingleMediaNotificationContentExtension.entitlements */, + C1921F6A2A4D8C720010BC77 /* NotificationViewController.swift */, + C1921F6F2A4D8C720010BC77 /* Info.plist */, + ); + path = SyneriseSingleMediaNotificationContentExtension; + sourceTree = ""; + }; + C1921F7E2A4D8C840010BC77 /* SyneriseCarouselNotificationContentExtension */ = { + isa = PBXGroup; + children = ( + C1921F8E2A4D8E220010BC77 /* SyneriseCarouselNotificationContentExtension.entitlements */, + C1921F7F2A4D8C840010BC77 /* NotificationViewController.swift */, + C1921F842A4D8C840010BC77 /* Info.plist */, + ); + path = SyneriseCarouselNotificationContentExtension; + sourceTree = ""; + }; C69285383ECF3044A16315B6 /* Frameworks */ = { isa = PBXGroup; children = ( E09DD92A01636B2D05B4C6F2 /* Pods_SampleAppFlutter.framework */, + C1921F652A4D8C710010BC77 /* UserNotifications.framework */, + C1921F672A4D8C720010BC77 /* UserNotificationsUI.framework */, + 53C5FFB495FA90C93A4B8245 /* Pods_SyneriseCarouselNotificationContentExtension.framework */, + DE6F239ACC01509AA7C902CC /* Pods_SyneriseNotificationServiceExtension.framework */, + 6093934B39D7CD3B91253C13 /* Pods_SyneriseSingleMediaNotificationContentExtension.framework */, ); name = Frameworks; sourceTree = ""; @@ -155,28 +309,96 @@ 9705A1C41CF9048500538489 /* Embed Frameworks */, 3B06AD1E1E4923F5004D2608 /* Thin Binary */, CFF671147B6D29CE576792BF /* [CP] Embed Pods Frameworks */, + C1921F5B2A4D8C480010BC77 /* Embed Foundation Extensions */, ); buildRules = ( ); dependencies = ( + C1921F592A4D8C480010BC77 /* PBXTargetDependency */, + C1921F712A4D8C720010BC77 /* PBXTargetDependency */, + C1921F862A4D8C840010BC77 /* PBXTargetDependency */, ); name = SampleAppFlutter; productName = Runner; productReference = 97C146EE1CF9000F007C117D /* SampleAppFlutter.app */; productType = "com.apple.product-type.application"; }; + C1921F522A4D8C480010BC77 /* SyneriseNotificationServiceExtension */ = { + isa = PBXNativeTarget; + buildConfigurationList = C1921F5F2A4D8C480010BC77 /* Build configuration list for PBXNativeTarget "SyneriseNotificationServiceExtension" */; + buildPhases = ( + 517AA2554E897C89EC48C1E9 /* [CP] Check Pods Manifest.lock */, + C1921F4F2A4D8C480010BC77 /* Sources */, + C1921F502A4D8C480010BC77 /* Frameworks */, + C1921F512A4D8C480010BC77 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = SyneriseNotificationServiceExtension; + productName = SyneriseNotificationServiceExtension; + productReference = C1921F532A4D8C480010BC77 /* SyneriseNotificationServiceExtension.appex */; + productType = "com.apple.product-type.app-extension"; + }; + C1921F632A4D8C710010BC77 /* SyneriseSingleMediaNotificationContentExtension */ = { + isa = PBXNativeTarget; + buildConfigurationList = C1921F732A4D8C720010BC77 /* Build configuration list for PBXNativeTarget "SyneriseSingleMediaNotificationContentExtension" */; + buildPhases = ( + C54D38ECC2FEE21906E78C3A /* [CP] Check Pods Manifest.lock */, + C1921F602A4D8C710010BC77 /* Sources */, + C1921F612A4D8C710010BC77 /* Frameworks */, + C1921F622A4D8C710010BC77 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = SyneriseSingleMediaNotificationContentExtension; + productName = SyneriseSingleMediaNotificationContentExtension; + productReference = C1921F642A4D8C710010BC77 /* SyneriseSingleMediaNotificationContentExtension.appex */; + productType = "com.apple.product-type.app-extension"; + }; + C1921F7A2A4D8C840010BC77 /* SyneriseCarouselNotificationContentExtension */ = { + isa = PBXNativeTarget; + buildConfigurationList = C1921F882A4D8C850010BC77 /* Build configuration list for PBXNativeTarget "SyneriseCarouselNotificationContentExtension" */; + buildPhases = ( + 36B1F23241D413282D975FE8 /* [CP] Check Pods Manifest.lock */, + C1921F772A4D8C840010BC77 /* Sources */, + C1921F782A4D8C840010BC77 /* Frameworks */, + C1921F792A4D8C840010BC77 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = SyneriseCarouselNotificationContentExtension; + productName = SyneriseCarouselNotificationContentExtension; + productReference = C1921F7B2A4D8C840010BC77 /* SyneriseCarouselNotificationContentExtension.appex */; + productType = "com.apple.product-type.app-extension"; + }; /* End PBXNativeTarget section */ /* Begin PBXProject section */ 97C146E61CF9000F007C117D /* Project object */ = { isa = PBXProject; attributes = { + LastSwiftUpdateCheck = 1430; LastUpgradeCheck = 1300; ORGANIZATIONNAME = ""; TargetAttributes = { 97C146ED1CF9000F007C117D = { CreatedOnToolsVersion = 7.3.1; }; + C1921F522A4D8C480010BC77 = { + CreatedOnToolsVersion = 14.3; + }; + C1921F632A4D8C710010BC77 = { + CreatedOnToolsVersion = 14.3; + }; + C1921F7A2A4D8C840010BC77 = { + CreatedOnToolsVersion = 14.3; + }; }; }; buildConfigurationList = 97C146E91CF9000F007C117D /* Build configuration list for PBXProject "Runner" */; @@ -193,6 +415,9 @@ projectRoot = ""; targets = ( 97C146ED1CF9000F007C117D /* SampleAppFlutter */, + C1921F522A4D8C480010BC77 /* SyneriseNotificationServiceExtension */, + C1921F632A4D8C710010BC77 /* SyneriseSingleMediaNotificationContentExtension */, + C1921F7A2A4D8C840010BC77 /* SyneriseCarouselNotificationContentExtension */, ); }; /* End PBXProject section */ @@ -210,9 +435,52 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + C1921F512A4D8C480010BC77 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + C1921F622A4D8C710010BC77 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + C1921F792A4D8C840010BC77 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ + 36B1F23241D413282D975FE8 /* [CP] Check Pods Manifest.lock */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; + outputFileListPaths = ( + ); + outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-SyneriseCarouselNotificationContentExtension-checkManifestLockResult.txt", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + showEnvVarsInLog = 0; + }; 3B06AD1E1E4923F5004D2608 /* Thin Binary */ = { isa = PBXShellScriptBuildPhase; alwaysOutOfDate = 1; @@ -228,6 +496,28 @@ shellPath = /bin/sh; shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin\n"; }; + 517AA2554E897C89EC48C1E9 /* [CP] Check Pods Manifest.lock */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; + outputFileListPaths = ( + ); + outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-SyneriseNotificationServiceExtension-checkManifestLockResult.txt", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + showEnvVarsInLog = 0; + }; 9740EEB61CF901F6004384FC /* Run Script */ = { isa = PBXShellScriptBuildPhase; alwaysOutOfDate = 1; @@ -243,6 +533,28 @@ shellPath = /bin/sh; shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build"; }; + C54D38ECC2FEE21906E78C3A /* [CP] Check Pods Manifest.lock */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; + outputFileListPaths = ( + ); + outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-SyneriseSingleMediaNotificationContentExtension-checkManifestLockResult.txt", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + showEnvVarsInLog = 0; + }; CF499F4CDF0E989D16F3C8BC /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; @@ -295,8 +607,50 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + C1921F4F2A4D8C480010BC77 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + C1921F562A4D8C480010BC77 /* NotificationService.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + C1921F602A4D8C710010BC77 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + C1921F6B2A4D8C720010BC77 /* NotificationViewController.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + C1921F772A4D8C840010BC77 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + C1921F802A4D8C840010BC77 /* NotificationViewController.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; /* End PBXSourcesBuildPhase section */ +/* Begin PBXTargetDependency section */ + C1921F592A4D8C480010BC77 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = C1921F522A4D8C480010BC77 /* SyneriseNotificationServiceExtension */; + targetProxy = C1921F582A4D8C480010BC77 /* PBXContainerItemProxy */; + }; + C1921F712A4D8C720010BC77 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = C1921F632A4D8C710010BC77 /* SyneriseSingleMediaNotificationContentExtension */; + targetProxy = C1921F702A4D8C720010BC77 /* PBXContainerItemProxy */; + }; + C1921F862A4D8C840010BC77 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = C1921F7A2A4D8C840010BC77 /* SyneriseCarouselNotificationContentExtension */; + targetProxy = C1921F852A4D8C840010BC77 /* PBXContainerItemProxy */; + }; +/* End PBXTargetDependency section */ + /* Begin PBXVariantGroup section */ 97C146FA1CF9000F007C117D /* Main.storyboard */ = { isa = PBXVariantGroup; @@ -371,22 +725,26 @@ isa = XCBuildConfiguration; baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CODE_SIGN_ENTITLEMENTS = SampleAppFlutter.entitlements; CODE_SIGN_IDENTITY = "Apple Development"; - CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 1; - DEVELOPMENT_TEAM = 34N2Z22TKH; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + CODE_SIGN_STYLE = Manual; + CURRENT_PROJECT_VERSION = 4; + DEVELOPMENT_TEAM = ""; + "DEVELOPMENT_TEAM[sdk=iphoneos*]" = 34N2Z22TKH; ENABLE_BITCODE = NO; INFOPLIST_FILE = Runner/Info.plist; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", ); - MARKETING_VERSION = 0.6.0; + MARKETING_VERSION = 0.6.2; PRODUCT_BUNDLE_IDENTIFIER = "com.synerise.sdk.sample-flutter"; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE_SPECIFIER = ""; + "PROVISIONING_PROFILE_SPECIFIER[sdk=iphoneos*]" = "Sample App Flutter Dev"; VERSIONING_SYSTEM = "apple-generic"; }; name = Profile; @@ -500,22 +858,26 @@ isa = XCBuildConfiguration; baseConfigurationReference = 9740EEB21CF90195004384FC /* Debug.xcconfig */; buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CODE_SIGN_ENTITLEMENTS = SampleAppFlutter.entitlements; CODE_SIGN_IDENTITY = "Apple Development"; - CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 1; - DEVELOPMENT_TEAM = 34N2Z22TKH; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + CODE_SIGN_STYLE = Manual; + CURRENT_PROJECT_VERSION = 4; + DEVELOPMENT_TEAM = ""; + "DEVELOPMENT_TEAM[sdk=iphoneos*]" = 34N2Z22TKH; ENABLE_BITCODE = NO; INFOPLIST_FILE = Runner/Info.plist; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", ); - MARKETING_VERSION = 0.6.0; + MARKETING_VERSION = 0.6.2; PRODUCT_BUNDLE_IDENTIFIER = "com.synerise.sdk.sample-flutter"; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE_SPECIFIER = ""; + "PROVISIONING_PROFILE_SPECIFIER[sdk=iphoneos*]" = "Sample App Flutter Dev"; VERSIONING_SYSTEM = "apple-generic"; }; name = Debug; @@ -524,26 +886,420 @@ isa = XCBuildConfiguration; baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CODE_SIGN_ENTITLEMENTS = SampleAppFlutter.entitlements; CODE_SIGN_IDENTITY = "Apple Development"; - CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 1; - DEVELOPMENT_TEAM = 34N2Z22TKH; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + CODE_SIGN_STYLE = Manual; + CURRENT_PROJECT_VERSION = 4; + DEVELOPMENT_TEAM = ""; + "DEVELOPMENT_TEAM[sdk=iphoneos*]" = 34N2Z22TKH; ENABLE_BITCODE = NO; INFOPLIST_FILE = Runner/Info.plist; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", ); - MARKETING_VERSION = 0.6.0; + MARKETING_VERSION = 0.6.2; PRODUCT_BUNDLE_IDENTIFIER = "com.synerise.sdk.sample-flutter"; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE_SPECIFIER = ""; + "PROVISIONING_PROFILE_SPECIFIER[sdk=iphoneos*]" = "Sample App Flutter Dev"; VERSIONING_SYSTEM = "apple-generic"; }; name = Release; }; + C1921F5C2A4D8C480010BC77 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 91B25D7EE0498202DE1B0D59 /* Pods-SyneriseNotificationServiceExtension.debug.xcconfig */; + buildSettings = { + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CODE_SIGN_ENTITLEMENTS = SyneriseNotificationServiceExtension/SyneriseNotificationServiceExtension.entitlements; + CODE_SIGN_IDENTITY = "Apple Development"; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + CODE_SIGN_STYLE = Manual; + CURRENT_PROJECT_VERSION = 4; + DEVELOPMENT_TEAM = ""; + "DEVELOPMENT_TEAM[sdk=iphoneos*]" = 34N2Z22TKH; + GCC_C_LANGUAGE_STANDARD = gnu11; + GENERATE_INFOPLIST_FILE = YES; + INFOPLIST_FILE = SyneriseNotificationServiceExtension/Info.plist; + INFOPLIST_KEY_CFBundleDisplayName = SyneriseNotificationServiceExtension; + INFOPLIST_KEY_NSHumanReadableCopyright = ""; + IPHONEOS_DEPLOYMENT_TARGET = 11.0; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@executable_path/../../Frameworks", + ); + MARKETING_VERSION = 0.6.2; + MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; + MTL_FAST_MATH = YES; + PRODUCT_BUNDLE_IDENTIFIER = "com.synerise.sdk.sample-flutter.notification-service-extension"; + PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE_SPECIFIER = ""; + "PROVISIONING_PROFILE_SPECIFIER[sdk=iphoneos*]" = "Sample App Flutter Notification Service Dev"; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; + SWIFT_EMIT_LOC_STRINGS = YES; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Debug; + }; + C1921F5D2A4D8C480010BC77 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = D3913C84F955788D3E76E941 /* Pods-SyneriseNotificationServiceExtension.release.xcconfig */; + buildSettings = { + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CODE_SIGN_ENTITLEMENTS = SyneriseNotificationServiceExtension/SyneriseNotificationServiceExtension.entitlements; + CODE_SIGN_IDENTITY = "Apple Development"; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + CODE_SIGN_STYLE = Manual; + CURRENT_PROJECT_VERSION = 4; + DEVELOPMENT_TEAM = ""; + "DEVELOPMENT_TEAM[sdk=iphoneos*]" = 34N2Z22TKH; + GCC_C_LANGUAGE_STANDARD = gnu11; + GENERATE_INFOPLIST_FILE = YES; + INFOPLIST_FILE = SyneriseNotificationServiceExtension/Info.plist; + INFOPLIST_KEY_CFBundleDisplayName = SyneriseNotificationServiceExtension; + INFOPLIST_KEY_NSHumanReadableCopyright = ""; + IPHONEOS_DEPLOYMENT_TARGET = 11.0; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@executable_path/../../Frameworks", + ); + MARKETING_VERSION = 0.6.2; + MTL_FAST_MATH = YES; + PRODUCT_BUNDLE_IDENTIFIER = "com.synerise.sdk.sample-flutter.notification-service-extension"; + PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE_SPECIFIER = ""; + "PROVISIONING_PROFILE_SPECIFIER[sdk=iphoneos*]" = "Sample App Flutter Notification Service Dev"; + SKIP_INSTALL = YES; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_EMIT_LOC_STRINGS = YES; + SWIFT_OPTIMIZATION_LEVEL = "-O"; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Release; + }; + C1921F5E2A4D8C480010BC77 /* Profile */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 047E607475B380E0680C7ECA /* Pods-SyneriseNotificationServiceExtension.profile.xcconfig */; + buildSettings = { + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CODE_SIGN_ENTITLEMENTS = SyneriseNotificationServiceExtension/SyneriseNotificationServiceExtension.entitlements; + CODE_SIGN_IDENTITY = "Apple Development"; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + CODE_SIGN_STYLE = Manual; + CURRENT_PROJECT_VERSION = 4; + DEVELOPMENT_TEAM = ""; + "DEVELOPMENT_TEAM[sdk=iphoneos*]" = 34N2Z22TKH; + GCC_C_LANGUAGE_STANDARD = gnu11; + GENERATE_INFOPLIST_FILE = YES; + INFOPLIST_FILE = SyneriseNotificationServiceExtension/Info.plist; + INFOPLIST_KEY_CFBundleDisplayName = SyneriseNotificationServiceExtension; + INFOPLIST_KEY_NSHumanReadableCopyright = ""; + IPHONEOS_DEPLOYMENT_TARGET = 11.0; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@executable_path/../../Frameworks", + ); + MARKETING_VERSION = 0.6.2; + MTL_FAST_MATH = YES; + PRODUCT_BUNDLE_IDENTIFIER = "com.synerise.sdk.sample-flutter.notification-service-extension"; + PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE_SPECIFIER = ""; + "PROVISIONING_PROFILE_SPECIFIER[sdk=iphoneos*]" = "Sample App Flutter Notification Service Dev"; + SKIP_INSTALL = YES; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_EMIT_LOC_STRINGS = YES; + SWIFT_OPTIMIZATION_LEVEL = "-O"; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Profile; + }; + C1921F742A4D8C720010BC77 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = E1BDB03E3ADBB65A94C6A928 /* Pods-SyneriseSingleMediaNotificationContentExtension.debug.xcconfig */; + buildSettings = { + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CODE_SIGN_ENTITLEMENTS = SyneriseSingleMediaNotificationContentExtension/SyneriseSingleMediaNotificationContentExtension.entitlements; + CODE_SIGN_IDENTITY = "Apple Development"; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + CODE_SIGN_STYLE = Manual; + CURRENT_PROJECT_VERSION = 4; + DEVELOPMENT_TEAM = ""; + "DEVELOPMENT_TEAM[sdk=iphoneos*]" = 34N2Z22TKH; + GCC_C_LANGUAGE_STANDARD = gnu11; + GENERATE_INFOPLIST_FILE = YES; + INFOPLIST_FILE = SyneriseSingleMediaNotificationContentExtension/Info.plist; + INFOPLIST_KEY_CFBundleDisplayName = SyneriseSingleMediaNotificationContentExtension; + INFOPLIST_KEY_NSHumanReadableCopyright = ""; + IPHONEOS_DEPLOYMENT_TARGET = 11.0; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@executable_path/../../Frameworks", + ); + MARKETING_VERSION = 0.6.2; + MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; + MTL_FAST_MATH = YES; + PRODUCT_BUNDLE_IDENTIFIER = "com.synerise.sdk.sample-flutter.single-media-notification"; + PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE_SPECIFIER = ""; + "PROVISIONING_PROFILE_SPECIFIER[sdk=iphoneos*]" = "Sample App Flutter Single Media Dev"; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; + SWIFT_EMIT_LOC_STRINGS = YES; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Debug; + }; + C1921F752A4D8C720010BC77 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 7C6C0238D5EA09AA60854E3E /* Pods-SyneriseSingleMediaNotificationContentExtension.release.xcconfig */; + buildSettings = { + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CODE_SIGN_ENTITLEMENTS = SyneriseSingleMediaNotificationContentExtension/SyneriseSingleMediaNotificationContentExtension.entitlements; + CODE_SIGN_IDENTITY = "Apple Development"; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + CODE_SIGN_STYLE = Manual; + CURRENT_PROJECT_VERSION = 4; + DEVELOPMENT_TEAM = ""; + "DEVELOPMENT_TEAM[sdk=iphoneos*]" = 34N2Z22TKH; + GCC_C_LANGUAGE_STANDARD = gnu11; + GENERATE_INFOPLIST_FILE = YES; + INFOPLIST_FILE = SyneriseSingleMediaNotificationContentExtension/Info.plist; + INFOPLIST_KEY_CFBundleDisplayName = SyneriseSingleMediaNotificationContentExtension; + INFOPLIST_KEY_NSHumanReadableCopyright = ""; + IPHONEOS_DEPLOYMENT_TARGET = 11.0; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@executable_path/../../Frameworks", + ); + MARKETING_VERSION = 0.6.2; + MTL_FAST_MATH = YES; + PRODUCT_BUNDLE_IDENTIFIER = "com.synerise.sdk.sample-flutter.single-media-notification"; + PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE_SPECIFIER = ""; + "PROVISIONING_PROFILE_SPECIFIER[sdk=iphoneos*]" = "Sample App Flutter Single Media Dev"; + SKIP_INSTALL = YES; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_EMIT_LOC_STRINGS = YES; + SWIFT_OPTIMIZATION_LEVEL = "-O"; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Release; + }; + C1921F762A4D8C720010BC77 /* Profile */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 25DB88858CAC8D8C69909664 /* Pods-SyneriseSingleMediaNotificationContentExtension.profile.xcconfig */; + buildSettings = { + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CODE_SIGN_ENTITLEMENTS = SyneriseSingleMediaNotificationContentExtension/SyneriseSingleMediaNotificationContentExtension.entitlements; + CODE_SIGN_IDENTITY = "Apple Development"; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + CODE_SIGN_STYLE = Manual; + CURRENT_PROJECT_VERSION = 4; + DEVELOPMENT_TEAM = ""; + "DEVELOPMENT_TEAM[sdk=iphoneos*]" = 34N2Z22TKH; + GCC_C_LANGUAGE_STANDARD = gnu11; + GENERATE_INFOPLIST_FILE = YES; + INFOPLIST_FILE = SyneriseSingleMediaNotificationContentExtension/Info.plist; + INFOPLIST_KEY_CFBundleDisplayName = SyneriseSingleMediaNotificationContentExtension; + INFOPLIST_KEY_NSHumanReadableCopyright = ""; + IPHONEOS_DEPLOYMENT_TARGET = 11.0; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@executable_path/../../Frameworks", + ); + MARKETING_VERSION = 0.6.2; + MTL_FAST_MATH = YES; + PRODUCT_BUNDLE_IDENTIFIER = "com.synerise.sdk.sample-flutter.single-media-notification"; + PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE_SPECIFIER = ""; + "PROVISIONING_PROFILE_SPECIFIER[sdk=iphoneos*]" = "Sample App Flutter Single Media Dev"; + SKIP_INSTALL = YES; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_EMIT_LOC_STRINGS = YES; + SWIFT_OPTIMIZATION_LEVEL = "-O"; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Profile; + }; + C1921F892A4D8C850010BC77 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = DF3268BDD1BF9F523EB6C42C /* Pods-SyneriseCarouselNotificationContentExtension.debug.xcconfig */; + buildSettings = { + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CODE_SIGN_ENTITLEMENTS = SyneriseCarouselNotificationContentExtension/SyneriseCarouselNotificationContentExtension.entitlements; + CODE_SIGN_IDENTITY = "Apple Development"; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + CODE_SIGN_STYLE = Manual; + CURRENT_PROJECT_VERSION = 4; + DEVELOPMENT_TEAM = ""; + "DEVELOPMENT_TEAM[sdk=iphoneos*]" = 34N2Z22TKH; + GCC_C_LANGUAGE_STANDARD = gnu11; + GENERATE_INFOPLIST_FILE = YES; + INFOPLIST_FILE = SyneriseCarouselNotificationContentExtension/Info.plist; + INFOPLIST_KEY_CFBundleDisplayName = SyneriseCarouselNotificationContentExtension; + INFOPLIST_KEY_NSHumanReadableCopyright = ""; + IPHONEOS_DEPLOYMENT_TARGET = 11.0; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@executable_path/../../Frameworks", + ); + MARKETING_VERSION = 0.6.2; + MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; + MTL_FAST_MATH = YES; + PRODUCT_BUNDLE_IDENTIFIER = "com.synerise.sdk.sample-flutter.carousel-notification"; + PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE_SPECIFIER = ""; + "PROVISIONING_PROFILE_SPECIFIER[sdk=iphoneos*]" = "Sample App Flutter Carousel Dev"; + SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; + SWIFT_EMIT_LOC_STRINGS = YES; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Debug; + }; + C1921F8A2A4D8C850010BC77 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = AC1A0860CEBCF75F6D05BD42 /* Pods-SyneriseCarouselNotificationContentExtension.release.xcconfig */; + buildSettings = { + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CODE_SIGN_ENTITLEMENTS = SyneriseCarouselNotificationContentExtension/SyneriseCarouselNotificationContentExtension.entitlements; + CODE_SIGN_IDENTITY = "Apple Development"; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + CODE_SIGN_STYLE = Manual; + CURRENT_PROJECT_VERSION = 4; + DEVELOPMENT_TEAM = ""; + "DEVELOPMENT_TEAM[sdk=iphoneos*]" = 34N2Z22TKH; + GCC_C_LANGUAGE_STANDARD = gnu11; + GENERATE_INFOPLIST_FILE = YES; + INFOPLIST_FILE = SyneriseCarouselNotificationContentExtension/Info.plist; + INFOPLIST_KEY_CFBundleDisplayName = SyneriseCarouselNotificationContentExtension; + INFOPLIST_KEY_NSHumanReadableCopyright = ""; + IPHONEOS_DEPLOYMENT_TARGET = 11.0; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@executable_path/../../Frameworks", + ); + MARKETING_VERSION = 0.6.2; + MTL_FAST_MATH = YES; + PRODUCT_BUNDLE_IDENTIFIER = "com.synerise.sdk.sample-flutter.carousel-notification"; + PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE_SPECIFIER = ""; + "PROVISIONING_PROFILE_SPECIFIER[sdk=iphoneos*]" = "Sample App Flutter Carousel Dev"; + SKIP_INSTALL = YES; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_EMIT_LOC_STRINGS = YES; + SWIFT_OPTIMIZATION_LEVEL = "-O"; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Release; + }; + C1921F8B2A4D8C850010BC77 /* Profile */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = C4C97953EDD173384C58DCCE /* Pods-SyneriseCarouselNotificationContentExtension.profile.xcconfig */; + buildSettings = { + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CODE_SIGN_ENTITLEMENTS = SyneriseCarouselNotificationContentExtension/SyneriseCarouselNotificationContentExtension.entitlements; + CODE_SIGN_IDENTITY = "Apple Development"; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + CODE_SIGN_STYLE = Manual; + CURRENT_PROJECT_VERSION = 4; + DEVELOPMENT_TEAM = ""; + "DEVELOPMENT_TEAM[sdk=iphoneos*]" = 34N2Z22TKH; + GCC_C_LANGUAGE_STANDARD = gnu11; + GENERATE_INFOPLIST_FILE = YES; + INFOPLIST_FILE = SyneriseCarouselNotificationContentExtension/Info.plist; + INFOPLIST_KEY_CFBundleDisplayName = SyneriseCarouselNotificationContentExtension; + INFOPLIST_KEY_NSHumanReadableCopyright = ""; + IPHONEOS_DEPLOYMENT_TARGET = 11.0; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@executable_path/../../Frameworks", + ); + MARKETING_VERSION = 0.6.2; + MTL_FAST_MATH = YES; + PRODUCT_BUNDLE_IDENTIFIER = "com.synerise.sdk.sample-flutter.carousel-notification"; + PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE_SPECIFIER = ""; + "PROVISIONING_PROFILE_SPECIFIER[sdk=iphoneos*]" = "Sample App Flutter Carousel Dev"; + SKIP_INSTALL = YES; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_EMIT_LOC_STRINGS = YES; + SWIFT_OPTIMIZATION_LEVEL = "-O"; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Profile; + }; /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ @@ -567,6 +1323,36 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; + C1921F5F2A4D8C480010BC77 /* Build configuration list for PBXNativeTarget "SyneriseNotificationServiceExtension" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + C1921F5C2A4D8C480010BC77 /* Debug */, + C1921F5D2A4D8C480010BC77 /* Release */, + C1921F5E2A4D8C480010BC77 /* Profile */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + C1921F732A4D8C720010BC77 /* Build configuration list for PBXNativeTarget "SyneriseSingleMediaNotificationContentExtension" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + C1921F742A4D8C720010BC77 /* Debug */, + C1921F752A4D8C720010BC77 /* Release */, + C1921F762A4D8C720010BC77 /* Profile */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + C1921F882A4D8C850010BC77 /* Build configuration list for PBXNativeTarget "SyneriseCarouselNotificationContentExtension" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + C1921F892A4D8C850010BC77 /* Debug */, + C1921F8A2A4D8C850010BC77 /* Release */, + C1921F8B2A4D8C850010BC77 /* Profile */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; /* End XCConfigurationList section */ }; rootObject = 97C146E61CF9000F007C117D /* Project object */; diff --git a/example/ios/Runner/AppDelegate.m b/example/ios/Runner/AppDelegate.m index 70e8393..9543b99 100644 --- a/example/ios/Runner/AppDelegate.m +++ b/example/ios/Runner/AppDelegate.m @@ -1,13 +1,27 @@ #import "AppDelegate.h" #import "GeneratedPluginRegistrant.h" +#import @implementation AppDelegate -- (BOOL)application:(UIApplication *)application - didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { - [GeneratedPluginRegistrant registerWithRegistry:self]; - // Override point for customization after application launch. - return [super application:application didFinishLaunchingWithOptions:launchOptions]; +- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { + UNNotificationCategory *singleMediaCategory = [UNNotificationCategory categoryWithIdentifier:SNRSingleMediaContentExtensionViewControllerCategoryIdentifier actions:@[] intentIdentifiers:@[] options:0]; + + UNNotificationAction *carouselPreviousAction = [UNNotificationAction actionWithIdentifier:SNRCarouselContentExtensionViewControllerPreviousItemIdentifier title:@"Previous" options:0]; + + UNNotificationAction *carouselGoAction = [UNNotificationAction actionWithIdentifier:SNRCarouselContentExtensionViewControllerChooseItemIdentifier title:@"Go" options:0]; + + UNNotificationAction *carouselNextAction = [UNNotificationAction actionWithIdentifier:SNRCarouselContentExtensionViewControllerNextItemIdentifier title:@"Next" options:0]; + + UNNotificationCategory *carouselCategory = [UNNotificationCategory categoryWithIdentifier:SNRCarouselContentExtensionViewControllerCategoryIdentifier actions:@[carouselPreviousAction, carouselGoAction, carouselNextAction] intentIdentifiers:@[] options:0]; + + [[UNUserNotificationCenter currentNotificationCenter] setNotificationCategories:[NSSet setWithObjects:singleMediaCategory, carouselCategory, nil]]; + + + [GeneratedPluginRegistrant registerWithRegistry:self]; + // Override point for customization after application launch. + + return [super application:application didFinishLaunchingWithOptions:launchOptions]; } @end diff --git a/example/ios/SampleAppFlutter.entitlements b/example/ios/SampleAppFlutter.entitlements index 903def2..48ea005 100644 --- a/example/ios/SampleAppFlutter.entitlements +++ b/example/ios/SampleAppFlutter.entitlements @@ -4,5 +4,13 @@ aps-environment development + com.apple.security.application-groups + + group.com.synerise.sdk.sample-flutter + + keychain-access-groups + + $(AppIdentifierPrefix)FlutterKeychainGroup + diff --git a/example/ios/SyneriseCarouselNotificationContentExtension/Info.plist b/example/ios/SyneriseCarouselNotificationContentExtension/Info.plist new file mode 100644 index 0000000..4174cf8 --- /dev/null +++ b/example/ios/SyneriseCarouselNotificationContentExtension/Info.plist @@ -0,0 +1,24 @@ + + + + + NSExtension + + NSExtensionAttributes + + UNNotificationExtensionCategory + + synerise.notifications.category.carousel + + UNNotificationExtensionDefaultContentHidden + + UNNotificationExtensionInitialContentSizeRatio + 1 + + NSExtensionPointIdentifier + com.apple.usernotifications.content-extension + NSExtensionPrincipalClass + $(PRODUCT_MODULE_NAME).NotificationViewController + + + diff --git a/example/ios/SyneriseCarouselNotificationContentExtension/NotificationViewController.swift b/example/ios/SyneriseCarouselNotificationContentExtension/NotificationViewController.swift new file mode 100644 index 0000000..fa43349 --- /dev/null +++ b/example/ios/SyneriseCarouselNotificationContentExtension/NotificationViewController.swift @@ -0,0 +1,25 @@ +// +// NotificationViewController.swift +// SyneriseCarouselNotificationContentExtension +// +// Created by Krzysztof Kurzawa on 29/06/2023. +// + +import UIKit +import UserNotifications +import UserNotificationsUI +import SyneriseSDK + +class NotificationViewController: CarouselContentExtensionViewController, UNNotificationContentExtension { + + func didReceive(_ notification: UNNotification) { + Synerise.settings.sdk.appGroupIdentifier = "group.com.synerise.sdk.flutter" + Synerise.settings.sdk.keychainGroupIdentifier = "34N2Z22TKH.FlutterKeychainGroup" + + setSyneriseNotification(notification) + } + + func didReceive(_ response: UNNotificationResponse, completionHandler completion: @escaping (UNNotificationContentExtensionResponseOption) -> Void) { + setSyneriseNotificationResponse(response, completionHandler: completion) + } +} diff --git a/example/ios/SyneriseCarouselNotificationContentExtension/SyneriseCarouselNotificationContentExtension.entitlements b/example/ios/SyneriseCarouselNotificationContentExtension/SyneriseCarouselNotificationContentExtension.entitlements new file mode 100644 index 0000000..df3cc28 --- /dev/null +++ b/example/ios/SyneriseCarouselNotificationContentExtension/SyneriseCarouselNotificationContentExtension.entitlements @@ -0,0 +1,14 @@ + + + + + com.apple.security.application-groups + + group.com.synerise.sdk.sample-flutter + + keychain-access-groups + + $(AppIdentifierPrefix)FlutterKeychainGroup + + + diff --git a/example/ios/SyneriseNotificationServiceExtension/Info.plist b/example/ios/SyneriseNotificationServiceExtension/Info.plist new file mode 100644 index 0000000..57421eb --- /dev/null +++ b/example/ios/SyneriseNotificationServiceExtension/Info.plist @@ -0,0 +1,13 @@ + + + + + NSExtension + + NSExtensionPointIdentifier + com.apple.usernotifications.service + NSExtensionPrincipalClass + $(PRODUCT_MODULE_NAME).NotificationService + + + diff --git a/example/ios/SyneriseNotificationServiceExtension/NotificationService.swift b/example/ios/SyneriseNotificationServiceExtension/NotificationService.swift new file mode 100644 index 0000000..8236201 --- /dev/null +++ b/example/ios/SyneriseNotificationServiceExtension/NotificationService.swift @@ -0,0 +1,74 @@ +// +// NotificationService.swift +// SyneriseNotificationServiceExtension +// +// Created by Krzysztof Kurzawa on 29/06/2023. +// + +import UserNotifications +import SyneriseSDK + +class NotificationService: UNNotificationServiceExtension, NotificationServiceExtensionDelegate, NotificationDelegate { + + var contentHandler: ((UNNotificationContent) -> Void)? + var receivedRequest: UNNotificationRequest? + var bestAttemptContent: UNMutableNotificationContent? + + override func didReceive(_ request: UNNotificationRequest, withContentHandler contentHandler: @escaping (UNNotificationContent) -> Void) { + self.receivedRequest = request + self.contentHandler = contentHandler + self.bestAttemptContent = (request.content.mutableCopy() as? UNMutableNotificationContent) + + if let bestAttemptContent = self.bestAttemptContent { + Synerise.settings.sdk.appGroupIdentifier = "group.com.synerise.sdk.flutter" + Synerise.settings.sdk.keychainGroupIdentifier = "34N2Z22TKH.FlutterKeychainGroup" + + NotificationServiceExtension.setDelegate(self) + NotificationServiceExtension.setNotificationDelegate(self) + + #if DEBUG + NotificationServiceExtension.setDebugModeEnabled(true) + #endif + + // DEBUG ONLY !!! + // Uncomment the 1 line below to cause service extension expiration and check how `serviceExtensionTimeWillExpire` method works. + // Thread.sleep(forTimeInterval: 25) + + NotificationServiceExtension.setDecryptionFallbackNotificationTitleAndBody(title: "(Encrypted)", body: "(Encrypted)") + NotificationServiceExtension.didReceiveNotificationExtensionRequest(request, withMutableNotificationContent: bestAttemptContent) + + // DEBUG ONLY !!! + // Uncomment the 1 line below and comment out the one above to ensure this extension is executing. + // Remember, this extension only runs when mutable-content is set true in Synerise campaign options. + // bestAttemptContent.body = "[Modified]".appending(bestAttemptContent.body); + contentHandler(bestAttemptContent) + } + } + + override func serviceExtensionTimeWillExpire() { + // Called just before the extension will be terminated by the system. + // Use this as an opportunity to deliver your "best attempt" at modified content, otherwise the original push payload will be used. + if let contentHandler = self.contentHandler, let receivedRequest = self.receivedRequest, let bestAttemptContent = self.bestAttemptContent { + NotificationServiceExtension.serviceExtensionTimeWillExpireRequest(receivedRequest, withMutableNotificationContent: bestAttemptContent) + bestAttemptContent.title = "Fallback title" + bestAttemptContent.body = "Fallback body" + contentHandler(bestAttemptContent) + } + } + + func notificationServiceExtensionDidFailProcessingWithError(_ error: Error) { +#if DEBUG + self.bestAttemptContent?.title = error.localizedDescription +#endif + } + + func notificationServiceExtensionDidFailDecryptionWithError(_ error: Error) { +#if DEBUG + self.bestAttemptContent?.title = error.localizedDescription +#endif + } + + func snr_notificationDidReceive(notificationInfo: NotificationInfo) { + + } +} diff --git a/example/ios/SyneriseNotificationServiceExtension/SyneriseNotificationServiceExtension.entitlements b/example/ios/SyneriseNotificationServiceExtension/SyneriseNotificationServiceExtension.entitlements new file mode 100644 index 0000000..df3cc28 --- /dev/null +++ b/example/ios/SyneriseNotificationServiceExtension/SyneriseNotificationServiceExtension.entitlements @@ -0,0 +1,14 @@ + + + + + com.apple.security.application-groups + + group.com.synerise.sdk.sample-flutter + + keychain-access-groups + + $(AppIdentifierPrefix)FlutterKeychainGroup + + + diff --git a/example/ios/SyneriseSingleMediaNotificationContentExtension/Info.plist b/example/ios/SyneriseSingleMediaNotificationContentExtension/Info.plist new file mode 100644 index 0000000..092f122 --- /dev/null +++ b/example/ios/SyneriseSingleMediaNotificationContentExtension/Info.plist @@ -0,0 +1,24 @@ + + + + + NSExtension + + NSExtensionAttributes + + UNNotificationExtensionCategory + + synerise.notifications.category.single-media + + UNNotificationExtensionDefaultContentHidden + + UNNotificationExtensionInitialContentSizeRatio + 1 + + NSExtensionPointIdentifier + com.apple.usernotifications.content-extension + NSExtensionPrincipalClass + $(PRODUCT_MODULE_NAME).NotificationViewController + + + diff --git a/example/ios/SyneriseSingleMediaNotificationContentExtension/NotificationViewController.swift b/example/ios/SyneriseSingleMediaNotificationContentExtension/NotificationViewController.swift new file mode 100644 index 0000000..5a145dd --- /dev/null +++ b/example/ios/SyneriseSingleMediaNotificationContentExtension/NotificationViewController.swift @@ -0,0 +1,31 @@ +// +// NotificationViewController.swift +// SyneriseSingleMediaNotificationContentExtension +// +// Created by Krzysztof Kurzawa on 29/06/2023. +// + +import UIKit +import UserNotifications +import UserNotificationsUI +import SyneriseSDK + +class NotificationViewController: SingleMediaContentExtensionViewController, UNNotificationContentExtension { + + override func viewDidLoad() { + super.viewDidLoad() + + view.backgroundColor = UIColor.red + } + + func didReceive(_ notification: UNNotification) { + Synerise.settings.sdk.appGroupIdentifier = "group.com.synerise.sdk.flutter" + Synerise.settings.sdk.keychainGroupIdentifier = "34N2Z22TKH.FlutterKeychainGroup" + + setSyneriseNotification(notification) + } + + func didReceive(_ response: UNNotificationResponse, completionHandler completion: @escaping (UNNotificationContentExtensionResponseOption) -> Void) { + setSyneriseNotificationResponse(response, completionHandler: completion) + } +} diff --git a/example/ios/SyneriseSingleMediaNotificationContentExtension/SyneriseSingleMediaNotificationContentExtension.entitlements b/example/ios/SyneriseSingleMediaNotificationContentExtension/SyneriseSingleMediaNotificationContentExtension.entitlements new file mode 100644 index 0000000..df3cc28 --- /dev/null +++ b/example/ios/SyneriseSingleMediaNotificationContentExtension/SyneriseSingleMediaNotificationContentExtension.entitlements @@ -0,0 +1,14 @@ + + + + + com.apple.security.application-groups + + group.com.synerise.sdk.sample-flutter + + keychain-access-groups + + $(AppIdentifierPrefix)FlutterKeychainGroup + + + diff --git a/example/lib/main.dart b/example/lib/main.dart index 82cc467..c84b88a 100644 --- a/example/lib/main.dart +++ b/example/lib/main.dart @@ -30,7 +30,10 @@ class _InitialViewState extends State { } Future initializeSynerise() async { + Synerise.settings.sdk.appGroupIdentifier = "group.com.synerise.sdk.flutter"; + Synerise.settings.sdk.keychainGroupIdentifier = "34N2Z22TKH.FlutterKeychainGroup"; Synerise.settings.injector.automatic = true; + Synerise.initializer().withClientApiKey("YOUR_PROFILE_API_KEY").withBaseUrl("https://api.snrapi.com").withDebugModeEnabled(true).init(); Synerise.injector.listener((listener) { diff --git a/pubspec.lock b/pubspec.lock index e3abfb5..c959811 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -58,10 +58,10 @@ packages: dependency: "direct dev" description: name: flutter_lints - sha256: aeb0b80a8b3709709c9cc496cdc027c5b3216796bc0af0ce1007eaf24464fd4c + sha256: "2118df84ef0c3ca93f96123a616ae8540879991b8b57af2f81b76a7ada49b2a4" url: "https://pub.dev" source: hosted - version: "2.0.1" + version: "2.0.2" flutter_test: dependency: "direct dev" description: flutter