# HG changeset patch # User Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com> # Date 1613589717 -3600 # Node ID 9d519f230f263392395f87fecfcff9b93e8fe66c # Parent 6488392684cc822ce11135267c4e81c69c1df5bd Start clean project diff -r 6488392684cc -r 9d519f230f26 .gitignore --- 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 diff -r 6488392684cc -r 9d519f230f26 LazyBear.xcodeproj/project.pbxproj --- 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 = ""; }; - 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 = ""; }; - 95621AD725BF2EC500BB17FC /* LazyBear.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = LazyBear.entitlements; sourceTree = ""; }; - 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 = ""; }; - 95B04EB425212369000AD27F /* ContentView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ContentView.swift; sourceTree = ""; }; - 95B04EB62521236A000AD27F /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; - 95B04EBB2521236A000AD27F /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 95F7CAF525ADC7B7009E0E7C /* LazyBear.xcdatamodel */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcdatamodel; path = LazyBear.xcdatamodel; sourceTree = ""; }; - 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 = ""; - }; - 950C0BB425DD9852006A49BC /* Classes */ = { - isa = PBXGroup; - children = ( - 950C0BB525DD9867006A49BC /* WatchlistManager.swift */, - ); - path = Classes; - sourceTree = ""; - }; - 951F588F25DD86E600E051E0 /* Tests */ = { - isa = PBXGroup; - children = ( - 951F589025DD86F200E051E0 /* TestAPI.swift */, - ); - path = Tests; - sourceTree = ""; - }; - 951F589825DD8A1B00E051E0 /* UI */ = { - isa = PBXGroup; - children = ( - 951F589C25DD8A9C00E051E0 /* Watchlist.swift */, - 951F589925DD8A8100E051E0 /* Row.swift */, - ); - path = UI; - sourceTree = ""; - }; - 95B04EA625212369000AD27F = { - isa = PBXGroup; - children = ( - 95B04EB125212369000AD27F /* LazyBear */, - 95B04EB025212369000AD27F /* Products */, - 9500257E256D17D9008FFD28 /* Frameworks */, - ); - sourceTree = ""; - }; - 95B04EB025212369000AD27F /* Products */ = { - isa = PBXGroup; - children = ( - 95B04EAF25212369000AD27F /* LazyBear.app */, - ); - name = Products; - sourceTree = ""; - }; - 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 = ""; - }; -/* 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 = ""; - versionGroupType = wrapper.xcdatamodel; - }; -/* End XCVersionGroup section */ - }; - rootObject = 95B04EA725212369000AD27F /* Project object */; -} diff -r 6488392684cc -r 9d519f230f26 LazyBear.xcodeproj/project.xcworkspace/contents.xcworkspacedata --- 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 @@ - - - - - diff -r 6488392684cc -r 9d519f230f26 LazyBear.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist --- 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 @@ - - - - - IDEDidComputeMac32BitWarning - - - diff -r 6488392684cc -r 9d519f230f26 LazyBear.xcodeproj/project.xcworkspace/xcuserdata/dennis.xcuserdatad/UserInterfaceState.xcuserstate Binary file LazyBear.xcodeproj/project.xcworkspace/xcuserdata/dennis.xcuserdatad/UserInterfaceState.xcuserstate has changed diff -r 6488392684cc -r 9d519f230f26 LazyBear.xcodeproj/xcshareddata/xcschemes/LazyBear.xcscheme --- 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 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff -r 6488392684cc -r 9d519f230f26 LazyBear.xcodeproj/xcuserdata/dennis.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist --- 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 @@ - - - diff -r 6488392684cc -r 9d519f230f26 LazyBear.xcodeproj/xcuserdata/dennis.xcuserdatad/xcschemes/xcschememanagement.plist --- 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 @@ - - - - - SchemeUserState - - LazyBear.xcscheme_^#shared#^_ - - orderHint - 0 - - - SuppressBuildableAutocreation - - 95B04EAE25212369000AD27F - - primary - - - - - diff -r 6488392684cc -r 9d519f230f26 LazyBear/LazyBear.xcodeproj/project.pbxproj --- /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 = ""; }; + 95672B6A25DDA2E200DCBE4A /* ContentView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ContentView.swift; sourceTree = ""; }; + 95672B6C25DDA2E200DCBE4A /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; + 95672B6F25DDA2E200DCBE4A /* Preview Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = "Preview Assets.xcassets"; sourceTree = ""; }; + 95672B7125DDA2E200DCBE4A /* Persistence.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Persistence.swift; sourceTree = ""; }; + 95672B7425DDA2E200DCBE4A /* LazyBear.xcdatamodel */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcdatamodel; path = LazyBear.xcdatamodel; sourceTree = ""; }; + 95672B7625DDA2E200DCBE4A /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 95672B7F25DDA36E00DCBE4A /* Production.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Production.xcconfig; sourceTree = ""; }; + 95672B8025DDA37500DCBE4A /* Sandbox.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Sandbox.xcconfig; sourceTree = ""; }; +/* 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 = ""; + }; + 95672B6625DDA2E200DCBE4A /* Products */ = { + isa = PBXGroup; + children = ( + 95672B6525DDA2E200DCBE4A /* LazyBear.app */, + ); + name = Products; + sourceTree = ""; + }; + 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 = ""; + }; + 95672B6E25DDA2E200DCBE4A /* Preview Content */ = { + isa = PBXGroup; + children = ( + 95672B6F25DDA2E200DCBE4A /* Preview Assets.xcassets */, + ); + path = "Preview Content"; + sourceTree = ""; + }; +/* 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 = ""; + versionGroupType = wrapper.xcdatamodel; + }; +/* End XCVersionGroup section */ + }; + rootObject = 95672B5D25DDA2E200DCBE4A /* Project object */; +} diff -r 6488392684cc -r 9d519f230f26 LazyBear/LazyBear.xcodeproj/project.xcworkspace/contents.xcworkspacedata --- /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 @@ + + + + + diff -r 6488392684cc -r 9d519f230f26 LazyBear/LazyBear.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist --- /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 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff -r 6488392684cc -r 9d519f230f26 LazyBear/LazyBear.xcodeproj/project.xcworkspace/xcuserdata/dennis.xcuserdatad/UserInterfaceState.xcuserstate Binary file LazyBear/LazyBear.xcodeproj/project.xcworkspace/xcuserdata/dennis.xcuserdatad/UserInterfaceState.xcuserstate has changed diff -r 6488392684cc -r 9d519f230f26 LazyBear/LazyBear.xcodeproj/xcuserdata/dennis.xcuserdatad/xcschemes/xcschememanagement.plist --- /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 @@ + + + + + SchemeUserState + + LazyBear.xcscheme_^#shared#^_ + + orderHint + 0 + + + + diff -r 6488392684cc -r 9d519f230f26 LazyBear/LazyBear/Assets.xcassets/AccentColor.colorset/Contents.json --- /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 + } +} diff -r 6488392684cc -r 9d519f230f26 LazyBear/LazyBear/Assets.xcassets/AppIcon.appiconset/Contents.json --- /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 + } +} diff -r 6488392684cc -r 9d519f230f26 LazyBear/LazyBear/Assets.xcassets/Contents.json --- /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 + } +} diff -r 6488392684cc -r 9d519f230f26 LazyBear/LazyBear/ContentView.swift --- /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 + + 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) + } +} diff -r 6488392684cc -r 9d519f230f26 LazyBear/LazyBear/Info.plist --- /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 @@ + + + + + CFBundleDevelopmentRegion + $(DEVELOPMENT_LANGUAGE) + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + $(PRODUCT_NAME) + CFBundlePackageType + $(PRODUCT_BUNDLE_PACKAGE_TYPE) + CFBundleShortVersionString + 1.0 + CFBundleVersion + 1 + LSRequiresIPhoneOS + + UIApplicationSceneManifest + + UIApplicationSupportsMultipleScenes + + + UIApplicationSupportsIndirectInputEvents + + UILaunchScreen + + UIRequiredDeviceCapabilities + + armv7 + + UISupportedInterfaceOrientations + + UIInterfaceOrientationPortrait + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + UISupportedInterfaceOrientations~ipad + + UIInterfaceOrientationPortrait + UIInterfaceOrientationPortraitUpsideDown + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + + diff -r 6488392684cc -r 9d519f230f26 LazyBear/LazyBear/LazyBear.xcdatamodeld/.xccurrentversion --- /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 @@ + + + + + _XCCurrentVersionName + LazyBear.xcdatamodel + + diff -r 6488392684cc -r 9d519f230f26 LazyBear/LazyBear/LazyBear.xcdatamodeld/LazyBear.xcdatamodel/contents --- /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 @@ + + + + + + + + + \ No newline at end of file diff -r 6488392684cc -r 9d519f230f26 LazyBear/LazyBear/LazyBearApp.swift --- /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) + } + } +} diff -r 6488392684cc -r 9d519f230f26 LazyBear/LazyBear/Persistence.swift --- /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)") + } + }) + } +} diff -r 6488392684cc -r 9d519f230f26 LazyBear/LazyBear/Preview Content/Preview Assets.xcassets/Contents.json --- /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 + } +} diff -r 6488392684cc -r 9d519f230f26 lazybear/Assets.xcassets/AppIcon.appiconset/Contents.json --- 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 - } -} diff -r 6488392684cc -r 9d519f230f26 lazybear/Assets.xcassets/Contents.json --- 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 - } -} diff -r 6488392684cc -r 9d519f230f26 lazybear/Assets.xcassets/Custom Colors/Contents.json --- 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 - } -} diff -r 6488392684cc -r 9d519f230f26 lazybear/Assets.xcassets/Custom Colors/launch.colorset/Contents.json --- 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 - } -} diff -r 6488392684cc -r 9d519f230f26 lazybear/Assets.xcassets/Custom Colors/placeholder.colorset/Contents.json --- 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 - } -} diff -r 6488392684cc -r 9d519f230f26 lazybear/Classes/WatchlistManager.swift --- 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 - - // 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) - } - } - -} -*/ diff -r 6488392684cc -r 9d519f230f26 lazybear/Configuration.storekit --- 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 - } -} diff -r 6488392684cc -r 9d519f230f26 lazybear/ContentView.swift --- 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() - } -} diff -r 6488392684cc -r 9d519f230f26 lazybear/Info.plist --- 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 @@ - - - - - IEX_API - $(IEX_API) - CFBundleDevelopmentRegion - $(DEVELOPMENT_LANGUAGE) - CFBundleDisplayName - LazyBear - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - $(PRODUCT_NAME) - CFBundlePackageType - $(PRODUCT_BUNDLE_PACKAGE_TYPE) - CFBundleShortVersionString - $(MARKETING_VERSION) - CFBundleVersion - $(CURRENT_PROJECT_VERSION) - LSRequiresIPhoneOS - - UIApplicationSceneManifest - - UIApplicationSupportsMultipleScenes - - - UIApplicationSupportsIndirectInputEvents - - UILaunchScreen - - UIColorName - - UIImageName - - UIImageRespectsSafeAreaInsets - - - UIRequiredDeviceCapabilities - - armv7 - - UIRequiresFullScreen - - UISupportedInterfaceOrientations - - UIInterfaceOrientationPortrait - - UISupportedInterfaceOrientations~ipad - - UIInterfaceOrientationPortrait - UIInterfaceOrientationPortraitUpsideDown - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - - - diff -r 6488392684cc -r 9d519f230f26 lazybear/LazyBear.entitlements --- 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 @@ - - - - - com.apple.developer.icloud-container-identifiers - - iCloud.dennis.LazyBear - - com.apple.developer.icloud-services - - CloudKit - - com.apple.developer.ubiquity-kvstore-identifier - $(TeamIdentifierPrefix)$(CFBundleIdentifier) - - diff -r 6488392684cc -r 9d519f230f26 lazybear/LazyBear.xcdatamodeld/LazyBear.xcdatamodel/contents --- 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 @@ - - - - - - - - - - \ No newline at end of file diff -r 6488392684cc -r 9d519f230f26 lazybear/LazyBearApp.swift --- 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) - } - } -} diff -r 6488392684cc -r 9d519f230f26 lazybear/Persistence.swift --- 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)") - } - }) - } -} diff -r 6488392684cc -r 9d519f230f26 lazybear/Preview Content/Preview Assets.xcassets/Contents.json --- 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 - } -} diff -r 6488392684cc -r 9d519f230f26 lazybear/Tests/TestAPI.swift --- 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() - } -} diff -r 6488392684cc -r 9d519f230f26 lazybear/UI/Row.swift --- 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") - } -} diff -r 6488392684cc -r 9d519f230f26 lazybear/UI/Watchlist.swift --- 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 - - 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() - } -} diff -r 6488392684cc -r 9d519f230f26 lazybear/Views/Insiders/InsiderTransactions.swift --- 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") - } -} diff -r 6488392684cc -r 9d519f230f26 lazybear/Views/Insiders/TransactionDetail.swift --- 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)) - } -} diff -r 6488392684cc -r 9d519f230f26 lazybear/Views/Insiders/TransactionRow.swift --- 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) - ) - } -}