diff --git a/CHANGELOG.md b/CHANGELOG.md index 673b7123..3bfdc93b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,10 @@ ## Release Notes +### Unreleased + +- Dropped minimum deployable OS requirements to iOS 11, macOS 10.13, tvOS 11, and watchOS 4. + ### 3.1.1 - Fixed archiving issue when integrating the SDK using Cocoapods. diff --git a/Examples/RollbarDemo/RollbarDemo.xcodeproj/project.pbxproj b/Examples/RollbarDemo/RollbarDemo.xcodeproj/project.pbxproj index c4eec9c7..aac6f5af 100644 --- a/Examples/RollbarDemo/RollbarDemo.xcodeproj/project.pbxproj +++ b/Examples/RollbarDemo/RollbarDemo.xcodeproj/project.pbxproj @@ -7,6 +7,7 @@ objects = { /* Begin PBXBuildFile section */ + 3B810F452A7B2D10001A3D29 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 3B810F442A7B2D10001A3D29 /* LaunchScreen.storyboard */; }; 3BAD89E12A699BD300713F26 /* RollbarDemoApp.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3BAD89E02A699BD300713F26 /* RollbarDemoApp.swift */; }; 3BAD89E32A699BD300713F26 /* ContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3BAD89E22A699BD300713F26 /* ContentView.swift */; }; 3BAD89E52A699BD400713F26 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 3BAD89E42A699BD400713F26 /* Assets.xcassets */; }; @@ -16,6 +17,7 @@ /* End PBXBuildFile section */ /* Begin PBXFileReference section */ + 3B810F442A7B2D10001A3D29 /* LaunchScreen.storyboard */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; path = LaunchScreen.storyboard; sourceTree = ""; }; 3BAD89DD2A699BD300713F26 /* RollbarDemo.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = RollbarDemo.app; sourceTree = BUILT_PRODUCTS_DIR; }; 3BAD89E02A699BD300713F26 /* RollbarDemoApp.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RollbarDemoApp.swift; sourceTree = ""; }; 3BAD89E22A699BD300713F26 /* ContentView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ContentView.swift; sourceTree = ""; }; @@ -57,10 +59,11 @@ 3BAD89DF2A699BD300713F26 /* RollbarDemo */ = { isa = PBXGroup; children = ( - 3BAD89E62A699BD400713F26 /* RollbarDemo.entitlements */, 3BAD89E02A699BD300713F26 /* RollbarDemoApp.swift */, 3BAD89E22A699BD300713F26 /* ContentView.swift */, 3BAD89EF2A699F9E00713F26 /* Prelude.swift */, + 3B810F442A7B2D10001A3D29 /* LaunchScreen.storyboard */, + 3BAD89E62A699BD400713F26 /* RollbarDemo.entitlements */, 3BAD89E42A699BD400713F26 /* Assets.xcassets */, 3BAD89E72A699BD400713F26 /* Preview Content */, ); @@ -143,6 +146,7 @@ isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( + 3B810F452A7B2D10001A3D29 /* LaunchScreen.storyboard in Resources */, 3BAD89E92A699BD400713F26 /* Preview Assets.xcassets in Resources */, 3BAD89E52A699BD400713F26 /* Assets.xcassets in Resources */, ); @@ -197,6 +201,7 @@ CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; COPY_PHASE_STRIP = NO; + DEAD_CODE_STRIPPING = YES; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; ENABLE_STRICT_OBJC_MSGSEND = YES; ENABLE_TESTABILITY = YES; @@ -255,6 +260,7 @@ CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; COPY_PHASE_STRIP = NO; + DEAD_CODE_STRIPPING = YES; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; ENABLE_NS_ASSERTIONS = NO; ENABLE_STRICT_OBJC_MSGSEND = YES; @@ -281,14 +287,18 @@ CODE_SIGN_ENTITLEMENTS = RollbarDemo/RollbarDemo.entitlements; CODE_SIGN_STYLE = Automatic; CURRENT_PROJECT_VERSION = 70; + DEAD_CODE_STRIPPING = YES; DEVELOPMENT_ASSET_PATHS = "\"RollbarDemo/Preview Content\""; DEVELOPMENT_TEAM = 9P5JVC2F34; ENABLE_HARDENED_RUNTIME = YES; ENABLE_PREVIEWS = YES; GENERATE_INFOPLIST_FILE = YES; + INFOPLIST_KEY_CFBundleDisplayName = "Rollbar Demo"; + INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.developer-tools"; + INFOPLIST_KEY_UILaunchStoryboardName = LaunchScreen.storyboard; INFOPLIST_KEY_UIRequiresFullScreen = YES; INFOPLIST_KEY_UISupportedInterfaceOrientations = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown"; - IPHONEOS_DEPLOYMENT_TARGET = 15.0; + IPHONEOS_DEPLOYMENT_TARGET = 14.0; LD_RUNPATH_SEARCH_PATHS = "@executable_path/Frameworks"; MARKETING_VERSION = 1.2; PRODUCT_BUNDLE_IDENTIFIER = com.rollbar.apple.demo; @@ -311,14 +321,18 @@ CODE_SIGN_ENTITLEMENTS = RollbarDemo/RollbarDemo.entitlements; CODE_SIGN_STYLE = Automatic; CURRENT_PROJECT_VERSION = 70; + DEAD_CODE_STRIPPING = YES; DEVELOPMENT_ASSET_PATHS = "\"RollbarDemo/Preview Content\""; DEVELOPMENT_TEAM = 9P5JVC2F34; ENABLE_HARDENED_RUNTIME = YES; ENABLE_PREVIEWS = YES; GENERATE_INFOPLIST_FILE = YES; + INFOPLIST_KEY_CFBundleDisplayName = "Rollbar Demo"; + INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.developer-tools"; + INFOPLIST_KEY_UILaunchStoryboardName = LaunchScreen.storyboard; INFOPLIST_KEY_UIRequiresFullScreen = YES; INFOPLIST_KEY_UISupportedInterfaceOrientations = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown"; - IPHONEOS_DEPLOYMENT_TARGET = 15.0; + IPHONEOS_DEPLOYMENT_TARGET = 14.0; LD_RUNPATH_SEARCH_PATHS = "@executable_path/Frameworks"; MARKETING_VERSION = 1.2; PRODUCT_BUNDLE_IDENTIFIER = com.rollbar.apple.demo; diff --git a/Examples/RollbarDemo/RollbarDemo.xcodeproj/xcshareddata/xcschemes/RollbarDemo.xcscheme b/Examples/RollbarDemo/RollbarDemo.xcodeproj/xcshareddata/xcschemes/RollbarDemo.xcscheme new file mode 100644 index 00000000..03f18e93 --- /dev/null +++ b/Examples/RollbarDemo/RollbarDemo.xcodeproj/xcshareddata/xcschemes/RollbarDemo.xcscheme @@ -0,0 +1,77 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Examples/RollbarDemo/RollbarDemo/ContentView.swift b/Examples/RollbarDemo/RollbarDemo/ContentView.swift index 0f676b90..45c29f6a 100644 --- a/Examples/RollbarDemo/RollbarDemo/ContentView.swift +++ b/Examples/RollbarDemo/RollbarDemo/ContentView.swift @@ -17,8 +17,7 @@ struct ContentView: View { func button(_ title: String, action: @escaping () -> ()) -> some View { Button(title, action: action) - .buttonStyle(.bordered) - .tint(.blue) + .frame(height: 24.0) } func accessTokenIsValid(_ accessToken: String) -> Bool { diff --git a/Examples/RollbarDemo/RollbarDemo/LaunchScreen.storyboard b/Examples/RollbarDemo/RollbarDemo/LaunchScreen.storyboard new file mode 100644 index 00000000..c85e73fd --- /dev/null +++ b/Examples/RollbarDemo/RollbarDemo/LaunchScreen.storyboard @@ -0,0 +1,40 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Examples/RollbarDemo/RollbarDemo/RollbarDemoApp.swift b/Examples/RollbarDemo/RollbarDemo/RollbarDemoApp.swift index 959d3c96..4fccc60f 100644 --- a/Examples/RollbarDemo/RollbarDemo/RollbarDemoApp.swift +++ b/Examples/RollbarDemo/RollbarDemo/RollbarDemoApp.swift @@ -3,23 +3,10 @@ import RollbarNotifier @main struct RollbarDemoApp: App { - @UIApplicationDelegateAdaptor(AppDelegate.self) var appDelegate - - var body: some Scene { - WindowGroup { - ContentView() - } - } -} - -class AppDelegate: NSObject, UIApplicationDelegate { @AppStorage("rollbar_endpoint") var endpoint = "https://api.rollbar.com/api/1/item/" @AppStorage("rollbar_post_client_item_access_token") var accessToken = "" - func application( - _ application: UIApplication, - didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil - ) -> Bool { + init() { // Dynamically read these settings from your config settings on application startup. let accessToken = self.accessToken // Rollbar post_client_item access token let environment = "staging" @@ -68,8 +55,12 @@ class AppDelegate: NSObject, UIApplicationDelegate { // Initialize a Rollbar shared instance with a crash collector Rollbar.initWithConfiguration(config) + } - return true + var body: some Scene { + WindowGroup { + ContentView() + } } } diff --git a/Examples/RollbarObjCDemo/RollbarObjCDemo.xcodeproj/project.pbxproj b/Examples/RollbarObjCDemo/RollbarObjCDemo.xcodeproj/project.pbxproj index e356c10e..141be418 100644 --- a/Examples/RollbarObjCDemo/RollbarObjCDemo.xcodeproj/project.pbxproj +++ b/Examples/RollbarObjCDemo/RollbarObjCDemo.xcodeproj/project.pbxproj @@ -7,7 +7,6 @@ objects = { /* Begin PBXBuildFile section */ - 3BDB825A292D67900093AC9D /* SceneDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 3BDB8258292D67900093AC9D /* SceneDelegate.m */; }; 55684F702553B4C400F82F34 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 55684F6F2553B4C400F82F34 /* AppDelegate.m */; }; 55684F762553B4C400F82F34 /* ViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 55684F752553B4C400F82F34 /* ViewController.m */; }; 55684F792553B4C400F82F34 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 55684F772553B4C400F82F34 /* Main.storyboard */; }; @@ -19,9 +18,6 @@ /* Begin PBXFileReference section */ 3B1DED342A6846A0003936E7 /* RollbarObjCDemo.entitlements */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.entitlements; path = RollbarObjCDemo.entitlements; sourceTree = ""; }; - 3BDB8258292D67900093AC9D /* SceneDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SceneDelegate.m; sourceTree = ""; }; - 3BDB8259292D67900093AC9D /* SceneDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SceneDelegate.h; sourceTree = ""; }; - 3BDB825B292E34990093AC9D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; path = Info.plist; sourceTree = ""; }; 55684F6B2553B4C400F82F34 /* RollbarObjCDemo.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = RollbarObjCDemo.app; sourceTree = BUILT_PRODUCTS_DIR; }; 55684F6E2553B4C400F82F34 /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = ""; }; 55684F6F2553B4C400F82F34 /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = ""; }; @@ -69,15 +65,12 @@ 55684F6E2553B4C400F82F34 /* AppDelegate.h */, 55684F6F2553B4C400F82F34 /* AppDelegate.m */, 55684F802553B4C700F82F34 /* main.m */, - 3BDB8259292D67900093AC9D /* SceneDelegate.h */, - 3BDB8258292D67900093AC9D /* SceneDelegate.m */, 55684F742553B4C400F82F34 /* ViewController.h */, 55684F752553B4C400F82F34 /* ViewController.m */, 55684F7C2553B4C700F82F34 /* LaunchScreen.storyboard */, 55684F772553B4C400F82F34 /* Main.storyboard */, 3B1DED342A6846A0003936E7 /* RollbarObjCDemo.entitlements */, 55684F7A2553B4C700F82F34 /* Assets.xcassets */, - 3BDB825B292E34990093AC9D /* Info.plist */, ); path = RollbarObjCDemo; sourceTree = ""; @@ -166,7 +159,6 @@ 55684F762553B4C400F82F34 /* ViewController.m in Sources */, 55684F702553B4C400F82F34 /* AppDelegate.m in Sources */, 55684F812553B4C700F82F34 /* main.m in Sources */, - 3BDB825A292D67900093AC9D /* SceneDelegate.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -318,7 +310,6 @@ CODE_SIGN_STYLE = Automatic; CURRENT_PROJECT_VERSION = 10; DEVELOPMENT_TEAM = 9P5JVC2F34; - INFOPLIST_FILE = RollbarObjCDemo/Info.plist; INFOPLIST_KEY_CFBundleDisplayName = "Rollbar ObjC Demo"; INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.developer-tools"; INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES; @@ -327,6 +318,7 @@ INFOPLIST_KEY_UIRequiredDeviceCapabilities = armv7; INFOPLIST_KEY_UIRequiresFullScreen = YES; INFOPLIST_KEY_UISupportedInterfaceOrientations = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown"; + IPHONEOS_DEPLOYMENT_TARGET = 11.0; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", @@ -349,7 +341,6 @@ CODE_SIGN_STYLE = Automatic; CURRENT_PROJECT_VERSION = 10; DEVELOPMENT_TEAM = 9P5JVC2F34; - INFOPLIST_FILE = RollbarObjCDemo/Info.plist; INFOPLIST_KEY_CFBundleDisplayName = "Rollbar ObjC Demo"; INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.developer-tools"; INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES; @@ -358,6 +349,7 @@ INFOPLIST_KEY_UIRequiredDeviceCapabilities = armv7; INFOPLIST_KEY_UIRequiresFullScreen = YES; INFOPLIST_KEY_UISupportedInterfaceOrientations = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown"; + IPHONEOS_DEPLOYMENT_TARGET = 11.0; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", diff --git a/Examples/RollbarObjCDemo/RollbarObjCDemo/AppDelegate.h b/Examples/RollbarObjCDemo/RollbarObjCDemo/AppDelegate.h index 3254d7a6..230a761d 100644 --- a/Examples/RollbarObjCDemo/RollbarObjCDemo/AppDelegate.h +++ b/Examples/RollbarObjCDemo/RollbarObjCDemo/AppDelegate.h @@ -2,5 +2,7 @@ @interface AppDelegate : UIResponder +@property (nullable, nonatomic, strong) UIWindow *window; + @end diff --git a/Examples/RollbarObjCDemo/RollbarObjCDemo/AppDelegate.m b/Examples/RollbarObjCDemo/RollbarObjCDemo/AppDelegate.m index e1397e17..64545fa0 100644 --- a/Examples/RollbarObjCDemo/RollbarObjCDemo/AppDelegate.m +++ b/Examples/RollbarObjCDemo/RollbarObjCDemo/AppDelegate.m @@ -23,15 +23,4 @@ - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:( return YES; } -#pragma mark - UISceneSession lifecycle - -- (UISceneConfiguration *) application:(UIApplication *)application -configurationForConnectingSceneSession:(UISceneSession *)connectingSceneSession - options:(UISceneConnectionOptions *)options { - // Called when a new scene session is being created. - // Use this method to select a configuration to create the new scene with. - return [[UISceneConfiguration alloc] initWithName:@"Default Configuration" - sessionRole:connectingSceneSession.role]; -} - @end diff --git a/Examples/RollbarObjCDemo/RollbarObjCDemo/Base.lproj/Main.storyboard b/Examples/RollbarObjCDemo/RollbarObjCDemo/Base.lproj/Main.storyboard index e780711c..e734a17e 100644 --- a/Examples/RollbarObjCDemo/RollbarObjCDemo/Base.lproj/Main.storyboard +++ b/Examples/RollbarObjCDemo/RollbarObjCDemo/Base.lproj/Main.storyboard @@ -1,9 +1,9 @@ - + - + @@ -27,97 +27,97 @@