diff --git a/AudioKitSynthOne.xcodeproj/project.pbxproj b/AudioKitSynthOne.xcodeproj/project.pbxproj index fa27bd0b2..5bb06ef71 100644 --- a/AudioKitSynthOne.xcodeproj/project.pbxproj +++ b/AudioKitSynthOne.xcodeproj/project.pbxproj @@ -1542,6 +1542,7 @@ A02F99CB702A38B4BC2953CB /* [CP] Embed Pods Frameworks */, C474D95D1F13172B00946035 /* Embed App Extensions */, C4421AA920B81D0500BE9F12 /* ShellScript */, + E7D6C04A7C9CD186F83F6195 /* [CP] Copy Pods Resources */, ); buildRules = ( ); @@ -1738,10 +1739,32 @@ inputPaths = ( "${PODS_ROOT}/Target Support Files/Pods-AudioKitSynthOne/Pods-AudioKitSynthOne-frameworks.sh", "${BUILT_PRODUCTS_DIR}/Disk/Disk.framework", + "${PODS_XCFRAMEWORKS_BUILD_DIR}/Audiobus/Audiobus.framework/Audiobus", + "${PODS_XCFRAMEWORKS_BUILD_DIR}/OneSignalXCFramework/OneSignal/OneSignalFramework.framework/OneSignalFramework", + "${PODS_XCFRAMEWORKS_BUILD_DIR}/OneSignalXCFramework/OneSignalCore/OneSignalCore.framework/OneSignalCore", + "${PODS_XCFRAMEWORKS_BUILD_DIR}/OneSignalXCFramework/OneSignalExtension/OneSignalExtension.framework/OneSignalExtension", + "${PODS_XCFRAMEWORKS_BUILD_DIR}/OneSignalXCFramework/OneSignalInAppMessages/OneSignalInAppMessages.framework/OneSignalInAppMessages", + "${PODS_XCFRAMEWORKS_BUILD_DIR}/OneSignalXCFramework/OneSignalLiveActivities/OneSignalLiveActivities.framework/OneSignalLiveActivities", + "${PODS_XCFRAMEWORKS_BUILD_DIR}/OneSignalXCFramework/OneSignalLocation/OneSignalLocation.framework/OneSignalLocation", + "${PODS_XCFRAMEWORKS_BUILD_DIR}/OneSignalXCFramework/OneSignalNotifications/OneSignalNotifications.framework/OneSignalNotifications", + "${PODS_XCFRAMEWORKS_BUILD_DIR}/OneSignalXCFramework/OneSignalOSCore/OneSignalOSCore.framework/OneSignalOSCore", + "${PODS_XCFRAMEWORKS_BUILD_DIR}/OneSignalXCFramework/OneSignalOutcomes/OneSignalOutcomes.framework/OneSignalOutcomes", + "${PODS_XCFRAMEWORKS_BUILD_DIR}/OneSignalXCFramework/OneSignalUser/OneSignalUser.framework/OneSignalUser", ); name = "[CP] Embed Pods Frameworks"; outputPaths = ( "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Disk.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Audiobus.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/OneSignalFramework.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/OneSignalCore.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/OneSignalExtension.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/OneSignalInAppMessages.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/OneSignalLiveActivities.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/OneSignalLocation.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/OneSignalNotifications.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/OneSignalOSCore.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/OneSignalOutcomes.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/OneSignalUser.framework", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; @@ -1761,6 +1784,28 @@ shellPath = /bin/sh; shellScript = "#if which swiftlint >/dev/null; then\n#swiftlint\n#else\n#echo \"warning: SwiftLint not installed, download from https://github.com/realm/SwiftLint\"\n#fi\n"; }; + E7D6C04A7C9CD186F83F6195 /* [CP] Copy Pods Resources */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-AudioKitSynthOne/Pods-AudioKitSynthOne-resources.sh", + "${PODS_CONFIGURATION_BUILD_DIR}/AppCenter/AppCenterAnalytics.bundle", + "${PODS_CONFIGURATION_BUILD_DIR}/AppCenter/AppCenter.bundle", + "${PODS_CONFIGURATION_BUILD_DIR}/AppCenter/AppCenterCrashes.bundle", + ); + name = "[CP] Copy Pods Resources"; + outputPaths = ( + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/AppCenterAnalytics.bundle", + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/AppCenter.bundle", + "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/AppCenterCrashes.bundle", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-AudioKitSynthOne/Pods-AudioKitSynthOne-resources.sh\"\n"; + showEnvVarsInLog = 0; + }; F326D17312DDE12585405CB6 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; @@ -2243,12 +2288,13 @@ DEVELOPMENT_TEAM = 9W69ZP8S5F; GCC_C_LANGUAGE_STANDARD = gnu11; INFOPLIST_FILE = OneSignalNotificationServiceExtension/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 11.3; + IPHONEOS_DEPLOYMENT_TARGET = 15.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @executable_path/../../Frameworks"; MARKETING_VERSION = 1.4.1; PRODUCT_BUNDLE_IDENTIFIER = com.audiokitpro.AudioKitSynthOne.OneSignalNotificationServiceExtension; PRODUCT_NAME = "$(TARGET_NAME)"; SKIP_INSTALL = YES; + SWIFT_OBJC_BRIDGING_HEADER = ""; SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; }; @@ -2270,12 +2316,13 @@ DEVELOPMENT_TEAM = 9W69ZP8S5F; GCC_C_LANGUAGE_STANDARD = gnu11; INFOPLIST_FILE = OneSignalNotificationServiceExtension/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 11.3; + IPHONEOS_DEPLOYMENT_TARGET = 15.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @executable_path/../../Frameworks"; MARKETING_VERSION = 1.4.1; PRODUCT_BUNDLE_IDENTIFIER = com.audiokitpro.AudioKitSynthOne.OneSignalNotificationServiceExtension; PRODUCT_NAME = "$(TARGET_NAME)"; SKIP_INSTALL = YES; + SWIFT_OBJC_BRIDGING_HEADER = ""; SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; }; @@ -2435,7 +2482,7 @@ DEVELOPMENT_TEAM = 9W69ZP8S5F; GCC_OPTIMIZATION_LEVEL = 0; INFOPLIST_FILE = AudioKitSynthOne/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 10.3; + IPHONEOS_DEPLOYMENT_TARGET = 15.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; LIBRARY_SEARCH_PATHS = ( "$(inherited)", @@ -2479,7 +2526,7 @@ DEVELOPMENT_TEAM = 9W69ZP8S5F; GCC_OPTIMIZATION_LEVEL = fast; INFOPLIST_FILE = AudioKitSynthOne/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 10.3; + IPHONEOS_DEPLOYMENT_TARGET = 15.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; LIBRARY_SEARCH_PATHS = ( "$(inherited)", diff --git a/AudioKitSynthOne/AppDelegate+PlatformServices.swift b/AudioKitSynthOne/AppDelegate+PlatformServices.swift index 5074067fd..58e8f2201 100644 --- a/AudioKitSynthOne/AppDelegate+PlatformServices.swift +++ b/AudioKitSynthOne/AppDelegate+PlatformServices.swift @@ -8,29 +8,24 @@ import Foundation #if !targetEnvironment(macCatalyst) -import OneSignal +import OneSignalFramework import AppCenter import AppCenterAnalytics import AppCenterCrashes extension AppDelegate { public func initializePlatformServices() { - let onesignalInitSettings = [kOSSettingsKeyAutoPrompt: false] - // Set your OneSignal App ID in the Private.swift file. - OneSignal.initWithLaunchOptions(launchOptions, - appId: Private.OneSignalAppID, - handleNotificationAction: nil, - settings: onesignalInitSettings) - - OneSignal.inFocusDisplayType = OSNotificationDisplayType.notification + // OneSignal 5.x no longer auto-prompts; permission is requested explicitly + // from Manager+PushNotification (pushPopUp). + OneSignal.initialize(Private.OneSignalAppID, withLaunchOptions: launchOptions) // Setup AppCenter for Crash Log Collection if (Private.AppCenterAPIKey != "***REMOVED***") { - MSAppCenter.start(Private.AppCenterAPIKey, withServices:[ - MSAnalytics.self, - MSCrashes.self - ]) + AppCenter.start(withAppSecret: Private.AppCenterAPIKey, services: [ + Analytics.self, + Crashes.self + ]) } } } diff --git a/AudioKitSynthOne/AppDelegate.swift b/AudioKitSynthOne/AppDelegate.swift index e1625c473..34aa11cef 100644 --- a/AudioKitSynthOne/AppDelegate.swift +++ b/AudioKitSynthOne/AppDelegate.swift @@ -13,10 +13,12 @@ class AppDelegate: UIResponder, UIApplicationDelegate { let conductor = Conductor.sharedInstance - var window: UIWindow? - var launchOptions: [UIApplication.LaunchOptionsKey: Any]? + /// URL the app was launched with (TuneUp). The window/scene is created by + /// SceneDelegate, which captures any launch URL here for later retrieval. + var launchURL: URL? + func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool { @@ -36,54 +38,93 @@ class AppDelegate: UIResponder, UIApplicationDelegate { // Start Audio Engine conductor.start() - // Determine iPhone or iPad + return true + } + + func applicationWillTerminate(_ application: UIApplication) { + + // Called when the application is about to terminate. + // Save data if appropriate. See also sceneDidEnterBackground:. + conductor.stopEngine() + } + + func canOpenURL(_ url: URL) -> Bool { + + return true + } +} + +extension AppDelegate { + + public func applicationLaunchedWithURL() -> URL? { + + let launchUrl = self.launchURL + self.launchURL = nil + return launchUrl + } +} + +// MARK: - Scene Lifecycle + +/// iOS 13+ requires apps to adopt the UIScene lifecycle (enforced as a fatal +/// runtime issue starting iOS 26/27). This scene delegate owns the window and +/// carries over the behaviour that used to live in AppDelegate. +class SceneDelegate: UIResponder, UIWindowSceneDelegate { + + var window: UIWindow? + + private var conductor = Conductor.sharedInstance + + func scene(_ scene: UIScene, + willConnectTo session: UISceneSession, + options connectionOptions: UIScene.ConnectionOptions) { + guard let windowScene = scene as? UIWindowScene else { return } + + // Capture a launch URL (TuneUp) so applicationLaunchedWithURL() can return it. + if let launchURL = connectionOptions.urlContexts.first?.url { + (UIApplication.shared.delegate as? AppDelegate)?.launchURL = launchURL + } + + let window = UIWindow(windowScene: windowScene) let mainStoryboard = UIStoryboard(name: "Main", bundle: Bundle.main) + + // Determine iPhone or iPad if conductor.device == .pad { - window?.rootViewController = mainStoryboard.instantiateInitialViewController() + window.rootViewController = mainStoryboard.instantiateInitialViewController() } else { - window?.rootViewController = mainStoryboard.instantiateViewController(withIdentifier: "iPhoneParentVC") + window.rootViewController = mainStoryboard.instantiateViewController(withIdentifier: "iPhoneParentVC") } - window?.makeKeyAndVisible() - return true + self.window = window + window.makeKeyAndVisible() } - func applicationDidEnterBackground(_ application: UIApplication) { - + func sceneDidEnterBackground(_ scene: UIScene) { conductor.checkIAAConnectionsEnterBackground() } - - func applicationWillEnterForeground(_ application: UIApplication) { - + func sceneWillEnterForeground(_ scene: UIScene) { conductor.checkIAAConnectionsEnterForeground() } - func applicationWillResignActive(_ application: UIApplication) { - + func sceneWillResignActive(_ scene: UIScene) { // Prevent app from sleeping if never sleep is toggled on - // Toggle back to sleep mode after 1 minutes + // Toggle back to sleep mode after 1 minute DispatchQueue.main.asyncAfter(deadline: .now() + 60) { UIApplication.shared.isIdleTimerDisabled = false } - - UIApplication.shared.isIdleTimerDisabled = conductor.neverSleep - } - func applicationWillTerminate(_ application: UIApplication) { - - // Called when the application is about to terminate. - // Save data if appropriate. See also applicationDidEnterBackground:. - conductor.stopEngine() + UIApplication.shared.isIdleTimerDisabled = conductor.neverSleep } /// TuneUp - func application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey : Any] = [:]) -> Bool { + func scene(_ scene: UIScene, openURLContexts URLContexts: Set) { + guard let url = URLContexts.first?.url else { return } // on launch tuningsPanel is not yet created -> fall back to tunings model initialization guard let tuningsPanel = conductor.viewControllers.first(where: { $0 is TuningsPanelController }) as? TuningsPanelController else { - return true + return } // open url @@ -98,22 +139,5 @@ class AppDelegate: UIResponder, UIApplicationDelegate { AKLog("error removing temporary file at \(url): \(error)") } } - - return true - } - - func canOpenURL(_ url: URL) -> Bool { - - return true - } -} - -extension AppDelegate { - - public func applicationLaunchedWithURL() -> URL? { - - let launchUrl = self.launchOptions?[.url] as? URL - self.launchOptions = nil - return launchUrl } } diff --git a/AudioKitSynthOne/DSP/AudioKitSynthOne-Bridging-Header.h b/AudioKitSynthOne/DSP/AudioKitSynthOne-Bridging-Header.h index ee58aa12b..226439905 100644 --- a/AudioKitSynthOne/DSP/AudioKitSynthOne-Bridging-Header.h +++ b/AudioKitSynthOne/DSP/AudioKitSynthOne-Bridging-Header.h @@ -12,7 +12,7 @@ #import "S1Parameter.h" #import "AKSynthOneRate.h" #if !TARGET_OS_MACCATALYST -#import "Audiobus.h" +#import #endif // Set the ABLETON_ENABLED user setting to 1 (at the project level) to enable Ableton Link support // Note: you will need the files from their SDK! diff --git a/AudioKitSynthOne/Info.plist b/AudioKitSynthOne/Info.plist index e91f38b15..fe4ae4874 100644 --- a/AudioKitSynthOne/Info.plist +++ b/AudioKitSynthOne/Info.plist @@ -111,8 +111,23 @@ audio remote-notification - UIMainStoryboardFile - Main + UIApplicationSceneManifest + + UIApplicationSupportsMultipleScenes + + UISceneConfigurations + + UIWindowSceneSessionRoleApplication + + + UISceneConfigurationName + Default Configuration + UISceneDelegateClassName + $(PRODUCT_MODULE_NAME).SceneDelegate + + + + UIRequiredDeviceCapabilities armv7 diff --git a/AudioKitSynthOne/Manager/Manager+PushNotification.swift b/AudioKitSynthOne/Manager/Manager+PushNotification.swift index 3d990a257..e3f5b9855 100644 --- a/AudioKitSynthOne/Manager/Manager+PushNotification.swift +++ b/AudioKitSynthOne/Manager/Manager+PushNotification.swift @@ -9,7 +9,7 @@ import Foundation #if !targetEnvironment(macCatalyst) -import OneSignal +import OneSignalFramework extension Manager { func pushPopUp() { @@ -23,9 +23,9 @@ extension Manager { let submitAction = UIAlertAction(title: "Yes! 👍🏼", style: .default) { (_) in self.appSettings.pushNotifications = true self.saveAppSettingValues() - OneSignal.promptForPushNotifications(userResponse: { accepted in + OneSignal.Notifications.requestPermission({ accepted in print("User accepted notifications: \(accepted)") - }) + }, fallbackToSettings: true) } let cancelAction = UIAlertAction(title: "Later", style: .default) { (_) in diff --git a/OneSignalNotificationServiceExtension/NotificationService.swift b/OneSignalNotificationServiceExtension/NotificationService.swift index f8aba192a..d13bca8a4 100644 --- a/OneSignalNotificationServiceExtension/NotificationService.swift +++ b/OneSignalNotificationServiceExtension/NotificationService.swift @@ -8,7 +8,7 @@ import UserNotifications -import OneSignal +import OneSignalExtension class NotificationService: UNNotificationServiceExtension { @@ -23,8 +23,9 @@ class NotificationService: UNNotificationServiceExtension { bestAttemptContent = (request.content.mutableCopy() as? UNMutableNotificationContent) if let bestAttemptContent = bestAttemptContent { - OneSignal.didReceiveNotificationExtensionRequest(self.receivedRequest, with: self.bestAttemptContent) - contentHandler(bestAttemptContent) + OneSignalExtension.didReceiveNotificationExtensionRequest(self.receivedRequest, + with: bestAttemptContent, + withContentHandler: contentHandler) } } @@ -33,7 +34,8 @@ class NotificationService: UNNotificationServiceExtension { // Use this as an opportunity to deliver your "best attempt" at modified content, // otherwise the original push payload will be used. if let contentHandler = contentHandler, let bestAttemptContent = bestAttemptContent { - OneSignal.serviceExtensionTimeWillExpireRequest(self.receivedRequest, with: self.bestAttemptContent) + OneSignalExtension.serviceExtensionTimeWillExpireRequest(self.receivedRequest, + with: bestAttemptContent) contentHandler(bestAttemptContent) } } diff --git a/Podfile b/Podfile index 514ebad05..18de30000 100644 --- a/Podfile +++ b/Podfile @@ -1,17 +1,19 @@ -platform :ios, '10.0' +platform :ios, '15.0' use_frameworks! inhibit_all_warnings! -# This enables the cutting-edge staging builds of AudioKit, comment this line to stick to stable releases -source 'https://github.com/AudioKit/Specs.git' source 'https://github.com/CocoaPods/Specs.git' def available_pods pod 'AppCenter' + # AudioKit 4.9.2's official binary pod ships a Swift 5.1.1 module that + # Xcode 26 / Swift 6 can no longer import (pod install / build fails). + # Rebuilt XCFrameworks (BUILD_LIBRARY_FOR_DISTRIBUTION=YES) are available at: + # https://github.com/kentron/AudioKitSynthOne/releases/tag/audiokit-4.9.2-xcode26 pod 'AudioKit', '= 4.9.2' pod 'Disk', '~> 0.3.2' pod 'Audiobus' - pod 'OneSignal', '>= 2.6.2', '< 3.0' + pod 'OneSignalXCFramework', '>= 5.0.0', '< 6.0' end target 'AudioKitSynthOne' do @@ -19,8 +21,7 @@ target 'AudioKitSynthOne' do end target 'OneSignalNotificationServiceExtension' do - pod 'OneSignal', '>= 2.6.2', '< 3.0' - pod 'AudioKit', '= 4.9.2' + pod 'OneSignalXCFramework/OneSignalExtension', '>= 5.0.0', '< 6.0' end @@ -29,6 +30,7 @@ post_install do |installer| installer.pods_project.targets.each do |target| target.build_configurations.each do |config| config.build_settings['CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED'] = 'YES' + config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '15.0' end if ['Disk'].include? target.name target.build_configurations.each do |config| @@ -36,4 +38,35 @@ post_install do |installer| end end end + + # The app and the notification-service extension both depend on the shared + # OneSignal xcframeworks (Core/Extension/Outcomes). By default each pod target + # extracts them into the same XCFrameworkIntermediates directory, which Xcode + # rejects with "Multiple commands produce ...". Give the extension its own + # intermediates directory so producer and consumer no longer collide. + ext_xcframeworks_dir = '$(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates-OSExt' + + # Producer: the extension's OneSignal pod target (the OneSignalExtension subspec set). + installer.pod_targets.each do |pod_target| + next unless pod_target.pod_name == 'OneSignalXCFramework' + definition_names = pod_target.target_definitions.map(&:name) + next unless definition_names.include?('OneSignalNotificationServiceExtension') + next if definition_names.include?('AudioKitSynthOne') # skip the shared/app target + + native_target = installer.pods_project.targets.find { |t| t.name == pod_target.name } + native_target&.build_configurations&.each do |config| + config.build_settings['PODS_XCFRAMEWORKS_BUILD_DIR'] = ext_xcframeworks_dir + end + end + + # Consumer: redirect the extension's resolved search/copy paths to match. + %w[debug release].each do |cfg| + xcconfig = File.join( + installer.sandbox.root, + 'Target Support Files', + 'Pods-OneSignalNotificationServiceExtension', + "Pods-OneSignalNotificationServiceExtension.#{cfg}.xcconfig" + ) + File.open(xcconfig, 'a') { |f| f.puts "PODS_XCFRAMEWORKS_BUILD_DIR = #{ext_xcframeworks_dir}" } if File.exist?(xcconfig) + end end diff --git a/Podfile.lock b/Podfile.lock index b333d0d5a..388a7f4db 100644 --- a/Podfile.lock +++ b/Podfile.lock @@ -1,13 +1,13 @@ PODS: - - AppCenter (2.5.0): - - AppCenter/Analytics (= 2.5.0) - - AppCenter/Crashes (= 2.5.0) - - AppCenter/Analytics (2.5.0): + - AppCenter (5.12.0): + - AppCenter/Analytics (= 5.12.0) + - AppCenter/Crashes (= 5.12.0) + - AppCenter/Analytics (5.12.0): - AppCenter/Core - - AppCenter/Core (2.5.0) - - AppCenter/Crashes (2.5.0): + - AppCenter/Core (5.12.0) + - AppCenter/Crashes (5.12.0): - AppCenter/Core - - Audiobus (3.0.9.1) + - Audiobus (3.0.15.1) - AudioKit (4.9.2): - AudioKit/Core (= 4.9.2) - AudioKit/UI (= 4.9.2) @@ -15,14 +15,60 @@ PODS: - AudioKit/UI (4.9.2): - AudioKit/Core - Disk (0.3.3) - - OneSignal (2.11.2) + - OneSignalXCFramework (5.5.0): + - OneSignalXCFramework/OneSignalComplete (= 5.5.0) + - OneSignalXCFramework/OneSignal (5.5.0): + - OneSignalXCFramework/OneSignalCore + - OneSignalXCFramework/OneSignalExtension + - OneSignalXCFramework/OneSignalLiveActivities + - OneSignalXCFramework/OneSignalNotifications + - OneSignalXCFramework/OneSignalOSCore + - OneSignalXCFramework/OneSignalOutcomes + - OneSignalXCFramework/OneSignalUser + - OneSignalXCFramework/OneSignalComplete (5.5.0): + - OneSignalXCFramework/OneSignal + - OneSignalXCFramework/OneSignalInAppMessages + - OneSignalXCFramework/OneSignalLocation + - OneSignalXCFramework/OneSignalCore (5.5.0) + - OneSignalXCFramework/OneSignalExtension (5.5.0): + - OneSignalXCFramework/OneSignalCore + - OneSignalXCFramework/OneSignalOutcomes + - OneSignalXCFramework/OneSignalInAppMessages (5.5.0): + - OneSignalXCFramework/OneSignalCore + - OneSignalXCFramework/OneSignalNotifications + - OneSignalXCFramework/OneSignalOSCore + - OneSignalXCFramework/OneSignalOutcomes + - OneSignalXCFramework/OneSignalUser + - OneSignalXCFramework/OneSignalLiveActivities (5.5.0): + - OneSignalXCFramework/OneSignalCore + - OneSignalXCFramework/OneSignalOSCore + - OneSignalXCFramework/OneSignalUser + - OneSignalXCFramework/OneSignalLocation (5.5.0): + - OneSignalXCFramework/OneSignalCore + - OneSignalXCFramework/OneSignalNotifications + - OneSignalXCFramework/OneSignalOSCore + - OneSignalXCFramework/OneSignalUser + - OneSignalXCFramework/OneSignalNotifications (5.5.0): + - OneSignalXCFramework/OneSignalCore + - OneSignalXCFramework/OneSignalExtension + - OneSignalXCFramework/OneSignalOutcomes + - OneSignalXCFramework/OneSignalOSCore (5.5.0): + - OneSignalXCFramework/OneSignalCore + - OneSignalXCFramework/OneSignalOutcomes (5.5.0): + - OneSignalXCFramework/OneSignalCore + - OneSignalXCFramework/OneSignalUser (5.5.0): + - OneSignalXCFramework/OneSignalCore + - OneSignalXCFramework/OneSignalNotifications + - OneSignalXCFramework/OneSignalOSCore + - OneSignalXCFramework/OneSignalOutcomes DEPENDENCIES: - AppCenter - Audiobus - AudioKit (= 4.9.2) - Disk (~> 0.3.2) - - OneSignal (< 3.0, >= 2.6.2) + - OneSignalXCFramework (< 6.0, >= 5.0.0) + - OneSignalXCFramework/OneSignalExtension (< 6.0, >= 5.0.0) SPEC REPOS: https://github.com/CocoaPods/Specs.git: @@ -30,15 +76,15 @@ SPEC REPOS: - Audiobus - AudioKit - Disk - - OneSignal + - OneSignalXCFramework SPEC CHECKSUMS: - AppCenter: 637f180deefc61e8ab3f94223869ee50f61dabea - Audiobus: 83bb33ea2ed734779165a01c70091caf8143cf25 + AppCenter: 38e27eb52113bff74426db9f500726933c8d2fd7 + Audiobus: 71aa44e13bb5cf9f694a087c828849837b8074db AudioKit: ee388f0c9ad4e90b6106c14caaf809cd7ca220da Disk: d1f55cd61f6ca20f368232d0c6e37e3c3dfcb63e - OneSignal: 4e3e68bb6c29975286a2fa910cb49132bc6e20bb + OneSignalXCFramework: 943852e7d70d719f73e9669d48620aeec1b93022 -PODFILE CHECKSUM: 08600154cc26890e1979d0062b76978ed623cd8c +PODFILE CHECKSUM: 69357282273c3b5ca8b43c6f54ca7d60b16b4bd6 -COCOAPODS: 1.8.4 +COCOAPODS: 1.16.2