Mercurial > public > lazybear
changeset 163:9d519f230f26
Start clean project
author | Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com> |
---|---|
date | Wed, 17 Feb 2021 20:21:57 +0100 |
parents | 6488392684cc |
children | f74a364441ca |
files | .gitignore LazyBear.xcodeproj/project.pbxproj LazyBear.xcodeproj/project.xcworkspace/contents.xcworkspacedata LazyBear.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist LazyBear.xcodeproj/project.xcworkspace/xcuserdata/dennis.xcuserdatad/UserInterfaceState.xcuserstate LazyBear.xcodeproj/xcshareddata/xcschemes/LazyBear.xcscheme LazyBear.xcodeproj/xcuserdata/dennis.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist LazyBear.xcodeproj/xcuserdata/dennis.xcuserdatad/xcschemes/xcschememanagement.plist LazyBear/LazyBear.xcodeproj/project.pbxproj LazyBear/LazyBear.xcodeproj/project.xcworkspace/contents.xcworkspacedata LazyBear/LazyBear.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist LazyBear/LazyBear.xcodeproj/project.xcworkspace/xcuserdata/dennis.xcuserdatad/UserInterfaceState.xcuserstate LazyBear/LazyBear.xcodeproj/xcuserdata/dennis.xcuserdatad/xcschemes/xcschememanagement.plist LazyBear/LazyBear/Assets.xcassets/AccentColor.colorset/Contents.json LazyBear/LazyBear/Assets.xcassets/AppIcon.appiconset/Contents.json LazyBear/LazyBear/Assets.xcassets/Contents.json LazyBear/LazyBear/ContentView.swift LazyBear/LazyBear/Info.plist LazyBear/LazyBear/LazyBear.xcdatamodeld/.xccurrentversion LazyBear/LazyBear/LazyBear.xcdatamodeld/LazyBear.xcdatamodel/contents LazyBear/LazyBear/LazyBearApp.swift LazyBear/LazyBear/Persistence.swift LazyBear/LazyBear/Preview Content/Preview Assets.xcassets/Contents.json lazybear/Assets.xcassets/AppIcon.appiconset/Contents.json lazybear/Assets.xcassets/Contents.json lazybear/Assets.xcassets/Custom Colors/Contents.json lazybear/Assets.xcassets/Custom Colors/launch.colorset/Contents.json lazybear/Assets.xcassets/Custom Colors/placeholder.colorset/Contents.json lazybear/Classes/WatchlistManager.swift lazybear/Configuration.storekit lazybear/ContentView.swift lazybear/Info.plist lazybear/LazyBear.entitlements lazybear/LazyBear.xcdatamodeld/LazyBear.xcdatamodel/contents lazybear/LazyBearApp.swift lazybear/Persistence.swift lazybear/Preview Content/Preview Assets.xcassets/Contents.json lazybear/Tests/TestAPI.swift lazybear/UI/Row.swift lazybear/UI/Watchlist.swift lazybear/Views/Insiders/InsiderTransactions.swift lazybear/Views/Insiders/TransactionDetail.swift lazybear/Views/Insiders/TransactionRow.swift |
diffstat | 43 files changed, 733 insertions(+), 1282 deletions(-) [+] |
line wrap: on
line diff
--- a/.gitignore Wed Feb 17 20:11:16 2021 +0100 +++ b/.gitignore Wed Feb 17 20:21:57 2021 +0100 @@ -1,4 +1,4 @@ .DS_Store -lazybear/.DS_Store -lazybear/Production.xcconfig -lazybear/Sandbox.xcconfig +LazyBear/.DS_Store +LazyBear/Production.xcconfig +LazyBear/Sandbox.xcconfig
--- a/LazyBear.xcodeproj/project.pbxproj Wed Feb 17 20:11:16 2021 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,423 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 50; - objects = { - -/* Begin PBXBuildFile section */ - 95002580256D17D9008FFD28 /* StoreKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9500257F256D17D9008FFD28 /* StoreKit.framework */; }; - 950C0BB625DD9867006A49BC /* WatchlistManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 950C0BB525DD9867006A49BC /* WatchlistManager.swift */; }; - 951F589125DD86F200E051E0 /* TestAPI.swift in Sources */ = {isa = PBXBuildFile; fileRef = 951F589025DD86F200E051E0 /* TestAPI.swift */; }; - 951F589A25DD8A8100E051E0 /* Row.swift in Sources */ = {isa = PBXBuildFile; fileRef = 951F589925DD8A8100E051E0 /* Row.swift */; }; - 951F589D25DD8A9C00E051E0 /* Watchlist.swift in Sources */ = {isa = PBXBuildFile; fileRef = 951F589C25DD8A9C00E051E0 /* Watchlist.swift */; }; - 951F58A125DD8CED00E051E0 /* Persistence.swift in Sources */ = {isa = PBXBuildFile; fileRef = 951F58A025DD8CED00E051E0 /* Persistence.swift */; }; - 95621AD925BF2EDB00BB17FC /* CloudKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 95621AD825BF2EDB00BB17FC /* CloudKit.framework */; }; - 95B04EB325212369000AD27F /* LazyBearApp.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95B04EB225212369000AD27F /* LazyBearApp.swift */; }; - 95B04EB525212369000AD27F /* ContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95B04EB425212369000AD27F /* ContentView.swift */; }; - 95B04EB72521236A000AD27F /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 95B04EB62521236A000AD27F /* Assets.xcassets */; }; - 95F7CAF625ADC7B7009E0E7C /* LazyBear.xcdatamodeld in Sources */ = {isa = PBXBuildFile; fileRef = 95F7CAF425ADC7B7009E0E7C /* LazyBear.xcdatamodeld */; }; -/* End PBXBuildFile section */ - -/* Begin PBXFileReference section */ - 95002578256D1564008FFD28 /* Configuration.storekit */ = {isa = PBXFileReference; lastKnownFileType = text; path = Configuration.storekit; sourceTree = "<group>"; }; - 9500257F256D17D9008FFD28 /* StoreKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = StoreKit.framework; path = System/Library/Frameworks/StoreKit.framework; sourceTree = SDKROOT; }; - 950C0BB525DD9867006A49BC /* WatchlistManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = WatchlistManager.swift; path = lazybear/Classes/WatchlistManager.swift; sourceTree = SOURCE_ROOT; }; - 951F589025DD86F200E051E0 /* TestAPI.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = TestAPI.swift; path = lazybear/Tests/TestAPI.swift; sourceTree = SOURCE_ROOT; }; - 951F589925DD8A8100E051E0 /* Row.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = Row.swift; path = lazybear/UI/Row.swift; sourceTree = SOURCE_ROOT; }; - 951F589C25DD8A9C00E051E0 /* Watchlist.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = Watchlist.swift; path = lazybear/UI/Watchlist.swift; sourceTree = SOURCE_ROOT; }; - 951F58A025DD8CED00E051E0 /* Persistence.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Persistence.swift; sourceTree = "<group>"; }; - 95621AD725BF2EC500BB17FC /* LazyBear.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = LazyBear.entitlements; sourceTree = "<group>"; }; - 95621AD825BF2EDB00BB17FC /* CloudKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CloudKit.framework; path = System/Library/Frameworks/CloudKit.framework; sourceTree = SDKROOT; }; - 95B04EAF25212369000AD27F /* LazyBear.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = LazyBear.app; sourceTree = BUILT_PRODUCTS_DIR; }; - 95B04EB225212369000AD27F /* LazyBearApp.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LazyBearApp.swift; sourceTree = "<group>"; }; - 95B04EB425212369000AD27F /* ContentView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ContentView.swift; sourceTree = "<group>"; }; - 95B04EB62521236A000AD27F /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; }; - 95B04EBB2521236A000AD27F /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; }; - 95F7CAF525ADC7B7009E0E7C /* LazyBear.xcdatamodel */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcdatamodel; path = LazyBear.xcdatamodel; sourceTree = "<group>"; }; - 95FF4EA925DD94430013319E /* Sandbox.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Sandbox.xcconfig; path = lazybear/Sandbox.xcconfig; sourceTree = SOURCE_ROOT; }; - 95FF4EAA25DD94720013319E /* Production.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Production.xcconfig; path = lazybear/Production.xcconfig; sourceTree = SOURCE_ROOT; }; -/* End PBXFileReference section */ - -/* Begin PBXFrameworksBuildPhase section */ - 95B04EAC25212369000AD27F /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 95621AD925BF2EDB00BB17FC /* CloudKit.framework in Frameworks */, - 95002580256D17D9008FFD28 /* StoreKit.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - 9500257E256D17D9008FFD28 /* Frameworks */ = { - isa = PBXGroup; - children = ( - 95621AD825BF2EDB00BB17FC /* CloudKit.framework */, - 9500257F256D17D9008FFD28 /* StoreKit.framework */, - ); - name = Frameworks; - sourceTree = "<group>"; - }; - 950C0BB425DD9852006A49BC /* Classes */ = { - isa = PBXGroup; - children = ( - 950C0BB525DD9867006A49BC /* WatchlistManager.swift */, - ); - path = Classes; - sourceTree = "<group>"; - }; - 951F588F25DD86E600E051E0 /* Tests */ = { - isa = PBXGroup; - children = ( - 951F589025DD86F200E051E0 /* TestAPI.swift */, - ); - path = Tests; - sourceTree = "<group>"; - }; - 951F589825DD8A1B00E051E0 /* UI */ = { - isa = PBXGroup; - children = ( - 951F589C25DD8A9C00E051E0 /* Watchlist.swift */, - 951F589925DD8A8100E051E0 /* Row.swift */, - ); - path = UI; - sourceTree = "<group>"; - }; - 95B04EA625212369000AD27F = { - isa = PBXGroup; - children = ( - 95B04EB125212369000AD27F /* LazyBear */, - 95B04EB025212369000AD27F /* Products */, - 9500257E256D17D9008FFD28 /* Frameworks */, - ); - sourceTree = "<group>"; - }; - 95B04EB025212369000AD27F /* Products */ = { - isa = PBXGroup; - children = ( - 95B04EAF25212369000AD27F /* LazyBear.app */, - ); - name = Products; - sourceTree = "<group>"; - }; - 95B04EB125212369000AD27F /* LazyBear */ = { - isa = PBXGroup; - children = ( - 95B04EB62521236A000AD27F /* Assets.xcassets */, - 95B04EBB2521236A000AD27F /* Info.plist */, - 95621AD725BF2EC500BB17FC /* LazyBear.entitlements */, - 95002578256D1564008FFD28 /* Configuration.storekit */, - 95F7CAF425ADC7B7009E0E7C /* LazyBear.xcdatamodeld */, - 95FF4EA925DD94430013319E /* Sandbox.xcconfig */, - 95FF4EAA25DD94720013319E /* Production.xcconfig */, - 951F58A025DD8CED00E051E0 /* Persistence.swift */, - 95B04EB225212369000AD27F /* LazyBearApp.swift */, - 95B04EB425212369000AD27F /* ContentView.swift */, - 951F589825DD8A1B00E051E0 /* UI */, - 950C0BB425DD9852006A49BC /* Classes */, - 951F588F25DD86E600E051E0 /* Tests */, - ); - path = LazyBear; - sourceTree = "<group>"; - }; -/* End PBXGroup section */ - -/* Begin PBXNativeTarget section */ - 95B04EAE25212369000AD27F /* LazyBear */ = { - isa = PBXNativeTarget; - buildConfigurationList = 95B04EBE2521236A000AD27F /* Build configuration list for PBXNativeTarget "LazyBear" */; - buildPhases = ( - 95B04EAB25212369000AD27F /* Sources */, - 95B04EAC25212369000AD27F /* Frameworks */, - 95B04EAD25212369000AD27F /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = LazyBear; - packageProductDependencies = ( - ); - productName = LazyBear; - productReference = 95B04EAF25212369000AD27F /* LazyBear.app */; - productType = "com.apple.product-type.application"; - }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - 95B04EA725212369000AD27F /* Project object */ = { - isa = PBXProject; - attributes = { - LastSwiftUpdateCheck = 1200; - LastUpgradeCheck = 1200; - TargetAttributes = { - 95B04EAE25212369000AD27F = { - CreatedOnToolsVersion = 12.0.1; - }; - }; - }; - buildConfigurationList = 95B04EAA25212369000AD27F /* Build configuration list for PBXProject "LazyBear" */; - compatibilityVersion = "Xcode 9.3"; - developmentRegion = en; - hasScannedForEncodings = 0; - knownRegions = ( - en, - Base, - ); - mainGroup = 95B04EA625212369000AD27F; - packageReferences = ( - ); - productRefGroup = 95B04EB025212369000AD27F /* Products */; - projectDirPath = ""; - projectRoot = ""; - targets = ( - 95B04EAE25212369000AD27F /* LazyBear */, - ); - }; -/* End PBXProject section */ - -/* Begin PBXResourcesBuildPhase section */ - 95B04EAD25212369000AD27F /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 95B04EB72521236A000AD27F /* Assets.xcassets in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXResourcesBuildPhase section */ - -/* Begin PBXSourcesBuildPhase section */ - 95B04EAB25212369000AD27F /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 950C0BB625DD9867006A49BC /* WatchlistManager.swift in Sources */, - 95B04EB525212369000AD27F /* ContentView.swift in Sources */, - 95B04EB325212369000AD27F /* LazyBearApp.swift in Sources */, - 951F589125DD86F200E051E0 /* TestAPI.swift in Sources */, - 951F58A125DD8CED00E051E0 /* Persistence.swift in Sources */, - 951F589A25DD8A8100E051E0 /* Row.swift in Sources */, - 95F7CAF625ADC7B7009E0E7C /* LazyBear.xcdatamodeld in Sources */, - 951F589D25DD8A9C00E051E0 /* Watchlist.swift in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXSourcesBuildPhase section */ - -/* Begin XCBuildConfiguration section */ - 95B04EBC2521236A000AD27F /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 95FF4EA925DD94430013319E /* Sandbox.xcconfig */; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = dwarf; - ENABLE_STRICT_OBJC_MSGSEND = YES; - ENABLE_TESTABILITY = YES; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_DYNAMIC_NO_PIC = NO; - GCC_NO_COMMON_BLOCKS = YES; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - ); - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 14.0; - MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; - MTL_FAST_MATH = YES; - ONLY_ACTIVE_ARCH = YES; - SDKROOT = iphoneos; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - }; - name = Debug; - }; - 95B04EBD2521236A000AD27F /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 95FF4EAA25DD94720013319E /* Production.xcconfig */; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - ENABLE_NS_ASSERTIONS = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_NO_COMMON_BLOCKS = YES; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 14.0; - MTL_ENABLE_DEBUG_INFO = NO; - MTL_FAST_MATH = YES; - ONLY_ACTIVE_ARCH = NO; - SDKROOT = iphoneos; - SWIFT_COMPILATION_MODE = wholemodule; - SWIFT_OPTIMIZATION_LEVEL = "-O"; - VALIDATE_PRODUCT = YES; - }; - name = Release; - }; - 95B04EBF2521236A000AD27F /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = ""; - CODE_SIGN_ENTITLEMENTS = LazyBear/LazyBear.entitlements; - CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 4; - DEVELOPMENT_ASSET_PATHS = LazyBear/Assets.xcassets; - DEVELOPMENT_TEAM = MTX83R5H8X; - ENABLE_PREVIEWS = YES; - INFOPLIST_FILE = LazyBear/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 14.0; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - ); - MACOSX_DEPLOYMENT_TARGET = 14; - MARKETING_VERSION = 3.0; - PRODUCT_BUNDLE_IDENTIFIER = dennis.LazyBear; - PRODUCT_NAME = "$(TARGET_NAME)"; - SUPPORTS_MACCATALYST = NO; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Debug; - }; - 95B04EC02521236A000AD27F /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = ""; - CODE_SIGN_ENTITLEMENTS = LazyBear/LazyBear.entitlements; - CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 4; - DEVELOPMENT_ASSET_PATHS = LazyBear/Assets.xcassets; - DEVELOPMENT_TEAM = MTX83R5H8X; - ENABLE_PREVIEWS = YES; - INFOPLIST_FILE = LazyBear/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 14.0; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - ); - MACOSX_DEPLOYMENT_TARGET = 14; - MARKETING_VERSION = 3.0; - PRODUCT_BUNDLE_IDENTIFIER = dennis.LazyBear; - PRODUCT_NAME = "$(TARGET_NAME)"; - SUPPORTS_MACCATALYST = NO; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Release; - }; -/* End XCBuildConfiguration section */ - -/* Begin XCConfigurationList section */ - 95B04EAA25212369000AD27F /* Build configuration list for PBXProject "LazyBear" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 95B04EBC2521236A000AD27F /* Debug */, - 95B04EBD2521236A000AD27F /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 95B04EBE2521236A000AD27F /* Build configuration list for PBXNativeTarget "LazyBear" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 95B04EBF2521236A000AD27F /* Debug */, - 95B04EC02521236A000AD27F /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; -/* End XCConfigurationList section */ - -/* Begin XCVersionGroup section */ - 95F7CAF425ADC7B7009E0E7C /* LazyBear.xcdatamodeld */ = { - isa = XCVersionGroup; - children = ( - 95F7CAF525ADC7B7009E0E7C /* LazyBear.xcdatamodel */, - ); - currentVersion = 95F7CAF525ADC7B7009E0E7C /* LazyBear.xcdatamodel */; - path = LazyBear.xcdatamodeld; - sourceTree = "<group>"; - versionGroupType = wrapper.xcdatamodel; - }; -/* End XCVersionGroup section */ - }; - rootObject = 95B04EA725212369000AD27F /* Project object */; -}
--- a/LazyBear.xcodeproj/project.xcworkspace/contents.xcworkspacedata Wed Feb 17 20:11:16 2021 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<Workspace - version = "1.0"> - <FileRef - location = "self:"> - </FileRef> -</Workspace>
--- a/LazyBear.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist Wed Feb 17 20:11:16 2021 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,8 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> -<plist version="1.0"> -<dict> - <key>IDEDidComputeMac32BitWarning</key> - <true/> -</dict> -</plist>
Binary file LazyBear.xcodeproj/project.xcworkspace/xcuserdata/dennis.xcuserdatad/UserInterfaceState.xcuserstate has changed
--- a/LazyBear.xcodeproj/xcshareddata/xcschemes/LazyBear.xcscheme Wed Feb 17 20:11:16 2021 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,81 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<Scheme - LastUpgradeVersion = "1220" - version = "1.3"> - <BuildAction - parallelizeBuildables = "YES" - buildImplicitDependencies = "YES"> - <BuildActionEntries> - <BuildActionEntry - buildForTesting = "YES" - buildForRunning = "YES" - buildForProfiling = "YES" - buildForArchiving = "YES" - buildForAnalyzing = "YES"> - <BuildableReference - BuildableIdentifier = "primary" - BlueprintIdentifier = "95B04EAE25212369000AD27F" - BuildableName = "LazyBear.app" - BlueprintName = "LazyBear" - ReferencedContainer = "container:LazyBear.xcodeproj"> - </BuildableReference> - </BuildActionEntry> - </BuildActionEntries> - </BuildAction> - <TestAction - buildConfiguration = "Debug" - selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB" - selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" - shouldUseLaunchSchemeArgsEnv = "YES"> - <Testables> - </Testables> - </TestAction> - <LaunchAction - buildConfiguration = "Debug" - selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB" - selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" - launchStyle = "0" - useCustomWorkingDirectory = "NO" - ignoresPersistentStateOnLaunch = "NO" - debugDocumentVersioning = "YES" - debugServiceExtension = "internal" - allowLocationSimulation = "YES"> - <BuildableProductRunnable - runnableDebuggingMode = "0"> - <BuildableReference - BuildableIdentifier = "primary" - BlueprintIdentifier = "95B04EAE25212369000AD27F" - BuildableName = "LazyBear.app" - BlueprintName = "LazyBear" - ReferencedContainer = "container:LazyBear.xcodeproj"> - </BuildableReference> - </BuildableProductRunnable> - <StoreKitConfigurationFileReference - identifier = "../../LazyBear/Configuration.storekit"> - </StoreKitConfigurationFileReference> - </LaunchAction> - <ProfileAction - buildConfiguration = "Release" - shouldUseLaunchSchemeArgsEnv = "YES" - savedToolIdentifier = "" - useCustomWorkingDirectory = "NO" - debugDocumentVersioning = "YES"> - <BuildableProductRunnable - runnableDebuggingMode = "0"> - <BuildableReference - BuildableIdentifier = "primary" - BlueprintIdentifier = "95B04EAE25212369000AD27F" - BuildableName = "LazyBear.app" - BlueprintName = "LazyBear" - ReferencedContainer = "container:LazyBear.xcodeproj"> - </BuildableReference> - </BuildableProductRunnable> - </ProfileAction> - <AnalyzeAction - buildConfiguration = "Debug"> - </AnalyzeAction> - <ArchiveAction - buildConfiguration = "Release" - revealArchiveInOrganizer = "YES"> - </ArchiveAction> -</Scheme>
--- a/LazyBear.xcodeproj/xcuserdata/dennis.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist Wed Feb 17 20:11:16 2021 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<Bucket - uuid = "79016611-2452-4690-9A7B-E8F21B52487D" - type = "1" - version = "2.0"> -</Bucket>
--- a/LazyBear.xcodeproj/xcuserdata/dennis.xcuserdatad/xcschemes/xcschememanagement.plist Wed Feb 17 20:11:16 2021 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,22 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> -<plist version="1.0"> -<dict> - <key>SchemeUserState</key> - <dict> - <key>LazyBear.xcscheme_^#shared#^_</key> - <dict> - <key>orderHint</key> - <integer>0</integer> - </dict> - </dict> - <key>SuppressBuildableAutocreation</key> - <dict> - <key>95B04EAE25212369000AD27F</key> - <dict> - <key>primary</key> - <true/> - </dict> - </dict> -</dict> -</plist>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/LazyBear/LazyBear.xcodeproj/project.pbxproj Wed Feb 17 20:21:57 2021 +0100 @@ -0,0 +1,358 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 50; + objects = { + +/* Begin PBXBuildFile section */ + 95672B6925DDA2E200DCBE4A /* LazyBearApp.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95672B6825DDA2E200DCBE4A /* LazyBearApp.swift */; }; + 95672B6B25DDA2E200DCBE4A /* ContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95672B6A25DDA2E200DCBE4A /* ContentView.swift */; }; + 95672B6D25DDA2E200DCBE4A /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 95672B6C25DDA2E200DCBE4A /* Assets.xcassets */; }; + 95672B7025DDA2E200DCBE4A /* Preview Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 95672B6F25DDA2E200DCBE4A /* Preview Assets.xcassets */; }; + 95672B7225DDA2E200DCBE4A /* Persistence.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95672B7125DDA2E200DCBE4A /* Persistence.swift */; }; + 95672B7525DDA2E200DCBE4A /* LazyBear.xcdatamodeld in Sources */ = {isa = PBXBuildFile; fileRef = 95672B7325DDA2E200DCBE4A /* LazyBear.xcdatamodeld */; }; +/* End PBXBuildFile section */ + +/* Begin PBXFileReference section */ + 95672B6525DDA2E200DCBE4A /* LazyBear.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = LazyBear.app; sourceTree = BUILT_PRODUCTS_DIR; }; + 95672B6825DDA2E200DCBE4A /* LazyBearApp.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LazyBearApp.swift; sourceTree = "<group>"; }; + 95672B6A25DDA2E200DCBE4A /* ContentView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ContentView.swift; sourceTree = "<group>"; }; + 95672B6C25DDA2E200DCBE4A /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; }; + 95672B6F25DDA2E200DCBE4A /* Preview Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = "Preview Assets.xcassets"; sourceTree = "<group>"; }; + 95672B7125DDA2E200DCBE4A /* Persistence.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Persistence.swift; sourceTree = "<group>"; }; + 95672B7425DDA2E200DCBE4A /* LazyBear.xcdatamodel */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcdatamodel; path = LazyBear.xcdatamodel; sourceTree = "<group>"; }; + 95672B7625DDA2E200DCBE4A /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; }; + 95672B7F25DDA36E00DCBE4A /* Production.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Production.xcconfig; sourceTree = "<group>"; }; + 95672B8025DDA37500DCBE4A /* Sandbox.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Sandbox.xcconfig; sourceTree = "<group>"; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 95672B6225DDA2E200DCBE4A /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 95672B5C25DDA2E200DCBE4A = { + isa = PBXGroup; + children = ( + 95672B6725DDA2E200DCBE4A /* LazyBear */, + 95672B6625DDA2E200DCBE4A /* Products */, + ); + sourceTree = "<group>"; + }; + 95672B6625DDA2E200DCBE4A /* Products */ = { + isa = PBXGroup; + children = ( + 95672B6525DDA2E200DCBE4A /* LazyBear.app */, + ); + name = Products; + sourceTree = "<group>"; + }; + 95672B6725DDA2E200DCBE4A /* LazyBear */ = { + isa = PBXGroup; + children = ( + 95672B6825DDA2E200DCBE4A /* LazyBearApp.swift */, + 95672B6A25DDA2E200DCBE4A /* ContentView.swift */, + 95672B6C25DDA2E200DCBE4A /* Assets.xcassets */, + 95672B7125DDA2E200DCBE4A /* Persistence.swift */, + 95672B7625DDA2E200DCBE4A /* Info.plist */, + 95672B7325DDA2E200DCBE4A /* LazyBear.xcdatamodeld */, + 95672B6E25DDA2E200DCBE4A /* Preview Content */, + 95672B7F25DDA36E00DCBE4A /* Production.xcconfig */, + 95672B8025DDA37500DCBE4A /* Sandbox.xcconfig */, + ); + path = LazyBear; + sourceTree = "<group>"; + }; + 95672B6E25DDA2E200DCBE4A /* Preview Content */ = { + isa = PBXGroup; + children = ( + 95672B6F25DDA2E200DCBE4A /* Preview Assets.xcassets */, + ); + path = "Preview Content"; + sourceTree = "<group>"; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + 95672B6425DDA2E200DCBE4A /* LazyBear */ = { + isa = PBXNativeTarget; + buildConfigurationList = 95672B7925DDA2E200DCBE4A /* Build configuration list for PBXNativeTarget "LazyBear" */; + buildPhases = ( + 95672B6125DDA2E200DCBE4A /* Sources */, + 95672B6225DDA2E200DCBE4A /* Frameworks */, + 95672B6325DDA2E200DCBE4A /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = LazyBear; + productName = LazyBear; + productReference = 95672B6525DDA2E200DCBE4A /* LazyBear.app */; + productType = "com.apple.product-type.application"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 95672B5D25DDA2E200DCBE4A /* Project object */ = { + isa = PBXProject; + attributes = { + LastSwiftUpdateCheck = 1240; + LastUpgradeCheck = 1240; + TargetAttributes = { + 95672B6425DDA2E200DCBE4A = { + CreatedOnToolsVersion = 12.4; + }; + }; + }; + buildConfigurationList = 95672B6025DDA2E200DCBE4A /* Build configuration list for PBXProject "LazyBear" */; + compatibilityVersion = "Xcode 9.3"; + developmentRegion = en; + hasScannedForEncodings = 0; + knownRegions = ( + en, + Base, + ); + mainGroup = 95672B5C25DDA2E200DCBE4A; + productRefGroup = 95672B6625DDA2E200DCBE4A /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 95672B6425DDA2E200DCBE4A /* LazyBear */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + 95672B6325DDA2E200DCBE4A /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 95672B7025DDA2E200DCBE4A /* Preview Assets.xcassets in Resources */, + 95672B6D25DDA2E200DCBE4A /* Assets.xcassets in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 95672B6125DDA2E200DCBE4A /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 95672B7225DDA2E200DCBE4A /* Persistence.swift in Sources */, + 95672B6B25DDA2E200DCBE4A /* ContentView.swift in Sources */, + 95672B6925DDA2E200DCBE4A /* LazyBearApp.swift in Sources */, + 95672B7525DDA2E200DCBE4A /* LazyBear.xcdatamodeld in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin XCBuildConfiguration section */ + 95672B7725DDA2E200DCBE4A /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = dwarf; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 14.4; + MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; + MTL_FAST_MATH = YES; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = iphoneos; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + }; + name = Debug; + }; + 95672B7825DDA2E200DCBE4A /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 14.4; + MTL_ENABLE_DEBUG_INFO = NO; + MTL_FAST_MATH = YES; + SDKROOT = iphoneos; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; + 95672B7A25DDA2E200DCBE4A /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; + CODE_SIGN_STYLE = Automatic; + DEVELOPMENT_ASSET_PATHS = "\"LazyBear/Preview Content\""; + DEVELOPMENT_TEAM = MTX83R5H8X; + ENABLE_PREVIEWS = YES; + INFOPLIST_FILE = LazyBear/Info.plist; + IPHONEOS_DEPLOYMENT_TARGET = 14.0; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = dennis.LazyBear; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Debug; + }; + 95672B7B25DDA2E200DCBE4A /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; + CODE_SIGN_STYLE = Automatic; + DEVELOPMENT_ASSET_PATHS = "\"LazyBear/Preview Content\""; + DEVELOPMENT_TEAM = MTX83R5H8X; + ENABLE_PREVIEWS = YES; + INFOPLIST_FILE = LazyBear/Info.plist; + IPHONEOS_DEPLOYMENT_TARGET = 14.0; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = dennis.LazyBear; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 95672B6025DDA2E200DCBE4A /* Build configuration list for PBXProject "LazyBear" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 95672B7725DDA2E200DCBE4A /* Debug */, + 95672B7825DDA2E200DCBE4A /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 95672B7925DDA2E200DCBE4A /* Build configuration list for PBXNativeTarget "LazyBear" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 95672B7A25DDA2E200DCBE4A /* Debug */, + 95672B7B25DDA2E200DCBE4A /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + +/* Begin XCVersionGroup section */ + 95672B7325DDA2E200DCBE4A /* LazyBear.xcdatamodeld */ = { + isa = XCVersionGroup; + children = ( + 95672B7425DDA2E200DCBE4A /* LazyBear.xcdatamodel */, + ); + currentVersion = 95672B7425DDA2E200DCBE4A /* LazyBear.xcdatamodel */; + path = LazyBear.xcdatamodeld; + sourceTree = "<group>"; + versionGroupType = wrapper.xcdatamodel; + }; +/* End XCVersionGroup section */ + }; + rootObject = 95672B5D25DDA2E200DCBE4A /* Project object */; +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/LazyBear/LazyBear.xcodeproj/project.xcworkspace/contents.xcworkspacedata Wed Feb 17 20:21:57 2021 +0100 @@ -0,0 +1,7 @@ +<?xml version="1.0" encoding="UTF-8"?> +<Workspace + version = "1.0"> + <FileRef + location = "self:"> + </FileRef> +</Workspace>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/LazyBear/LazyBear.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist Wed Feb 17 20:21:57 2021 +0100 @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> +<plist version="1.0"> +<dict> + <key>IDEDidComputeMac32BitWarning</key> + <true/> +</dict> +</plist>
Binary file LazyBear/LazyBear.xcodeproj/project.xcworkspace/xcuserdata/dennis.xcuserdatad/UserInterfaceState.xcuserstate has changed
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/LazyBear/LazyBear.xcodeproj/xcuserdata/dennis.xcuserdatad/xcschemes/xcschememanagement.plist Wed Feb 17 20:21:57 2021 +0100 @@ -0,0 +1,14 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> +<plist version="1.0"> +<dict> + <key>SchemeUserState</key> + <dict> + <key>LazyBear.xcscheme_^#shared#^_</key> + <dict> + <key>orderHint</key> + <integer>0</integer> + </dict> + </dict> +</dict> +</plist>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/LazyBear/LazyBear/Assets.xcassets/AccentColor.colorset/Contents.json Wed Feb 17 20:21:57 2021 +0100 @@ -0,0 +1,11 @@ +{ + "colors" : [ + { + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/LazyBear/LazyBear/Assets.xcassets/AppIcon.appiconset/Contents.json Wed Feb 17 20:21:57 2021 +0100 @@ -0,0 +1,98 @@ +{ + "images" : [ + { + "idiom" : "iphone", + "scale" : "2x", + "size" : "20x20" + }, + { + "idiom" : "iphone", + "scale" : "3x", + "size" : "20x20" + }, + { + "idiom" : "iphone", + "scale" : "2x", + "size" : "29x29" + }, + { + "idiom" : "iphone", + "scale" : "3x", + "size" : "29x29" + }, + { + "idiom" : "iphone", + "scale" : "2x", + "size" : "40x40" + }, + { + "idiom" : "iphone", + "scale" : "3x", + "size" : "40x40" + }, + { + "idiom" : "iphone", + "scale" : "2x", + "size" : "60x60" + }, + { + "idiom" : "iphone", + "scale" : "3x", + "size" : "60x60" + }, + { + "idiom" : "ipad", + "scale" : "1x", + "size" : "20x20" + }, + { + "idiom" : "ipad", + "scale" : "2x", + "size" : "20x20" + }, + { + "idiom" : "ipad", + "scale" : "1x", + "size" : "29x29" + }, + { + "idiom" : "ipad", + "scale" : "2x", + "size" : "29x29" + }, + { + "idiom" : "ipad", + "scale" : "1x", + "size" : "40x40" + }, + { + "idiom" : "ipad", + "scale" : "2x", + "size" : "40x40" + }, + { + "idiom" : "ipad", + "scale" : "1x", + "size" : "76x76" + }, + { + "idiom" : "ipad", + "scale" : "2x", + "size" : "76x76" + }, + { + "idiom" : "ipad", + "scale" : "2x", + "size" : "83.5x83.5" + }, + { + "idiom" : "ios-marketing", + "scale" : "1x", + "size" : "1024x1024" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/LazyBear/LazyBear/Assets.xcassets/Contents.json Wed Feb 17 20:21:57 2021 +0100 @@ -0,0 +1,6 @@ +{ + "info" : { + "author" : "xcode", + "version" : 1 + } +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/LazyBear/LazyBear/ContentView.swift Wed Feb 17 20:21:57 2021 +0100 @@ -0,0 +1,80 @@ +// +// ContentView.swift +// LazyBear +// +// Created by Dennis Concepción Martín on 17/2/21. +// + +import SwiftUI +import CoreData + +struct ContentView: View { + @Environment(\.managedObjectContext) private var viewContext + + @FetchRequest( + sortDescriptors: [NSSortDescriptor(keyPath: \Item.timestamp, ascending: true)], + animation: .default) + private var items: FetchedResults<Item> + + var body: some View { + List { + ForEach(items) { item in + Text("Item at \(item.timestamp!, formatter: itemFormatter)") + } + .onDelete(perform: deleteItems) + } + .toolbar { + #if os(iOS) + EditButton() + #endif + + Button(action: addItem) { + Label("Add Item", systemImage: "plus") + } + } + } + + private func addItem() { + withAnimation { + let newItem = Item(context: viewContext) + newItem.timestamp = Date() + + do { + try viewContext.save() + } catch { + // Replace this implementation with code to handle the error appropriately. + // fatalError() causes the application to generate a crash log and terminate. You should not use this function in a shipping application, although it may be useful during development. + let nsError = error as NSError + fatalError("Unresolved error \(nsError), \(nsError.userInfo)") + } + } + } + + private func deleteItems(offsets: IndexSet) { + withAnimation { + offsets.map { items[$0] }.forEach(viewContext.delete) + + do { + try viewContext.save() + } catch { + // Replace this implementation with code to handle the error appropriately. + // fatalError() causes the application to generate a crash log and terminate. You should not use this function in a shipping application, although it may be useful during development. + let nsError = error as NSError + fatalError("Unresolved error \(nsError), \(nsError.userInfo)") + } + } + } +} + +private let itemFormatter: DateFormatter = { + let formatter = DateFormatter() + formatter.dateStyle = .short + formatter.timeStyle = .medium + return formatter +}() + +struct ContentView_Previews: PreviewProvider { + static var previews: some View { + ContentView().environment(\.managedObjectContext, PersistenceController.preview.container.viewContext) + } +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/LazyBear/LazyBear/Info.plist Wed Feb 17 20:21:57 2021 +0100 @@ -0,0 +1,50 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> +<plist version="1.0"> +<dict> + <key>CFBundleDevelopmentRegion</key> + <string>$(DEVELOPMENT_LANGUAGE)</string> + <key>CFBundleExecutable</key> + <string>$(EXECUTABLE_NAME)</string> + <key>CFBundleIdentifier</key> + <string>$(PRODUCT_BUNDLE_IDENTIFIER)</string> + <key>CFBundleInfoDictionaryVersion</key> + <string>6.0</string> + <key>CFBundleName</key> + <string>$(PRODUCT_NAME)</string> + <key>CFBundlePackageType</key> + <string>$(PRODUCT_BUNDLE_PACKAGE_TYPE)</string> + <key>CFBundleShortVersionString</key> + <string>1.0</string> + <key>CFBundleVersion</key> + <string>1</string> + <key>LSRequiresIPhoneOS</key> + <true/> + <key>UIApplicationSceneManifest</key> + <dict> + <key>UIApplicationSupportsMultipleScenes</key> + <true/> + </dict> + <key>UIApplicationSupportsIndirectInputEvents</key> + <true/> + <key>UILaunchScreen</key> + <dict/> + <key>UIRequiredDeviceCapabilities</key> + <array> + <string>armv7</string> + </array> + <key>UISupportedInterfaceOrientations</key> + <array> + <string>UIInterfaceOrientationPortrait</string> + <string>UIInterfaceOrientationLandscapeLeft</string> + <string>UIInterfaceOrientationLandscapeRight</string> + </array> + <key>UISupportedInterfaceOrientations~ipad</key> + <array> + <string>UIInterfaceOrientationPortrait</string> + <string>UIInterfaceOrientationPortraitUpsideDown</string> + <string>UIInterfaceOrientationLandscapeLeft</string> + <string>UIInterfaceOrientationLandscapeRight</string> + </array> +</dict> +</plist>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/LazyBear/LazyBear/LazyBear.xcdatamodeld/.xccurrentversion Wed Feb 17 20:21:57 2021 +0100 @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> +<plist version="1.0"> +<dict> + <key>_XCCurrentVersionName</key> + <string>LazyBear.xcdatamodel</string> +</dict> +</plist>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/LazyBear/LazyBear/LazyBear.xcdatamodeld/LazyBear.xcdatamodel/contents Wed Feb 17 20:21:57 2021 +0100 @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8" standalone="yes"?> +<model type="com.apple.IDECoreDataModeler.DataModel" documentVersion="1.0" lastSavedToolsVersion="1" systemVersion="11A491" minimumToolsVersion="Automatic" sourceLanguage="Swift" usedWithCloudKit="true" userDefinedModelVersionIdentifier=""> + <entity name="Item" representedClassName="Item" syncable="YES" codeGenerationType="class"> + <attribute name="timestamp" optional="YES" attributeType="Date" usesScalarValueType="NO"/> + </entity> + <elements> + <element name="Item" positionX="-63" positionY="-18" width="128" height="44"/> + </elements> +</model> \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/LazyBear/LazyBear/LazyBearApp.swift Wed Feb 17 20:21:57 2021 +0100 @@ -0,0 +1,20 @@ +// +// LazyBearApp.swift +// LazyBear +// +// Created by Dennis Concepción Martín on 17/2/21. +// + +import SwiftUI + +@main +struct LazyBearApp: App { + let persistenceController = PersistenceController.shared + + var body: some Scene { + WindowGroup { + ContentView() + .environment(\.managedObjectContext, persistenceController.container.viewContext) + } + } +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/LazyBear/LazyBear/Persistence.swift Wed Feb 17 20:21:57 2021 +0100 @@ -0,0 +1,55 @@ +// +// Persistence.swift +// LazyBear +// +// Created by Dennis Concepción Martín on 17/2/21. +// + +import CoreData + +struct PersistenceController { + static let shared = PersistenceController() + + static var preview: PersistenceController = { + let result = PersistenceController(inMemory: true) + let viewContext = result.container.viewContext + for _ in 0..<10 { + let newItem = Item(context: viewContext) + newItem.timestamp = Date() + } + do { + try viewContext.save() + } catch { + // Replace this implementation with code to handle the error appropriately. + // fatalError() causes the application to generate a crash log and terminate. You should not use this function in a shipping application, although it may be useful during development. + let nsError = error as NSError + fatalError("Unresolved error \(nsError), \(nsError.userInfo)") + } + return result + }() + + let container: NSPersistentCloudKitContainer + + init(inMemory: Bool = false) { + container = NSPersistentCloudKitContainer(name: "LazyBear") + if inMemory { + container.persistentStoreDescriptions.first!.url = URL(fileURLWithPath: "/dev/null") + } + container.loadPersistentStores(completionHandler: { (storeDescription, error) in + if let error = error as NSError? { + // Replace this implementation with code to handle the error appropriately. + // fatalError() causes the application to generate a crash log and terminate. You should not use this function in a shipping application, although it may be useful during development. + + /* + Typical reasons for an error here include: + * The parent directory does not exist, cannot be created, or disallows writing. + * The persistent store is not accessible, due to permissions or data protection when the device is locked. + * The device is out of space. + * The store could not be migrated to the current model version. + Check the error message to determine what the actual problem was. + */ + fatalError("Unresolved error \(error), \(error.userInfo)") + } + }) + } +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/LazyBear/LazyBear/Preview Content/Preview Assets.xcassets/Contents.json Wed Feb 17 20:21:57 2021 +0100 @@ -0,0 +1,6 @@ +{ + "info" : { + "author" : "xcode", + "version" : 1 + } +}
--- a/lazybear/Assets.xcassets/AppIcon.appiconset/Contents.json Wed Feb 17 20:11:16 2021 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,98 +0,0 @@ -{ - "images" : [ - { - "idiom" : "iphone", - "scale" : "2x", - "size" : "20x20" - }, - { - "idiom" : "iphone", - "scale" : "3x", - "size" : "20x20" - }, - { - "idiom" : "iphone", - "scale" : "2x", - "size" : "29x29" - }, - { - "idiom" : "iphone", - "scale" : "3x", - "size" : "29x29" - }, - { - "idiom" : "iphone", - "scale" : "2x", - "size" : "40x40" - }, - { - "idiom" : "iphone", - "scale" : "3x", - "size" : "40x40" - }, - { - "idiom" : "iphone", - "scale" : "2x", - "size" : "60x60" - }, - { - "idiom" : "iphone", - "scale" : "3x", - "size" : "60x60" - }, - { - "idiom" : "ipad", - "scale" : "1x", - "size" : "20x20" - }, - { - "idiom" : "ipad", - "scale" : "2x", - "size" : "20x20" - }, - { - "idiom" : "ipad", - "scale" : "1x", - "size" : "29x29" - }, - { - "idiom" : "ipad", - "scale" : "2x", - "size" : "29x29" - }, - { - "idiom" : "ipad", - "scale" : "1x", - "size" : "40x40" - }, - { - "idiom" : "ipad", - "scale" : "2x", - "size" : "40x40" - }, - { - "idiom" : "ipad", - "scale" : "1x", - "size" : "76x76" - }, - { - "idiom" : "ipad", - "scale" : "2x", - "size" : "76x76" - }, - { - "idiom" : "ipad", - "scale" : "2x", - "size" : "83.5x83.5" - }, - { - "idiom" : "ios-marketing", - "scale" : "1x", - "size" : "1024x1024" - } - ], - "info" : { - "author" : "xcode", - "version" : 1 - } -}
--- a/lazybear/Assets.xcassets/Contents.json Wed Feb 17 20:11:16 2021 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,6 +0,0 @@ -{ - "info" : { - "author" : "xcode", - "version" : 1 - } -}
--- a/lazybear/Assets.xcassets/Custom Colors/Contents.json Wed Feb 17 20:11:16 2021 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,6 +0,0 @@ -{ - "info" : { - "author" : "xcode", - "version" : 1 - } -}
--- a/lazybear/Assets.xcassets/Custom Colors/launch.colorset/Contents.json Wed Feb 17 20:11:16 2021 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,38 +0,0 @@ -{ - "colors" : [ - { - "color" : { - "color-space" : "srgb", - "components" : { - "alpha" : "1.000", - "blue" : "1.000", - "green" : "1.000", - "red" : "1.000" - } - }, - "idiom" : "universal" - }, - { - "appearances" : [ - { - "appearance" : "luminosity", - "value" : "dark" - } - ], - "color" : { - "color-space" : "srgb", - "components" : { - "alpha" : "1.000", - "blue" : "31", - "green" : "30", - "red" : "34" - } - }, - "idiom" : "universal" - } - ], - "info" : { - "author" : "xcode", - "version" : 1 - } -}
--- a/lazybear/Assets.xcassets/Custom Colors/placeholder.colorset/Contents.json Wed Feb 17 20:11:16 2021 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,38 +0,0 @@ -{ - "colors" : [ - { - "color" : { - "color-space" : "srgb", - "components" : { - "alpha" : "1.000", - "blue" : "204", - "green" : "202", - "red" : "202" - } - }, - "idiom" : "universal" - }, - { - "appearances" : [ - { - "appearance" : "luminosity", - "value" : "dark" - } - ], - "color" : { - "color-space" : "srgb", - "components" : { - "alpha" : "1.000", - "blue" : "1.000", - "green" : "1.000", - "red" : "1.000" - } - }, - "idiom" : "universal" - } - ], - "info" : { - "author" : "xcode", - "version" : 1 - } -}
--- a/lazybear/Classes/WatchlistManager.swift Wed Feb 17 20:11:16 2021 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,29 +0,0 @@ -// -// WatchlistManager.swift -// LazyBear -// -// Created by Dennis Concepción Martín on 17/2/21. -// - -import SwiftUI -/* -class WatchlistManager { - @Environment(\.managedObjectContext) private var viewContext - @FetchRequest(sortDescriptors: [NSSortDescriptor(keyPath: \WatchlistCompanies.name, ascending: true)]) - var companies: FetchedResults<WatchlistCompanies> - - // Add to watchlist - func addWatchlist(name: String, symbol: String) { - let watchlistCompanies = WatchlistCompanies(context: viewContext) - watchlistCompanies.name = name - watchlistCompanies.symbol = symbol - do { - try viewContext.save() - print("Company saved.") - } catch { - print(error.localizedDescription) - } - } - -} -*/
--- a/lazybear/Configuration.storekit Wed Feb 17 20:11:16 2021 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,15 +0,0 @@ -{ - "products" : [ - - ], - "settings" : { - - }, - "subscriptionGroups" : [ - - ], - "version" : { - "major" : 1, - "minor" : 0 - } -}
--- a/lazybear/ContentView.swift Wed Feb 17 20:11:16 2021 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,28 +0,0 @@ -// -// ContentView.swift -// LazyBear -// -// Created by Dennis Concepción Martín on 27/09/2020. -// - -import SwiftUI - -struct ContentView: View { - - var body: some View { - TabView { - // First view - Watchlist() - .tabItem { - Label("Menu", systemImage: "list.dash") - } - } - } -} - - -struct ContentView_Previews: PreviewProvider { - static var previews: some View { - ContentView() - } -}
--- a/lazybear/Info.plist Wed Feb 17 20:11:16 2021 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,61 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> -<plist version="1.0"> -<dict> - <key>IEX_API</key> - <string>$(IEX_API)</string> - <key>CFBundleDevelopmentRegion</key> - <string>$(DEVELOPMENT_LANGUAGE)</string> - <key>CFBundleDisplayName</key> - <string>LazyBear</string> - <key>CFBundleExecutable</key> - <string>$(EXECUTABLE_NAME)</string> - <key>CFBundleIdentifier</key> - <string>$(PRODUCT_BUNDLE_IDENTIFIER)</string> - <key>CFBundleInfoDictionaryVersion</key> - <string>6.0</string> - <key>CFBundleName</key> - <string>$(PRODUCT_NAME)</string> - <key>CFBundlePackageType</key> - <string>$(PRODUCT_BUNDLE_PACKAGE_TYPE)</string> - <key>CFBundleShortVersionString</key> - <string>$(MARKETING_VERSION)</string> - <key>CFBundleVersion</key> - <string>$(CURRENT_PROJECT_VERSION)</string> - <key>LSRequiresIPhoneOS</key> - <true/> - <key>UIApplicationSceneManifest</key> - <dict> - <key>UIApplicationSupportsMultipleScenes</key> - <false/> - </dict> - <key>UIApplicationSupportsIndirectInputEvents</key> - <true/> - <key>UILaunchScreen</key> - <dict> - <key>UIColorName</key> - <string></string> - <key>UIImageName</key> - <string></string> - <key>UIImageRespectsSafeAreaInsets</key> - <false/> - </dict> - <key>UIRequiredDeviceCapabilities</key> - <array> - <string>armv7</string> - </array> - <key>UIRequiresFullScreen</key> - <true/> - <key>UISupportedInterfaceOrientations</key> - <array> - <string>UIInterfaceOrientationPortrait</string> - </array> - <key>UISupportedInterfaceOrientations~ipad</key> - <array> - <string>UIInterfaceOrientationPortrait</string> - <string>UIInterfaceOrientationPortraitUpsideDown</string> - <string>UIInterfaceOrientationLandscapeLeft</string> - <string>UIInterfaceOrientationLandscapeRight</string> - </array> -</dict> -</plist>
--- a/lazybear/LazyBear.entitlements Wed Feb 17 20:11:16 2021 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,16 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> -<plist version="1.0"> -<dict> - <key>com.apple.developer.icloud-container-identifiers</key> - <array> - <string>iCloud.dennis.LazyBear</string> - </array> - <key>com.apple.developer.icloud-services</key> - <array> - <string>CloudKit</string> - </array> - <key>com.apple.developer.ubiquity-kvstore-identifier</key> - <string>$(TeamIdentifierPrefix)$(CFBundleIdentifier)</string> -</dict> -</plist>
--- a/lazybear/LazyBear.xcdatamodeld/LazyBear.xcdatamodel/contents Wed Feb 17 20:11:16 2021 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,10 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" standalone="yes"?> -<model type="com.apple.IDECoreDataModeler.DataModel" documentVersion="1.0" lastSavedToolsVersion="17709" systemVersion="20D74" minimumToolsVersion="Automatic" sourceLanguage="Swift" userDefinedModelVersionIdentifier=""> - <entity name="WatchlistCompanies" representedClassName="WatchlistCompanies" syncable="YES" codeGenerationType="class"> - <attribute name="name" optional="YES" attributeType="String"/> - <attribute name="symbol" optional="YES" attributeType="String"/> - </entity> - <elements> - <element name="WatchlistCompanies" positionX="-63" positionY="-18" width="128" height="59"/> - </elements> -</model> \ No newline at end of file
--- a/lazybear/LazyBearApp.swift Wed Feb 17 20:11:16 2021 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,20 +0,0 @@ -// -// LazyBearApp.swift -// LazyBear -// -// Created by Dennis Concepción Martín on 27/09/2020. -// - -import SwiftUI - -@main -struct LazyBearApp: App { - let persistenceController = PersistenceController.shared - - var body: some Scene { - WindowGroup { - ContentView() - .environment(\.managedObjectContext, persistenceController.container.viewContext) - } - } -}
--- a/lazybear/Persistence.swift Wed Feb 17 20:11:16 2021 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,55 +0,0 @@ -// -// Persistence.swift -// LazyBear -// -// Created by Dennis Concepción Martín on 17/2/21. -// - -import CoreData - -struct PersistenceController { - static let shared = PersistenceController() - - static var preview: PersistenceController = { - let result = PersistenceController(inMemory: true) - let viewContext = result.container.viewContext - for _ in 0..<2 { - let watchlistCompanies = WatchlistCompanies(context: viewContext) - watchlistCompanies.name = "apple inc" - watchlistCompanies.symbol = "aapl" - } - do { - try viewContext.save() - } catch { - // Replace this implementation with code to handle the error appropriately. - // fatalError() causes the application to generate a crash log and terminate. You should not use this function in a shipping application, although it may be useful during development. - let nsError = error as NSError - fatalError("Unresolved error \(nsError), \(nsError.userInfo)") - } - return result - }() - - let container: NSPersistentCloudKitContainer - - init(inMemory: Bool = false) { - container = NSPersistentCloudKitContainer(name: "LazyBear") - if inMemory { - container.persistentStoreDescriptions.first!.url = URL(fileURLWithPath: "/dev/null") - } - container.loadPersistentStores(completionHandler: { (storeDescription, error) in - if let error = error as NSError? { - // Replace this implementation with code to handle the error appropriately. - // fatalError() causes the application to generate a crash log and terminate. You should not use this function in a shipping application, although it may be useful during development. - /* - Typical reasons for an error here include: - * The parent directory does not exist, cannot be created, or disallows writing. - * The persistent store is not accessible, due to permissions or data protection when the device is locked. - * The device is out of space. - * The store could not be migrated to the current model version. - Check the error message to determine what the actual problem was. - */ - fatalError("Unresolved error \(error), \(error.userInfo)") - } - }) - } -}
--- a/lazybear/Preview Content/Preview Assets.xcassets/Contents.json Wed Feb 17 20:11:16 2021 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,6 +0,0 @@ -{ - "info" : { - "author" : "xcode", - "version" : 1 - } -}
--- a/lazybear/Tests/TestAPI.swift Wed Feb 17 20:11:16 2021 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,21 +0,0 @@ -// -// TestAPI.swift -// LazyBear -// -// Created by Dennis Concepción Martín on 17/2/21. -// - -import SwiftUI - -struct TestAPI: View { - var body: some View { - //let apiKey = Bundle.main.infoDictionary?["IEX_API"] - Text("Hello world") - } -} - -struct TestAPI_Previews: PreviewProvider { - static var previews: some View { - TestAPI() - } -}
--- a/lazybear/UI/Row.swift Wed Feb 17 20:11:16 2021 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,35 +0,0 @@ -// -// Row.swift -// LazyBear -// -// Created by Dennis Concepción Martín on 17/2/21. -// - -import SwiftUI - -struct Row: View { - @State var baseText: String - @State var underText: String? - - @State var leftView: AnyView? - @State var rightView: AnyView? - - var body: some View { - HStack { - leftView - VStack { - Text(baseText) - Text(underText ?? "") - } - - Spacer() - rightView - } - } -} - -struct Row_Previews: PreviewProvider { - static var previews: some View { - Row(baseText: "Some text") - } -}
--- a/lazybear/UI/Watchlist.swift Wed Feb 17 20:11:16 2021 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,47 +0,0 @@ -// -// Watchlist.swift -// LazyBear -// -// Created by Dennis Concepción Martín on 17/2/21. -// - -import SwiftUI - -struct Watchlist: View { - @Environment(\.managedObjectContext) private var viewContext - @FetchRequest(sortDescriptors: [NSSortDescriptor(keyPath: \WatchlistCompanies.name, ascending: true)]) - var companies: FetchedResults<WatchlistCompanies> - - var body: some View { - //let watchlistManager = WatchlistManager() - - - List(companies) { company in - let name = company.name ?? "Preview name" - let symbol = company.symbol ?? "Preview symbol" - Row(baseText: name, underText: symbol) - } - .onAppear { - //watchlistManager.addWatchlist(name: "Test", symbol: "Test") - } - } - - // Add to watchlist - private func addWatchlist(name: String, symbol: String) { - let watchlistCompanies = WatchlistCompanies(context: viewContext) - watchlistCompanies.name = name - watchlistCompanies.symbol = symbol - do { - try viewContext.save() - print("Company saved.") - } catch { - print(error.localizedDescription) - } - } -} - -struct Watchlist_Previews: PreviewProvider { - static var previews: some View { - Watchlist() - } -}
--- a/lazybear/Views/Insiders/InsiderTransactions.swift Wed Feb 17 20:11:16 2021 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,54 +0,0 @@ -// -// Insiders.swift -// LazyBear -// -// Created by Dennis Concepción Martín on 1/2/21. -// - -import SwiftUI - -struct InsiderTransactions: View { - var symbol: String - @EnvironmentObject var apiAccess: ApiAccess - - // <--------- API Job ---------> - @State private var url = String() { - didSet { request(url: url, model: [InsiderTransactionModel].self) { self.data = $0 } }} - - @State private var data = [InsiderTransactionModel]() - // <--------- API Job ---------> - - var body: some View { - VStack { - HStack { - Text("Insider transactions") - .font(.title) - .fontWeight(.semibold) - .padding([.leading, .bottom]) - Spacer() - } - .onAppear { getUrl() } - - List { - ForEach(data, id: \.self) { data in - TransactionRow(data: data) - } - } - } - } - - private func getUrl() { - // 1 -> Sandbox / 2 -> Production - let baseUrl = apiAccess.results[1].url ?? "" - let token = apiAccess.results[1].key ?? "" - let path = "/stable/stock/\(symbol)/insider-transactions?token=" - - self.url = baseUrl + path + token - } -} - -struct InsiderTransactions_Previews: PreviewProvider { - static var previews: some View { - InsiderTransactions(symbol: "aapl") - } -}
--- a/lazybear/Views/Insiders/TransactionDetail.swift Wed Feb 17 20:11:16 2021 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,83 +0,0 @@ -// -// TransactionDetail.swift -// LazyBear -// -// Created by Dennis Concepción Martín on 5/2/21. -// - -import SwiftUI - -struct TransactionDetail: View { - @State var data: InsiderTransactionModel - @Environment(\.presentationMode) var transactionDetailPresentation - - var body: some View { - Form { - Section(header: Text("Filling date")) { - HStack { - Image(systemName: "calendar") - Text(data.filingDate ?? "-") - } - } - - Section(header: Text("Owner")) { - HStack { - Image(systemName: "person.fill") - Text(data.fullName ?? "-") - } - let title = data.reportedTitle ?? "" - if !title.isEmpty { - Text(data.reportedTitle ?? "") - } - } - - let postShares = data.postShares ?? 0 - if postShares != 0 { - Section(header: Text("Shares owned after the transaction")) { - HStack { - Image(systemName: "number") - Text(String(postShares)) - } - } - } - - Section(header: Text("Transaction type")) { - let transactionCode = data.transactionCode ?? "" - Text(transactionCodes[transactionCode] ?? "-") - } - - Section(header: Text("Transaction data")) { - let shares = Int(data.transactionShares ?? 0) - if shares != 0 { - Text("Number of shares: \(shares)") - } - let price = data.transactionPrice ?? 0 - if price != 0 { - Text("Price per share: $\(price, specifier: "%.2f")") - } - let value = data.transactionValue ?? 0 - if value != 0 { - Text("Transaction value: $\(value, specifier: "%.2f")") - } - } - } - .navigationBarTitle("Transaction detail") - } -} - -struct TransactionDetail_Previews: PreviewProvider { - static var previews: some View { - TransactionDetail(data: InsiderTransactionModel( - conversionOrExercisePrice: 100, - directIndirect: "D", - filingDate: "2020-10-09", - fullName: "Tim", - postShares: 100, - reportedTitle: "Some reported title", - transactionCode: "I", - transactionDate: "2020-10-09", - transactionPrice: 50, - transactionShares: 1000, - transactionValue: 50000)) - } -}
--- a/lazybear/Views/Insiders/TransactionRow.swift Wed Feb 17 20:11:16 2021 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,66 +0,0 @@ -// -// TransactionRow.swift -// LazyBear -// -// Created by Dennis Concepción Martín on 1/2/21. -// - -import SwiftUI - -struct TransactionRow: View { - @State var data: InsiderTransactionModel - @State private var showingDetail = false - - var body: some View { - Button(action: { self.showingDetail.toggle() }) { - HStack { - VStack(alignment: .leading) { - Text(data.fullName?.capitalized ?? "-") - .fontWeight(.semibold) - - Text(data.transactionDate ?? "-") - .font(.subheadline) - } - Spacer() - VStack(alignment: .trailing) { - Text("\(data.transactionShares ?? 0)") - .fontWeight(.semibold) - .foregroundColor(color()) - - Text("Shares") - .font(.subheadline) - } - } - } - .sheet(isPresented: $showingDetail) { - TransactionDetail(data: self.data) - } - } - - private func color() -> Color { - var color: Color = .red - if data.transactionShares ?? 0 >= 0 { - color = .green - } - - return color - } -} - -struct TransactionRow_Previews: PreviewProvider { - static var previews: some View { - TransactionRow(data: InsiderTransactionModel( - conversionOrExercisePrice: 100, - directIndirect: "D", - filingDate: "2020-10-09", - fullName: "Tim", - postShares: 100, - reportedTitle: "Some reported title", - transactionCode: "B", - transactionDate: "2020-10-09", - transactionPrice: 50, - transactionShares: 1000, - transactionValue: 50000) - ) - } -}