mirror of
https://github.com/BlueWallet/BlueWallet.git
synced 2025-02-23 23:27:26 +01:00
DEL: Remove deprecated "Today" extension
This commit is contained in:
parent
523484015c
commit
d6b5a934b7
33 changed files with 6 additions and 1302 deletions
|
@ -9,12 +9,6 @@
|
|||
/* Begin PBXBuildFile section */
|
||||
13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 13B07FB51A68108700A75B9A /* Images.xcassets */; };
|
||||
13B07FC11A68108700A75B9A /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB71A68108700A75B9A /* main.m */; };
|
||||
32002D9D236FAA9F00B93396 /* TodayDataStore.swift in Sources */ = {isa = PBXBuildFile; fileRef = 32002D9C236FAA9F00B93396 /* TodayDataStore.swift */; };
|
||||
3271B0AB236E2E0700DA766F /* NotificationCenter.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3271B0AA236E2E0700DA766F /* NotificationCenter.framework */; platformFilter = ios; };
|
||||
3271B0AE236E2E0700DA766F /* TodayViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3271B0AD236E2E0700DA766F /* TodayViewController.swift */; };
|
||||
3271B0B1236E2E0700DA766F /* MainInterface.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 3271B0AF236E2E0700DA766F /* MainInterface.storyboard */; };
|
||||
3271B0B5236E2E0700DA766F /* BlueWallet - Bitcoin Price.appex in Embed App Extensions */ = {isa = PBXBuildFile; fileRef = 3271B0A9236E2E0700DA766F /* BlueWallet - Bitcoin Price.appex */; platformFilter = ios; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; };
|
||||
3271B0BB236E329400DA766F /* TodayAPI.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3271B0BA236E329400DA766F /* TodayAPI.swift */; };
|
||||
32B5A32A2334450100F8D608 /* Bridge.swift in Sources */ = {isa = PBXBuildFile; fileRef = 32B5A3292334450100F8D608 /* Bridge.swift */; };
|
||||
32F0A29A2311DBB20095C559 /* ComplicationController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 32F0A2992311DBB20095C559 /* ComplicationController.swift */; };
|
||||
6D2A6464258BA92D0092292B /* Stickers.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 6D2A6463258BA92D0092292B /* Stickers.xcassets */; };
|
||||
|
@ -25,7 +19,6 @@
|
|||
6D4AF16D25D21192009DD853 /* Models.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6DEB4BFA254FBA0E00E9F9AA /* Models.swift */; };
|
||||
6D4AF17825D211A3009DD853 /* FiatUnit.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6D2AA8072568B8F40090B089 /* FiatUnit.swift */; };
|
||||
6D4AF18425D215D1009DD853 /* UserDefaultsExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6D4AF18325D215D1009DD853 /* UserDefaultsExtension.swift */; };
|
||||
6D4AF18525D215D1009DD853 /* UserDefaultsExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6D4AF18325D215D1009DD853 /* UserDefaultsExtension.swift */; };
|
||||
6DD4109D266CADF10087DE03 /* WidgetKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6D333B3A252FE1A3004D72DF /* WidgetKit.framework */; };
|
||||
6DD4109E266CADF10087DE03 /* SwiftUI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6D333B3C252FE1A3004D72DF /* SwiftUI.framework */; };
|
||||
6DD410A1266CADF10087DE03 /* Widgets.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6DD410A0266CADF10087DE03 /* Widgets.swift */; };
|
||||
|
@ -82,13 +75,6 @@
|
|||
/* End PBXBuildFile section */
|
||||
|
||||
/* Begin PBXContainerItemProxy section */
|
||||
3271B0B3236E2E0700DA766F /* PBXContainerItemProxy */ = {
|
||||
isa = PBXContainerItemProxy;
|
||||
containerPortal = 83CBB9F71A601CBA00E9B192 /* Project object */;
|
||||
proxyType = 1;
|
||||
remoteGlobalIDString = 3271B0A8236E2E0700DA766F;
|
||||
remoteInfo = TodayExtension;
|
||||
};
|
||||
6D2A6466258BA92D0092292B /* PBXContainerItemProxy */ = {
|
||||
isa = PBXContainerItemProxy;
|
||||
containerPortal = 83CBB9F71A601CBA00E9B192 /* Project object */;
|
||||
|
@ -134,7 +120,6 @@
|
|||
dstSubfolderSpec = 13;
|
||||
files = (
|
||||
6D2A6468258BA92D0092292B /* Stickers.appex in Embed App Extensions */,
|
||||
3271B0B5236E2E0700DA766F /* BlueWallet - Bitcoin Price.appex in Embed App Extensions */,
|
||||
6DD410A7266CADF40087DE03 /* WidgetsExtension.appex in Embed App Extensions */,
|
||||
);
|
||||
name = "Embed App Extensions";
|
||||
|
@ -178,14 +163,7 @@
|
|||
2654894D4DE44A4C8F71773D /* CoreData.framework */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = wrapper.framework; name = CoreData.framework; path = System/Library/Frameworks/CoreData.framework; sourceTree = SDKROOT; };
|
||||
2D16E6891FA4F8E400B85C8A /* libReact.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; path = libReact.a; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
2FCC2CD6FF4448229D0CE0F3 /* MaterialCommunityIcons.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = MaterialCommunityIcons.ttf; path = "../node_modules/react-native-vector-icons/Fonts/MaterialCommunityIcons.ttf"; sourceTree = "<group>"; };
|
||||
32002D9C236FAA9F00B93396 /* TodayDataStore.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TodayDataStore.swift; sourceTree = "<group>"; };
|
||||
32475F792370F6D30070E6CF /* BlueWallet - Bitcoin Price.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = "BlueWallet - Bitcoin Price.entitlements"; sourceTree = "<group>"; };
|
||||
3271B0A9236E2E0700DA766F /* BlueWallet - Bitcoin Price.appex */ = {isa = PBXFileReference; explicitFileType = "wrapper.app-extension"; includeInIndex = 0; path = "BlueWallet - Bitcoin Price.appex"; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
3271B0AA236E2E0700DA766F /* NotificationCenter.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = NotificationCenter.framework; path = System/Library/Frameworks/NotificationCenter.framework; sourceTree = SDKROOT; };
|
||||
3271B0AD236E2E0700DA766F /* TodayViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TodayViewController.swift; sourceTree = "<group>"; };
|
||||
3271B0B0236E2E0700DA766F /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/MainInterface.storyboard; sourceTree = "<group>"; };
|
||||
3271B0B2236E2E0700DA766F /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
|
||||
3271B0BA236E329400DA766F /* TodayAPI.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TodayAPI.swift; sourceTree = "<group>"; };
|
||||
32B5A3282334450100F8D608 /* BlueWallet-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "BlueWallet-Bridging-Header.h"; sourceTree = "<group>"; };
|
||||
32B5A3292334450100F8D608 /* Bridge.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Bridge.swift; sourceTree = "<group>"; };
|
||||
32C7944323B8879D00BE2AFA /* BlueWalletRelease.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; name = BlueWalletRelease.entitlements; path = BlueWallet/BlueWalletRelease.entitlements; sourceTree = "<group>"; };
|
||||
|
@ -206,49 +184,27 @@
|
|||
6A65D81712444D37BA152B06 /* libRNRandomBytes.a */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = archive.ar; path = libRNRandomBytes.a; sourceTree = "<group>"; };
|
||||
6D203C2025D4ED2500493AD1 /* BlueWalletWatch.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = BlueWalletWatch.entitlements; sourceTree = "<group>"; };
|
||||
6D294A7324D510AC0039E22B /* af */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = af; path = af.lproj/Interface.strings; sourceTree = "<group>"; };
|
||||
6D294A7424D510AC0039E22B /* af */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = af; path = af.lproj/MainInterface.strings; sourceTree = "<group>"; };
|
||||
6D294A7524D510D60039E22B /* ca */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ca; path = ca.lproj/Interface.strings; sourceTree = "<group>"; };
|
||||
6D294A7624D510D60039E22B /* ca */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ca; path = ca.lproj/MainInterface.strings; sourceTree = "<group>"; };
|
||||
6D294A7724D510E60039E22B /* zh-Hant */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hant"; path = "zh-Hant.lproj/Interface.strings"; sourceTree = "<group>"; };
|
||||
6D294A7824D510E60039E22B /* zh-Hant */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hant"; path = "zh-Hant.lproj/MainInterface.strings"; sourceTree = "<group>"; };
|
||||
6D294A7924D510EA0039E22B /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/Interface.strings"; sourceTree = "<group>"; };
|
||||
6D294A7A24D510EA0039E22B /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/MainInterface.strings"; sourceTree = "<group>"; };
|
||||
6D294A7B24D510F40039E22B /* hr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hr; path = hr.lproj/Interface.strings; sourceTree = "<group>"; };
|
||||
6D294A7C24D510F40039E22B /* hr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hr; path = hr.lproj/MainInterface.strings; sourceTree = "<group>"; };
|
||||
6D294A7D24D5111E0039E22B /* da */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = da; path = da.lproj/Interface.strings; sourceTree = "<group>"; };
|
||||
6D294A7E24D5111E0039E22B /* da */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = da; path = da.lproj/MainInterface.strings; sourceTree = "<group>"; };
|
||||
6D294A7F24D511640039E22B /* nl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nl; path = nl.lproj/Interface.strings; sourceTree = "<group>"; };
|
||||
6D294A8024D511640039E22B /* nl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nl; path = nl.lproj/MainInterface.strings; sourceTree = "<group>"; };
|
||||
6D294A8124D511690039E22B /* es */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = es; path = es.lproj/Interface.strings; sourceTree = "<group>"; };
|
||||
6D294A8224D511690039E22B /* es */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = es; path = es.lproj/MainInterface.strings; sourceTree = "<group>"; };
|
||||
6D294A8324D511720039E22B /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/Interface.strings; sourceTree = "<group>"; };
|
||||
6D294A8424D511720039E22B /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/MainInterface.strings; sourceTree = "<group>"; };
|
||||
6D294A8524D511750039E22B /* it */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = it; path = it.lproj/Interface.strings; sourceTree = "<group>"; };
|
||||
6D294A8624D511750039E22B /* it */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = it; path = it.lproj/MainInterface.strings; sourceTree = "<group>"; };
|
||||
6D294A8724D5117A0039E22B /* id */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = id; path = id.lproj/Interface.strings; sourceTree = "<group>"; };
|
||||
6D294A8824D5117A0039E22B /* id */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = id; path = id.lproj/MainInterface.strings; sourceTree = "<group>"; };
|
||||
6D294A8924D511800039E22B /* ja */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ja; path = ja.lproj/Interface.strings; sourceTree = "<group>"; };
|
||||
6D294A8A24D511800039E22B /* ja */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ja; path = ja.lproj/MainInterface.strings; sourceTree = "<group>"; };
|
||||
6D294A8B24D511CB0039E22B /* hu */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hu; path = hu.lproj/Interface.strings; sourceTree = "<group>"; };
|
||||
6D294A8C24D511CB0039E22B /* hu */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hu; path = hu.lproj/MainInterface.strings; sourceTree = "<group>"; };
|
||||
6D294A8D24D5121D0039E22B /* pt-BR */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "pt-BR"; path = "pt-BR.lproj/Interface.strings"; sourceTree = "<group>"; };
|
||||
6D294A8E24D5121D0039E22B /* pt-BR */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "pt-BR"; path = "pt-BR.lproj/MainInterface.strings"; sourceTree = "<group>"; };
|
||||
6D294A8F24D512230039E22B /* pt-PT */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "pt-PT"; path = "pt-PT.lproj/Interface.strings"; sourceTree = "<group>"; };
|
||||
6D294A9024D512230039E22B /* pt-PT */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "pt-PT"; path = "pt-PT.lproj/MainInterface.strings"; sourceTree = "<group>"; };
|
||||
6D294A9124D512260039E22B /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/Interface.strings; sourceTree = "<group>"; };
|
||||
6D294A9224D512260039E22B /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/MainInterface.strings; sourceTree = "<group>"; };
|
||||
6D294A9324D512320039E22B /* sk */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = sk; path = sk.lproj/Interface.strings; sourceTree = "<group>"; };
|
||||
6D294A9424D512320039E22B /* sk */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = sk; path = sk.lproj/MainInterface.strings; sourceTree = "<group>"; };
|
||||
6D294A9524D5125F0039E22B /* th */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = th; path = th.lproj/Interface.strings; sourceTree = "<group>"; };
|
||||
6D294A9624D5125F0039E22B /* th */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = th; path = th.lproj/MainInterface.strings; sourceTree = "<group>"; };
|
||||
6D294A9724D512620039E22B /* vi */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = vi; path = vi.lproj/Interface.strings; sourceTree = "<group>"; };
|
||||
6D294A9824D512620039E22B /* vi */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = vi; path = vi.lproj/MainInterface.strings; sourceTree = "<group>"; };
|
||||
6D294A9924D512690039E22B /* uk */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = uk; path = uk.lproj/Interface.strings; sourceTree = "<group>"; };
|
||||
6D294A9A24D512690039E22B /* uk */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = uk; path = uk.lproj/MainInterface.strings; sourceTree = "<group>"; };
|
||||
6D294A9B24D512770039E22B /* tr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = tr; path = tr.lproj/Interface.strings; sourceTree = "<group>"; };
|
||||
6D294A9C24D512770039E22B /* tr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = tr; path = tr.lproj/MainInterface.strings; sourceTree = "<group>"; };
|
||||
6D294A9D24D5127F0039E22B /* xh */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = xh; path = xh.lproj/Interface.strings; sourceTree = "<group>"; };
|
||||
6D294A9E24D512800039E22B /* xh */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = xh; path = xh.lproj/MainInterface.strings; sourceTree = "<group>"; };
|
||||
6D2A6461258BA92C0092292B /* Stickers.appex */ = {isa = PBXFileReference; explicitFileType = "wrapper.app-extension"; includeInIndex = 0; path = Stickers.appex; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
6D2A6463258BA92D0092292B /* Stickers.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Stickers.xcassets; sourceTree = "<group>"; };
|
||||
6D2A6465258BA92D0092292B /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
|
||||
|
@ -276,7 +232,6 @@
|
|||
6DD410A4266CADF40087DE03 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
|
||||
6DD410AD266CAF1F0087DE03 /* fiatUnits.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; name = fiatUnits.json; path = ../../../../models/fiatUnits.json; sourceTree = "<group>"; };
|
||||
6DD410C3266CCB780087DE03 /* WidgetsExtension.entitlements */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.entitlements; path = WidgetsExtension.entitlements; sourceTree = SOURCE_ROOT; };
|
||||
6DEB496F254E38DE00E9F9AA /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/MainInterface.strings; sourceTree = "<group>"; };
|
||||
6DEB4AB1254FB59C00E9F9AA /* WalletInformationWidget.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WalletInformationWidget.swift; sourceTree = "<group>"; };
|
||||
6DEB4BFA254FBA0E00E9F9AA /* Models.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Models.swift; sourceTree = "<group>"; };
|
||||
6DEB4C3A254FBF4800E9F9AA /* Colors.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Colors.swift; sourceTree = "<group>"; };
|
||||
|
@ -361,14 +316,6 @@
|
|||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
3271B0A6236E2E0700DA766F /* Frameworks */ = {
|
||||
isa = PBXFrameworksBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
3271B0AB236E2E0700DA766F /* NotificationCenter.framework in Frameworks */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
421830728822A20A50D8A07C /* Frameworks */ = {
|
||||
isa = PBXFrameworksBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
|
@ -464,19 +411,6 @@
|
|||
name = Frameworks;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
3271B0AC236E2E0700DA766F /* TodayExtension */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
32475F792370F6D30070E6CF /* BlueWallet - Bitcoin Price.entitlements */,
|
||||
3271B0AD236E2E0700DA766F /* TodayViewController.swift */,
|
||||
3271B0BA236E329400DA766F /* TodayAPI.swift */,
|
||||
3271B0AF236E2E0700DA766F /* MainInterface.storyboard */,
|
||||
3271B0B2236E2E0700DA766F /* Info.plist */,
|
||||
32002D9C236FAA9F00B93396 /* TodayDataStore.swift */,
|
||||
);
|
||||
path = TodayExtension;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
4B0CACE36C3348E1BCEA92C8 /* Resources */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
|
@ -602,7 +536,6 @@
|
|||
00E356EF1AD99517003FC87E /* BlueWalletTests */,
|
||||
B40D4E31225841EC00428FCC /* BlueWalletWatch */,
|
||||
B40D4E40225841ED00428FCC /* BlueWalletWatch Extension */,
|
||||
3271B0AC236E2E0700DA766F /* TodayExtension */,
|
||||
6D2A6462258BA92C0092292B /* Stickers */,
|
||||
6DD4109F266CADF10087DE03 /* Widgets */,
|
||||
83CBBA001A601CBA00E9B192 /* Products */,
|
||||
|
@ -622,7 +555,6 @@
|
|||
13B07F961A680F5B00A75B9A /* BlueWallet.app */,
|
||||
B40D4E30225841EC00428FCC /* BlueWalletWatch.app */,
|
||||
B40D4E3C225841ED00428FCC /* BlueWalletWatch Extension.appex */,
|
||||
3271B0A9236E2E0700DA766F /* BlueWallet - Bitcoin Price.appex */,
|
||||
6D2A6461258BA92C0092292B /* Stickers.appex */,
|
||||
6DD4109C266CADF10087DE03 /* WidgetsExtension.appex */,
|
||||
);
|
||||
|
@ -742,7 +674,6 @@
|
|||
);
|
||||
dependencies = (
|
||||
B40D4E4C225841ED00428FCC /* PBXTargetDependency */,
|
||||
3271B0B4236E2E0700DA766F /* PBXTargetDependency */,
|
||||
6D9946682555A661000E52E8 /* PBXTargetDependency */,
|
||||
6D2A6467258BA92D0092292B /* PBXTargetDependency */,
|
||||
6DD410A6266CADF40087DE03 /* PBXTargetDependency */,
|
||||
|
@ -752,23 +683,6 @@
|
|||
productReference = 13B07F961A680F5B00A75B9A /* BlueWallet.app */;
|
||||
productType = "com.apple.product-type.application";
|
||||
};
|
||||
3271B0A8236E2E0700DA766F /* TodayExtension */ = {
|
||||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = 3271B0B9236E2E0700DA766F /* Build configuration list for PBXNativeTarget "TodayExtension" */;
|
||||
buildPhases = (
|
||||
3271B0A5236E2E0700DA766F /* Sources */,
|
||||
3271B0A6236E2E0700DA766F /* Frameworks */,
|
||||
3271B0A7236E2E0700DA766F /* Resources */,
|
||||
);
|
||||
buildRules = (
|
||||
);
|
||||
dependencies = (
|
||||
);
|
||||
name = TodayExtension;
|
||||
productName = TodayExtension;
|
||||
productReference = 3271B0A9236E2E0700DA766F /* BlueWallet - Bitcoin Price.appex */;
|
||||
productType = "com.apple.product-type.app-extension";
|
||||
};
|
||||
6D2A6460258BA92C0092292B /* Stickers */ = {
|
||||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = 6D2A646B258BA92D0092292B /* Build configuration list for PBXNativeTarget "Stickers" */;
|
||||
|
@ -859,10 +773,6 @@
|
|||
};
|
||||
};
|
||||
};
|
||||
3271B0A8236E2E0700DA766F = {
|
||||
CreatedOnToolsVersion = 11.2;
|
||||
LastSwiftMigration = 1130;
|
||||
};
|
||||
6D2A6460258BA92C0092292B = {
|
||||
CreatedOnToolsVersion = 12.1;
|
||||
};
|
||||
|
@ -928,7 +838,6 @@
|
|||
13B07F861A680F5B00A75B9A /* BlueWallet */,
|
||||
B40D4E2F225841EC00428FCC /* BlueWalletWatch */,
|
||||
B40D4E3B225841ED00428FCC /* BlueWalletWatch Extension */,
|
||||
3271B0A8236E2E0700DA766F /* TodayExtension */,
|
||||
6D2A6460258BA92C0092292B /* Stickers */,
|
||||
6DD4109B266CADF10087DE03 /* WidgetsExtension */,
|
||||
);
|
||||
|
@ -946,14 +855,6 @@
|
|||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
3271B0A7236E2E0700DA766F /* Resources */ = {
|
||||
isa = PBXResourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
3271B0B1236E2E0700DA766F /* MainInterface.storyboard in Resources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
6D2A645F258BA92C0092292B /* Resources */ = {
|
||||
isa = PBXResourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
|
@ -1169,17 +1070,6 @@
|
|||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
3271B0A5236E2E0700DA766F /* Sources */ = {
|
||||
isa = PBXSourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
3271B0BB236E329400DA766F /* TodayAPI.swift in Sources */,
|
||||
3271B0AE236E2E0700DA766F /* TodayViewController.swift in Sources */,
|
||||
6D4AF18525D215D1009DD853 /* UserDefaultsExtension.swift in Sources */,
|
||||
32002D9D236FAA9F00B93396 /* TodayDataStore.swift in Sources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
6DD41098266CADF10087DE03 /* Sources */ = {
|
||||
isa = PBXSourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
|
@ -1237,12 +1127,6 @@
|
|||
/* End PBXSourcesBuildPhase section */
|
||||
|
||||
/* Begin PBXTargetDependency section */
|
||||
3271B0B4236E2E0700DA766F /* PBXTargetDependency */ = {
|
||||
isa = PBXTargetDependency;
|
||||
platformFilter = ios;
|
||||
target = 3271B0A8236E2E0700DA766F /* TodayExtension */;
|
||||
targetProxy = 3271B0B3236E2E0700DA766F /* PBXContainerItemProxy */;
|
||||
};
|
||||
6D2A6467258BA92D0092292B /* PBXTargetDependency */ = {
|
||||
isa = PBXTargetDependency;
|
||||
platformFilter = ios;
|
||||
|
@ -1272,37 +1156,6 @@
|
|||
/* End PBXTargetDependency section */
|
||||
|
||||
/* Begin PBXVariantGroup section */
|
||||
3271B0AF236E2E0700DA766F /* MainInterface.storyboard */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
3271B0B0236E2E0700DA766F /* Base */,
|
||||
6D294A7424D510AC0039E22B /* af */,
|
||||
6D294A7624D510D60039E22B /* ca */,
|
||||
6D294A7824D510E60039E22B /* zh-Hant */,
|
||||
6D294A7A24D510EA0039E22B /* zh-Hans */,
|
||||
6D294A7C24D510F40039E22B /* hr */,
|
||||
6D294A7E24D5111E0039E22B /* da */,
|
||||
6D294A8024D511640039E22B /* nl */,
|
||||
6D294A8224D511690039E22B /* es */,
|
||||
6D294A8424D511720039E22B /* fr */,
|
||||
6D294A8624D511750039E22B /* it */,
|
||||
6D294A8824D5117A0039E22B /* id */,
|
||||
6D294A8A24D511800039E22B /* ja */,
|
||||
6D294A8C24D511CB0039E22B /* hu */,
|
||||
6D294A8E24D5121D0039E22B /* pt-BR */,
|
||||
6D294A9024D512230039E22B /* pt-PT */,
|
||||
6D294A9224D512260039E22B /* ru */,
|
||||
6D294A9424D512320039E22B /* sk */,
|
||||
6D294A9624D5125F0039E22B /* th */,
|
||||
6D294A9824D512620039E22B /* vi */,
|
||||
6D294A9A24D512690039E22B /* uk */,
|
||||
6D294A9C24D512770039E22B /* tr */,
|
||||
6D294A9E24D512800039E22B /* xh */,
|
||||
6DEB496F254E38DE00E9F9AA /* en */,
|
||||
);
|
||||
name = MainInterface.storyboard;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
B40D4E32225841EC00428FCC /* Interface.storyboard */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
|
@ -1431,81 +1284,6 @@
|
|||
};
|
||||
name = Release;
|
||||
};
|
||||
3271B0B7236E2E0700DA766F /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
CLANG_ANALYZER_NONNULL = YES;
|
||||
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
|
||||
CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
|
||||
CLANG_ENABLE_OBJC_WEAK = YES;
|
||||
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
|
||||
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
|
||||
CODE_SIGN_ENTITLEMENTS = "TodayExtension/BlueWallet - Bitcoin Price.entitlements";
|
||||
CODE_SIGN_IDENTITY = "Apple Development";
|
||||
CODE_SIGN_STYLE = Automatic;
|
||||
CURRENT_PROJECT_VERSION = 702;
|
||||
DEBUG_INFORMATION_FORMAT = dwarf;
|
||||
DEVELOPMENT_TEAM = A7W54YZ4WU;
|
||||
GCC_C_LANGUAGE_STANDARD = gnu11;
|
||||
INFOPLIST_FILE = TodayExtension/Info.plist;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 10.0;
|
||||
LD_RUNPATH_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
"@executable_path/Frameworks",
|
||||
"@executable_path/../../Frameworks",
|
||||
);
|
||||
MARKETING_VERSION = 6.4.3;
|
||||
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
|
||||
MTL_FAST_MATH = YES;
|
||||
PRODUCT_BUNDLE_IDENTIFIER = io.bluewallet.bluewallet.TodayExtension;
|
||||
PRODUCT_NAME = "BlueWallet - Bitcoin Price";
|
||||
PROVISIONING_PROFILE_SPECIFIER = "";
|
||||
SKIP_INSTALL = YES;
|
||||
SUPPORTS_MACCATALYST = NO;
|
||||
SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;
|
||||
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
|
||||
SWIFT_VERSION = 5.0;
|
||||
TARGETED_DEVICE_FAMILY = "1,2";
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
3271B0B8236E2E0700DA766F /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
CLANG_ANALYZER_NONNULL = YES;
|
||||
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
|
||||
CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
|
||||
CLANG_ENABLE_OBJC_WEAK = YES;
|
||||
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
|
||||
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
|
||||
CODE_SIGN_ENTITLEMENTS = "TodayExtension/BlueWallet - Bitcoin Price.entitlements";
|
||||
CODE_SIGN_IDENTITY = "Apple Development";
|
||||
CODE_SIGN_STYLE = Automatic;
|
||||
COPY_PHASE_STRIP = NO;
|
||||
CURRENT_PROJECT_VERSION = 702;
|
||||
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
|
||||
DEVELOPMENT_TEAM = A7W54YZ4WU;
|
||||
GCC_C_LANGUAGE_STANDARD = gnu11;
|
||||
INFOPLIST_FILE = TodayExtension/Info.plist;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 10.0;
|
||||
LD_RUNPATH_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
"@executable_path/Frameworks",
|
||||
"@executable_path/../../Frameworks",
|
||||
);
|
||||
MARKETING_VERSION = 6.4.3;
|
||||
MTL_FAST_MATH = YES;
|
||||
PRODUCT_BUNDLE_IDENTIFIER = io.bluewallet.bluewallet.TodayExtension;
|
||||
PRODUCT_NAME = "BlueWallet - Bitcoin Price";
|
||||
PROVISIONING_PROFILE_SPECIFIER = "";
|
||||
SKIP_INSTALL = YES;
|
||||
SUPPORTS_MACCATALYST = NO;
|
||||
SWIFT_OPTIMIZATION_LEVEL = "-O";
|
||||
SWIFT_VERSION = 5.0;
|
||||
TARGETED_DEVICE_FAMILY = "1,2";
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
6D2A6469258BA92D0092292B /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
|
@ -1926,15 +1704,6 @@
|
|||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
3271B0B9236E2E0700DA766F /* Build configuration list for PBXNativeTarget "TodayExtension" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
3271B0B7236E2E0700DA766F /* Debug */,
|
||||
3271B0B8236E2E0700DA766F /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
6D2A646B258BA92D0092292B /* Build configuration list for PBXNativeTarget "Stickers" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
|
|
|
@ -1,96 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Scheme
|
||||
LastUpgradeVersion = "1240"
|
||||
wasCreatedForAppExtension = "YES"
|
||||
version = "2.0">
|
||||
<BuildAction
|
||||
parallelizeBuildables = "YES"
|
||||
buildImplicitDependencies = "YES">
|
||||
<BuildActionEntries>
|
||||
<BuildActionEntry
|
||||
buildForTesting = "YES"
|
||||
buildForRunning = "YES"
|
||||
buildForProfiling = "YES"
|
||||
buildForArchiving = "YES"
|
||||
buildForAnalyzing = "YES">
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "3271B0A8236E2E0700DA766F"
|
||||
BuildableName = "BlueWallet - Bitcoin Price.appex"
|
||||
BlueprintName = "TodayExtension"
|
||||
ReferencedContainer = "container:BlueWallet.xcodeproj">
|
||||
</BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry
|
||||
buildForTesting = "YES"
|
||||
buildForRunning = "YES"
|
||||
buildForProfiling = "YES"
|
||||
buildForArchiving = "YES"
|
||||
buildForAnalyzing = "YES">
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "13B07F861A680F5B00A75B9A"
|
||||
BuildableName = "BlueWallet.app"
|
||||
BlueprintName = "BlueWallet"
|
||||
ReferencedContainer = "container:BlueWallet.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 = ""
|
||||
selectedLauncherIdentifier = "Xcode.IDEFoundation.Launcher.PosixSpawn"
|
||||
launchStyle = "0"
|
||||
askForAppToLaunch = "Yes"
|
||||
useCustomWorkingDirectory = "NO"
|
||||
ignoresPersistentStateOnLaunch = "NO"
|
||||
debugDocumentVersioning = "YES"
|
||||
debugServiceExtension = "internal"
|
||||
allowLocationSimulation = "YES"
|
||||
launchAutomaticallySubstyle = "2">
|
||||
<BuildableProductRunnable
|
||||
runnableDebuggingMode = "0">
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "13B07F861A680F5B00A75B9A"
|
||||
BuildableName = "BlueWallet.app"
|
||||
BlueprintName = "BlueWallet"
|
||||
ReferencedContainer = "container:BlueWallet.xcodeproj">
|
||||
</BuildableReference>
|
||||
</BuildableProductRunnable>
|
||||
</LaunchAction>
|
||||
<ProfileAction
|
||||
buildConfiguration = "Release"
|
||||
shouldUseLaunchSchemeArgsEnv = "YES"
|
||||
savedToolIdentifier = ""
|
||||
useCustomWorkingDirectory = "NO"
|
||||
debugDocumentVersioning = "YES"
|
||||
launchAutomaticallySubstyle = "2">
|
||||
<BuildableProductRunnable
|
||||
runnableDebuggingMode = "0">
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "13B07F861A680F5B00A75B9A"
|
||||
BuildableName = "BlueWallet.app"
|
||||
BlueprintName = "BlueWallet"
|
||||
ReferencedContainer = "container:BlueWallet.xcodeproj">
|
||||
</BuildableReference>
|
||||
</BuildableProductRunnable>
|
||||
</ProfileAction>
|
||||
<AnalyzeAction
|
||||
buildConfiguration = "Debug">
|
||||
</AnalyzeAction>
|
||||
<ArchiveAction
|
||||
buildConfiguration = "Release"
|
||||
revealArchiveInOrganizer = "YES">
|
||||
</ArchiveAction>
|
||||
</Scheme>
|
|
@ -40,11 +40,6 @@
|
|||
<integer>2</integer>
|
||||
</dict>
|
||||
<key>Stickers.xcscheme_^#shared#^_</key>
|
||||
<dict>
|
||||
<key>orderHint</key>
|
||||
<integer>4</integer>
|
||||
</dict>
|
||||
<key>TodayExtension.xcscheme_^#shared#^_</key>
|
||||
<dict>
|
||||
<key>orderHint</key>
|
||||
<integer>5</integer>
|
||||
|
@ -52,7 +47,7 @@
|
|||
<key>WidgetsExtension.xcscheme_^#shared#^_</key>
|
||||
<dict>
|
||||
<key>orderHint</key>
|
||||
<integer>199</integer>
|
||||
<integer>247</integer>
|
||||
</dict>
|
||||
</dict>
|
||||
<key>SuppressBuildableAutocreation</key>
|
||||
|
@ -67,6 +62,11 @@
|
|||
<key>primary</key>
|
||||
<true/>
|
||||
</dict>
|
||||
<key>3271B0A8236E2E0700DA766F</key>
|
||||
<dict>
|
||||
<key>primary</key>
|
||||
<true/>
|
||||
</dict>
|
||||
<key>B40D4E2F225841EC00428FCC</key>
|
||||
<dict>
|
||||
<key>primary</key>
|
||||
|
|
|
@ -1,117 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="16097.3" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES" initialViewController="M4Y-Lb-cyx">
|
||||
<device id="retina6_1" orientation="portrait" appearance="light"/>
|
||||
<dependencies>
|
||||
<deployment identifier="iOS"/>
|
||||
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="16087"/>
|
||||
<capability name="Safe area layout guides" minToolsVersion="9.0"/>
|
||||
<capability name="Stack View standard spacing" minToolsVersion="9.0"/>
|
||||
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
|
||||
</dependencies>
|
||||
<scenes>
|
||||
<!--Today View Controller-->
|
||||
<scene sceneID="cwh-vc-ff4">
|
||||
<objects>
|
||||
<viewController id="M4Y-Lb-cyx" customClass="TodayViewController" customModule="BlueWallet___Bitcoin_Price" customModuleProvider="target" sceneMemberID="viewController">
|
||||
<view key="view" contentMode="scaleToFill" simulatedAppContext="notificationCenter" id="S3S-Oj-5AN">
|
||||
<rect key="frame" x="0.0" y="0.0" width="320" height="100"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
<subviews>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" verticalHuggingPriority="251" text="..." textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="bcB-MD-aJf">
|
||||
<rect key="frame" x="104" y="73.5" width="200" height="14.5"/>
|
||||
<fontDescription key="fontDescription" style="UICTFontTextStyleCaption1"/>
|
||||
<nil key="textColor"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Last Updated:" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="vU4-uK-6ow">
|
||||
<rect key="frame" x="16" y="73.5" width="80" height="14.5"/>
|
||||
<fontDescription key="fontDescription" style="UICTFontTextStyleCaption1"/>
|
||||
<nil key="textColor"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
<stackView opaque="NO" contentMode="scaleToFill" spacing="8" translatesAutoresizingMaskIntoConstraints="NO" id="U8g-sL-Cl4">
|
||||
<rect key="frame" x="16" y="5.5" width="83" height="20.5"/>
|
||||
<subviews>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="USD" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontForContentSizeCategory="YES" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="lkL-gv-1a1">
|
||||
<rect key="frame" x="0.0" y="0.0" width="61" height="20.5"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="width" relation="greaterThanOrEqual" constant="35" id="4Nq-zK-gi3"/>
|
||||
</constraints>
|
||||
<fontDescription key="fontDescription" type="system" weight="semibold" pointSize="17"/>
|
||||
<nil key="textColor"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" verticalHuggingPriority="251" text="..." textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontForContentSizeCategory="YES" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="bEQ-e6-Puo">
|
||||
<rect key="frame" x="69" y="0.0" width="14" height="20.5"/>
|
||||
<fontDescription key="fontDescription" type="system" pointSize="17"/>
|
||||
<nil key="textColor"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
</subviews>
|
||||
</stackView>
|
||||
<stackView opaque="NO" contentMode="scaleToFill" spacingType="standard" translatesAutoresizingMaskIntoConstraints="NO" id="2BS-g5-Fog">
|
||||
<rect key="frame" x="16" y="34" width="83" height="33"/>
|
||||
<subviews>
|
||||
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="arrow.up" catalog="system" translatesAutoresizingMaskIntoConstraints="NO" id="eST-DU-WIK">
|
||||
<rect key="frame" x="0.0" y="1" width="17" height="31"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="width" relation="lessThanOrEqual" constant="17" id="gkK-pz-TDJ"/>
|
||||
</constraints>
|
||||
</imageView>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="from" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontForContentSizeCategory="YES" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="aqr-Mt-cor">
|
||||
<rect key="frame" x="25" y="0.0" width="36" height="33"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="33" id="u9N-WC-Os2"/>
|
||||
</constraints>
|
||||
<fontDescription key="fontDescription" type="system" pointSize="17"/>
|
||||
<nil key="textColor"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="..." textAlignment="right" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="gm7-vT-KrH" userLabel="...">
|
||||
<rect key="frame" x="69" y="0.0" width="14" height="33"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="width" relation="greaterThanOrEqual" constant="14" id="KoT-51-551"/>
|
||||
</constraints>
|
||||
<fontDescription key="fontDescription" type="system" pointSize="17"/>
|
||||
<nil key="textColor"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
</subviews>
|
||||
</stackView>
|
||||
</subviews>
|
||||
<constraints>
|
||||
<constraint firstItem="gm7-vT-KrH" firstAttribute="leading" secondItem="bEQ-e6-Puo" secondAttribute="leading" id="1nN-8G-TB7"/>
|
||||
<constraint firstItem="bcB-MD-aJf" firstAttribute="leading" secondItem="vU4-uK-6ow" secondAttribute="trailing" constant="8" id="5bB-Zv-Yeq"/>
|
||||
<constraint firstItem="ssy-KU-ocm" firstAttribute="bottom" secondItem="bcB-MD-aJf" secondAttribute="bottom" constant="12" id="EPP-OS-3b6"/>
|
||||
<constraint firstItem="vU4-uK-6ow" firstAttribute="leading" secondItem="ssy-KU-ocm" secondAttribute="leading" constant="16" id="EkD-jp-arv"/>
|
||||
<constraint firstItem="U8g-sL-Cl4" firstAttribute="leading" secondItem="vU4-uK-6ow" secondAttribute="leading" id="INV-Y4-WjP"/>
|
||||
<constraint firstItem="2BS-g5-Fog" firstAttribute="top" secondItem="U8g-sL-Cl4" secondAttribute="bottom" constant="8" id="JRm-Qe-7EW"/>
|
||||
<constraint firstItem="ssy-KU-ocm" firstAttribute="bottom" secondItem="vU4-uK-6ow" secondAttribute="bottom" constant="12" id="JSh-ZE-k1H"/>
|
||||
<constraint firstItem="bcB-MD-aJf" firstAttribute="centerY" secondItem="vU4-uK-6ow" secondAttribute="centerY" id="MUL-tE-LmX"/>
|
||||
<constraint firstItem="2BS-g5-Fog" firstAttribute="leading" secondItem="vU4-uK-6ow" secondAttribute="leading" id="ThK-uE-6nD"/>
|
||||
<constraint firstItem="vU4-uK-6ow" firstAttribute="top" secondItem="2BS-g5-Fog" secondAttribute="bottom" constant="6.5" id="Wib-ev-GFn"/>
|
||||
<constraint firstItem="ssy-KU-ocm" firstAttribute="trailing" secondItem="bcB-MD-aJf" secondAttribute="trailing" constant="16" id="kkD-VZ-BAt"/>
|
||||
</constraints>
|
||||
<viewLayoutGuide key="safeArea" id="ssy-KU-ocm"/>
|
||||
</view>
|
||||
<extendedEdge key="edgesForExtendedLayout"/>
|
||||
<freeformSimulatedSizeMetrics key="simulatedDestinationMetrics"/>
|
||||
<size key="freeformSize" width="320" height="100"/>
|
||||
<connections>
|
||||
<outlet property="currencyLabel" destination="lkL-gv-1a1" id="Gzb-TF-E6W"/>
|
||||
<outlet property="lastPrice" destination="gm7-vT-KrH" id="YIE-KJ-0qW"/>
|
||||
<outlet property="lastPriceArrowImage" destination="eST-DU-WIK" id="VWH-ED-VL1"/>
|
||||
<outlet property="lastPriceFromLabel" destination="aqr-Mt-cor" id="p17-Aq-ufa"/>
|
||||
<outlet property="lastUpdatedDate" destination="bcB-MD-aJf" id="A9U-MB-qJq"/>
|
||||
<outlet property="priceLabel" destination="bEQ-e6-Puo" id="0IP-Yg-dWr"/>
|
||||
</connections>
|
||||
</viewController>
|
||||
<placeholder placeholderIdentifier="IBFirstResponder" id="vXp-U4-Rya" userLabel="First Responder" sceneMemberID="firstResponder"/>
|
||||
</objects>
|
||||
<point key="canvasLocation" x="137.68115942028987" y="96.428571428571431"/>
|
||||
</scene>
|
||||
</scenes>
|
||||
<resources>
|
||||
<image name="arrow.up" catalog="system" width="120" height="128"/>
|
||||
</resources>
|
||||
</document>
|
|
@ -1,14 +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.security.app-sandbox</key>
|
||||
<true/>
|
||||
<key>com.apple.security.application-groups</key>
|
||||
<array>
|
||||
<string>group.io.bluewallet.bluewallet</string>
|
||||
</array>
|
||||
<key>com.apple.security.network.client</key>
|
||||
<true/>
|
||||
</dict>
|
||||
</plist>
|
|
@ -1,31 +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>CFBundleDevelopmentRegion</key>
|
||||
<string>$(DEVELOPMENT_LANGUAGE)</string>
|
||||
<key>CFBundleDisplayName</key>
|
||||
<string>$(PRODUCT_NAME)</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>NSExtension</key>
|
||||
<dict>
|
||||
<key>NSExtensionMainStoryboard</key>
|
||||
<string>MainInterface</string>
|
||||
<key>NSExtensionPointIdentifier</key>
|
||||
<string>com.apple.widget-extension</string>
|
||||
</dict>
|
||||
</dict>
|
||||
</plist>
|
|
@ -1,65 +0,0 @@
|
|||
//
|
||||
// API.swift
|
||||
// TodayExtension
|
||||
//
|
||||
// Created by Marcos Rodriguez on 11/2/19.
|
||||
// Copyright © 2019 Facebook. All rights reserved.
|
||||
//
|
||||
|
||||
import Foundation
|
||||
|
||||
class TodayAPI {
|
||||
|
||||
static func fetchPrice(currency: String, completion: @escaping ((Dictionary<String, Any>?, Error?) -> Void)) {
|
||||
guard let url = URL(string: "https://api.coindesk.com/v1/bpi/currentPrice/\(currency).json") else {return}
|
||||
|
||||
URLSession.shared.dataTask(with: url) { (data, response, error) in
|
||||
guard let dataResponse = data,
|
||||
let json = ((try? JSONSerialization.jsonObject(with: dataResponse, options: .mutableContainers) as? Dictionary<String, Any>) as Dictionary<String, Any>??),
|
||||
error == nil else {
|
||||
print(error?.localizedDescription ?? "Response Error")
|
||||
completion(nil, error)
|
||||
return }
|
||||
|
||||
completion(json, nil)
|
||||
}.resume()
|
||||
}
|
||||
|
||||
static func getUserPreferredCurrency() -> String {
|
||||
guard let userDefaults = UserDefaults(suiteName: "group.io.bluewallet.bluewallet"),
|
||||
let preferredCurrency = userDefaults.string(forKey: "preferredCurrency")
|
||||
else {
|
||||
return "USD"
|
||||
}
|
||||
|
||||
if preferredCurrency != TodayAPI.getLastSelectedCurrency() {
|
||||
UserDefaults.standard.removeObject(forKey: TodayData.TodayCachedDataStoreKey)
|
||||
UserDefaults.standard.removeObject(forKey: TodayData.TodayDataStoreKey)
|
||||
UserDefaults.standard.synchronize()
|
||||
}
|
||||
|
||||
return preferredCurrency
|
||||
}
|
||||
|
||||
static func getUserPreferredCurrencyLocale() -> String {
|
||||
guard let userDefaults = UserDefaults(suiteName: "group.io.bluewallet.bluewallet"),
|
||||
let preferredCurrency = userDefaults.string(forKey: "preferredCurrencyLocale")
|
||||
else {
|
||||
return "en_US"
|
||||
}
|
||||
return preferredCurrency
|
||||
}
|
||||
|
||||
static func getLastSelectedCurrency() -> String {
|
||||
guard let dataStore = UserDefaults.standard.string(forKey: "currency") else {
|
||||
return "USD"
|
||||
}
|
||||
|
||||
return dataStore
|
||||
}
|
||||
|
||||
static func saveNewSelectedCurrency() {
|
||||
UserDefaults.standard.setValue(TodayAPI.getUserPreferredCurrency(), forKey: "currency")
|
||||
}
|
||||
|
||||
}
|
|
@ -1,88 +0,0 @@
|
|||
//
|
||||
// TodayDataStore.swift
|
||||
// TodayExtension
|
||||
//
|
||||
// Created by Marcos Rodriguez on 11/3/19.
|
||||
// Copyright © 2019 Facebook. All rights reserved.
|
||||
//
|
||||
|
||||
import Foundation
|
||||
|
||||
struct TodayDataStore {
|
||||
let rate: String
|
||||
let lastUpdate: String
|
||||
|
||||
var formattedDate: String? {
|
||||
let isoDateFormatter = ISO8601DateFormatter()
|
||||
let dateFormatter = DateFormatter()
|
||||
dateFormatter.timeStyle = .short
|
||||
dateFormatter.dateStyle = .short
|
||||
|
||||
if let date = isoDateFormatter.date(from: lastUpdate) {
|
||||
return dateFormatter.string(from: date)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
var rateDoubleValue: Double? {
|
||||
let numberFormatter = NumberFormatter()
|
||||
numberFormatter.numberStyle = .decimal
|
||||
numberFormatter.locale = Locale(identifier: TodayAPI.getUserPreferredCurrencyLocale())
|
||||
numberFormatter.maximumFractionDigits = 2
|
||||
numberFormatter.minimumFractionDigits = 2
|
||||
|
||||
if let rateDoubleValue = numberFormatter.number(from: rate) {
|
||||
return rateDoubleValue.doubleValue
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
var formattedRate: String? {
|
||||
let numberFormatter = NumberFormatter()
|
||||
numberFormatter.locale = Locale(identifier: TodayAPI.getUserPreferredCurrencyLocale())
|
||||
numberFormatter.numberStyle = .decimal
|
||||
numberFormatter.maximumFractionDigits = 2
|
||||
numberFormatter.minimumFractionDigits = 2
|
||||
if let rateNumber = numberFormatter.number(from: rate) {
|
||||
numberFormatter.numberStyle = .currency
|
||||
return numberFormatter.string(from: rateNumber);
|
||||
}
|
||||
return rate
|
||||
}
|
||||
}
|
||||
|
||||
class TodayData {
|
||||
|
||||
static let TodayDataStoreKey = "TodayDataStoreKey"
|
||||
static let TodayCachedDataStoreKey = "TodayCachedDataStoreKey"
|
||||
|
||||
static func savePriceRateAndLastUpdate(rate: String, lastUpdate: String) {
|
||||
UserDefaults.standard.setValue(["rate": rate, "lastUpdate": lastUpdate], forKey: TodayDataStoreKey)
|
||||
UserDefaults.standard.synchronize()
|
||||
}
|
||||
|
||||
static func getPriceRateAndLastUpdate() -> TodayDataStore? {
|
||||
guard let dataStore = UserDefaults.standard.value(forKey: TodayDataStoreKey) as? [String: String], let rate = dataStore["rate"], let lastUpdate = dataStore["lastUpdate"] else {
|
||||
return nil
|
||||
}
|
||||
return TodayDataStore(rate: rate, lastUpdate: lastUpdate)
|
||||
}
|
||||
|
||||
static func saveCachePriceRateAndLastUpdate(rate: String, lastUpdate: String) {
|
||||
UserDefaults.standard.setValue(["rate": rate, "lastUpdate": lastUpdate], forKey: TodayCachedDataStoreKey)
|
||||
UserDefaults.standard.synchronize()
|
||||
}
|
||||
|
||||
static func getCachedPriceRateAndLastUpdate() -> TodayDataStore? {
|
||||
guard let dataStore = UserDefaults.standard.value(forKey: TodayCachedDataStoreKey) as? [String: String], var rate = dataStore["rate"], let lastUpdate = dataStore["lastUpdate"] else {
|
||||
return nil
|
||||
}
|
||||
rate = rate.replacingOccurrences(of: ",", with: "");
|
||||
return TodayDataStore(rate: rate, lastUpdate: lastUpdate)
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
|
@ -1,170 +0,0 @@
|
|||
//
|
||||
// TodayViewController.swift
|
||||
// TodayExtension
|
||||
//
|
||||
// Created by Marcos Rodriguez on 11/2/19.
|
||||
// Copyright © 2019 Facebook. All rights reserved.
|
||||
//
|
||||
|
||||
import UIKit
|
||||
import NotificationCenter
|
||||
|
||||
class TodayViewController: UIViewController, NCWidgetProviding {
|
||||
|
||||
|
||||
@IBOutlet weak var currencyLabel: UILabel!
|
||||
@IBOutlet weak var lastUpdatedDate: UILabel!
|
||||
@IBOutlet weak var priceLabel: UILabel!
|
||||
|
||||
@IBOutlet weak var lastPriceArrowImage: UIImageView!
|
||||
@IBOutlet weak var lastPrice: UILabel!
|
||||
@IBOutlet weak var lastPriceFromLabel: UILabel!
|
||||
private var lastPriceNumber: NSNumber?
|
||||
|
||||
|
||||
override func viewDidLoad() {
|
||||
super.viewDidLoad()
|
||||
|
||||
setLastPriceOutletsHidden(isHidden: true)
|
||||
if let lastStoredTodayStore = TodayData.getPriceRateAndLastUpdate() {
|
||||
processRateAndLastUpdate(todayStore: lastStoredTodayStore)
|
||||
} else {
|
||||
setLastPriceOutletsHidden(isHidden: true)
|
||||
}
|
||||
|
||||
if #available(iOSApplicationExtension 13.0, *) {
|
||||
} else{
|
||||
self.lastPriceArrowImage.removeFromSuperview()
|
||||
}
|
||||
}
|
||||
|
||||
func setLastPriceOutletsHidden(isHidden: Bool) {
|
||||
lastPrice.isHidden = isHidden
|
||||
lastPriceFromLabel.isHidden = isHidden
|
||||
lastPriceArrowImage?.isHidden = isHidden
|
||||
}
|
||||
|
||||
override func viewWillAppear(_ animated: Bool)
|
||||
{
|
||||
var currentSize: CGSize = self.preferredContentSize
|
||||
currentSize.height = 200.0
|
||||
self.preferredContentSize = currentSize
|
||||
}
|
||||
|
||||
func processRateAndLastUpdate(todayStore: TodayDataStore) {
|
||||
guard let rateString = todayStore.formattedRate, let dateFormatted = todayStore.formattedDate else { return }
|
||||
|
||||
priceLabel.text = rateString
|
||||
lastUpdatedDate.text = dateFormatted
|
||||
}
|
||||
|
||||
func processStoredRateAndLastUpdate(todayStore: TodayDataStore) {
|
||||
guard let lastPriceNumber = todayStore.formattedRate else { return }
|
||||
|
||||
lastPrice.text = lastPriceNumber
|
||||
}
|
||||
|
||||
func processCachedStoredRateAndLastUpdate(new: TodayDataStore, cached: TodayDataStore) {
|
||||
guard let newPriceDoubleValue = new.rateDoubleValue, let cachedPriceNumber = cached.formattedRate, let cachedPriceNumberDoubleValue = cached.rateDoubleValue else { return }
|
||||
|
||||
lastPrice.text = cachedPriceNumber
|
||||
|
||||
|
||||
if newPriceDoubleValue > cachedPriceNumberDoubleValue {
|
||||
if #available(iOSApplicationExtension 13.0, *) {
|
||||
self.setLastPriceOutletsHidden(isHidden: false)
|
||||
self.lastPriceArrowImage.image = UIImage(systemName: "arrow.up")
|
||||
} else {
|
||||
self.setLastPriceOutletsHidden(isHidden: true)
|
||||
self.lastPriceFromLabel.text = "up from"
|
||||
lastPriceFromLabel.isHidden = false
|
||||
// Fallback on earlier versions
|
||||
}
|
||||
} else {
|
||||
if #available(iOSApplicationExtension 13.0, *) {
|
||||
self.setLastPriceOutletsHidden(isHidden: false)
|
||||
self.lastPriceArrowImage.image = UIImage(systemName: "arrow.down")
|
||||
} else {
|
||||
self.setLastPriceOutletsHidden(isHidden: true)
|
||||
lastPriceFromLabel.isHidden = false
|
||||
self.lastPriceFromLabel.text = "down from"
|
||||
// Fallback on earlier versions
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func widgetPerformUpdate(completionHandler: (@escaping (NCUpdateResult) -> Void)) {
|
||||
// Perform any setup necessary in order to update the view.
|
||||
|
||||
// If an error is encountered, use NCUpdateResult.Failed
|
||||
// If there's no update required, use NCUpdateResult.NoData
|
||||
// If there's an update, use NCUpdateResult.NewData
|
||||
let userPreferredCurrency = TodayAPI.getUserPreferredCurrency();
|
||||
self.currencyLabel.text = userPreferredCurrency
|
||||
TodayAPI.fetchPrice(currency: userPreferredCurrency, completion: { (result, error) in
|
||||
DispatchQueue.main.async { [unowned self] in
|
||||
guard let result = result else {
|
||||
self.lastUpdatedDate.text = error?.localizedDescription
|
||||
completionHandler(.failed)
|
||||
return
|
||||
}
|
||||
|
||||
guard let bpi = result["bpi"] as? Dictionary<String, Any>, let preferredCurrency = bpi[userPreferredCurrency] as? Dictionary<String, Any>, let rateString = preferredCurrency["rate"] as? String,
|
||||
let time = result["time"] as? Dictionary<String, Any>, let lastUpdatedString = time["updatedISO"] as? String
|
||||
else {
|
||||
self.lastUpdatedDate.text = "Obtained unexpected information."
|
||||
completionHandler(.failed)
|
||||
return
|
||||
}
|
||||
|
||||
let latestRateDataStore = TodayDataStore(rate: rateString, lastUpdate: lastUpdatedString)
|
||||
|
||||
if let lastStoredTodayStore = TodayData.getPriceRateAndLastUpdate(), lastStoredTodayStore.lastUpdate == latestRateDataStore.lastUpdate, rateString == lastStoredTodayStore.rate, TodayAPI.getLastSelectedCurrency() == userPreferredCurrency {
|
||||
if let cached = TodayData.getCachedPriceRateAndLastUpdate() {
|
||||
self.processCachedStoredRateAndLastUpdate(new: lastStoredTodayStore, cached: cached)
|
||||
} else {
|
||||
self.setLastPriceOutletsHidden(isHidden: true)
|
||||
}
|
||||
completionHandler(.noData)
|
||||
} else {
|
||||
self.processRateAndLastUpdate(todayStore: latestRateDataStore)
|
||||
let priceRiceAndLastUpdate = TodayData.getPriceRateAndLastUpdate()
|
||||
|
||||
if let rate = priceRiceAndLastUpdate?.rate, let lastUpdate = priceRiceAndLastUpdate?.lastUpdate {
|
||||
TodayData.saveCachePriceRateAndLastUpdate(rate: rate, lastUpdate: lastUpdate);
|
||||
}
|
||||
|
||||
if let latestRateDataStore = latestRateDataStore.rateDoubleValue, let lastStoredPriceNumber = priceRiceAndLastUpdate?.rateDoubleValue, TodayAPI.getLastSelectedCurrency() == userPreferredCurrency {
|
||||
|
||||
if latestRateDataStore > lastStoredPriceNumber {
|
||||
if #available(iOSApplicationExtension 13.0, *) {
|
||||
self.lastPriceArrowImage.image = UIImage(systemName: "arrow.up")
|
||||
} else {
|
||||
self.lastPriceFromLabel.isHidden = false
|
||||
self.lastPriceFromLabel.text = "up from"
|
||||
}
|
||||
self.setLastPriceOutletsHidden(isHidden: false)
|
||||
} else {
|
||||
if #available(iOSApplicationExtension 13.0, *) {
|
||||
self.lastPriceArrowImage.image = UIImage(systemName: "arrow.down")
|
||||
} else {
|
||||
// Fallback on earlier versions
|
||||
self.lastPriceFromLabel.isHidden = false
|
||||
self.lastPriceFromLabel.text = "down from"
|
||||
}
|
||||
self.setLastPriceOutletsHidden(isHidden: false)
|
||||
}
|
||||
self.lastPrice.text = priceRiceAndLastUpdate?.formattedRate
|
||||
} else {
|
||||
self.setLastPriceOutletsHidden(isHidden: true)
|
||||
}
|
||||
|
||||
TodayData.savePriceRateAndLastUpdate(rate: latestRateDataStore.rate, lastUpdate: latestRateDataStore.lastUpdate)
|
||||
TodayAPI.saveNewSelectedCurrency()
|
||||
completionHandler(.newData)
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
}
|
|
@ -1,21 +0,0 @@
|
|||
|
||||
/* Class = "UILabel"; text = "Bitcoin Price"; ObjectID = "aaf-Pc-Y9i"; */
|
||||
"aaf-Pc-Y9i.text" = "Bitcoin Price";
|
||||
|
||||
/* Class = "UILabel"; text = "from"; ObjectID = "aqr-Mt-cor"; */
|
||||
"aqr-Mt-cor.text" = "from";
|
||||
|
||||
/* Class = "UILabel"; text = "..."; ObjectID = "bEQ-e6-Puo"; */
|
||||
"bEQ-e6-Puo.text" = "...";
|
||||
|
||||
/* Class = "UILabel"; text = "..."; ObjectID = "bcB-MD-aJf"; */
|
||||
"bcB-MD-aJf.text" = "...";
|
||||
|
||||
/* Class = "UILabel"; text = "..."; ObjectID = "gm7-vT-KrH"; */
|
||||
"gm7-vT-KrH.text" = "...";
|
||||
|
||||
/* Class = "UILabel"; text = "USD"; ObjectID = "lkL-gv-1a1"; */
|
||||
"lkL-gv-1a1.text" = "USD";
|
||||
|
||||
/* Class = "UILabel"; text = "Last Updated:"; ObjectID = "vU4-uK-6ow"; */
|
||||
"vU4-uK-6ow.text" = "Last Updated:";
|
|
@ -1,21 +0,0 @@
|
|||
|
||||
/* Class = "UILabel"; text = "Bitcoin Price"; ObjectID = "aaf-Pc-Y9i"; */
|
||||
"aaf-Pc-Y9i.text" = "Bitcoin Price";
|
||||
|
||||
/* Class = "UILabel"; text = "from"; ObjectID = "aqr-Mt-cor"; */
|
||||
"aqr-Mt-cor.text" = "from";
|
||||
|
||||
/* Class = "UILabel"; text = "..."; ObjectID = "bEQ-e6-Puo"; */
|
||||
"bEQ-e6-Puo.text" = "...";
|
||||
|
||||
/* Class = "UILabel"; text = "..."; ObjectID = "bcB-MD-aJf"; */
|
||||
"bcB-MD-aJf.text" = "...";
|
||||
|
||||
/* Class = "UILabel"; text = "..."; ObjectID = "gm7-vT-KrH"; */
|
||||
"gm7-vT-KrH.text" = "...";
|
||||
|
||||
/* Class = "UILabel"; text = "USD"; ObjectID = "lkL-gv-1a1"; */
|
||||
"lkL-gv-1a1.text" = "USD";
|
||||
|
||||
/* Class = "UILabel"; text = "Last Updated:"; ObjectID = "vU4-uK-6ow"; */
|
||||
"vU4-uK-6ow.text" = "Last Updated:";
|
|
@ -1,21 +0,0 @@
|
|||
|
||||
/* Class = "UILabel"; text = "Bitcoin Price"; ObjectID = "aaf-Pc-Y9i"; */
|
||||
"aaf-Pc-Y9i.text" = "Bitcoin Price";
|
||||
|
||||
/* Class = "UILabel"; text = "from"; ObjectID = "aqr-Mt-cor"; */
|
||||
"aqr-Mt-cor.text" = "from";
|
||||
|
||||
/* Class = "UILabel"; text = "..."; ObjectID = "bEQ-e6-Puo"; */
|
||||
"bEQ-e6-Puo.text" = "...";
|
||||
|
||||
/* Class = "UILabel"; text = "..."; ObjectID = "bcB-MD-aJf"; */
|
||||
"bcB-MD-aJf.text" = "...";
|
||||
|
||||
/* Class = "UILabel"; text = "..."; ObjectID = "gm7-vT-KrH"; */
|
||||
"gm7-vT-KrH.text" = "...";
|
||||
|
||||
/* Class = "UILabel"; text = "USD"; ObjectID = "lkL-gv-1a1"; */
|
||||
"lkL-gv-1a1.text" = "USD";
|
||||
|
||||
/* Class = "UILabel"; text = "Last Updated:"; ObjectID = "vU4-uK-6ow"; */
|
||||
"vU4-uK-6ow.text" = "Last Updated:";
|
|
@ -1,18 +0,0 @@
|
|||
|
||||
/* Class = "UILabel"; text = "from"; ObjectID = "aqr-Mt-cor"; */
|
||||
"aqr-Mt-cor.text" = "from";
|
||||
|
||||
/* Class = "UILabel"; text = "..."; ObjectID = "bEQ-e6-Puo"; */
|
||||
"bEQ-e6-Puo.text" = "...";
|
||||
|
||||
/* Class = "UILabel"; text = "..."; ObjectID = "bcB-MD-aJf"; */
|
||||
"bcB-MD-aJf.text" = "...";
|
||||
|
||||
/* Class = "UILabel"; text = "..."; ObjectID = "gm7-vT-KrH"; */
|
||||
"gm7-vT-KrH.text" = "...";
|
||||
|
||||
/* Class = "UILabel"; text = "USD"; ObjectID = "lkL-gv-1a1"; */
|
||||
"lkL-gv-1a1.text" = "USD";
|
||||
|
||||
/* Class = "UILabel"; text = "Last Updated:"; ObjectID = "vU4-uK-6ow"; */
|
||||
"vU4-uK-6ow.text" = "Last Updated:";
|
|
@ -1,21 +0,0 @@
|
|||
|
||||
/* Class = "UILabel"; text = "Bitcoin Price"; ObjectID = "aaf-Pc-Y9i"; */
|
||||
"aaf-Pc-Y9i.text" = "Bitcoin Price";
|
||||
|
||||
/* Class = "UILabel"; text = "from"; ObjectID = "aqr-Mt-cor"; */
|
||||
"aqr-Mt-cor.text" = "from";
|
||||
|
||||
/* Class = "UILabel"; text = "..."; ObjectID = "bEQ-e6-Puo"; */
|
||||
"bEQ-e6-Puo.text" = "...";
|
||||
|
||||
/* Class = "UILabel"; text = "..."; ObjectID = "bcB-MD-aJf"; */
|
||||
"bcB-MD-aJf.text" = "...";
|
||||
|
||||
/* Class = "UILabel"; text = "..."; ObjectID = "gm7-vT-KrH"; */
|
||||
"gm7-vT-KrH.text" = "...";
|
||||
|
||||
/* Class = "UILabel"; text = "USD"; ObjectID = "lkL-gv-1a1"; */
|
||||
"lkL-gv-1a1.text" = "USD";
|
||||
|
||||
/* Class = "UILabel"; text = "Last Updated:"; ObjectID = "vU4-uK-6ow"; */
|
||||
"vU4-uK-6ow.text" = "Last Updated:";
|
|
@ -1,21 +0,0 @@
|
|||
|
||||
/* Class = "UILabel"; text = "Bitcoin Price"; ObjectID = "aaf-Pc-Y9i"; */
|
||||
"aaf-Pc-Y9i.text" = "Bitcoin Price";
|
||||
|
||||
/* Class = "UILabel"; text = "from"; ObjectID = "aqr-Mt-cor"; */
|
||||
"aqr-Mt-cor.text" = "from";
|
||||
|
||||
/* Class = "UILabel"; text = "..."; ObjectID = "bEQ-e6-Puo"; */
|
||||
"bEQ-e6-Puo.text" = "...";
|
||||
|
||||
/* Class = "UILabel"; text = "..."; ObjectID = "bcB-MD-aJf"; */
|
||||
"bcB-MD-aJf.text" = "...";
|
||||
|
||||
/* Class = "UILabel"; text = "..."; ObjectID = "gm7-vT-KrH"; */
|
||||
"gm7-vT-KrH.text" = "...";
|
||||
|
||||
/* Class = "UILabel"; text = "USD"; ObjectID = "lkL-gv-1a1"; */
|
||||
"lkL-gv-1a1.text" = "USD";
|
||||
|
||||
/* Class = "UILabel"; text = "Last Updated:"; ObjectID = "vU4-uK-6ow"; */
|
||||
"vU4-uK-6ow.text" = "Last Updated:";
|
|
@ -1,21 +0,0 @@
|
|||
|
||||
/* Class = "UILabel"; text = "Bitcoin Price"; ObjectID = "aaf-Pc-Y9i"; */
|
||||
"aaf-Pc-Y9i.text" = "Bitcoin Price";
|
||||
|
||||
/* Class = "UILabel"; text = "from"; ObjectID = "aqr-Mt-cor"; */
|
||||
"aqr-Mt-cor.text" = "from";
|
||||
|
||||
/* Class = "UILabel"; text = "..."; ObjectID = "bEQ-e6-Puo"; */
|
||||
"bEQ-e6-Puo.text" = "...";
|
||||
|
||||
/* Class = "UILabel"; text = "..."; ObjectID = "bcB-MD-aJf"; */
|
||||
"bcB-MD-aJf.text" = "...";
|
||||
|
||||
/* Class = "UILabel"; text = "..."; ObjectID = "gm7-vT-KrH"; */
|
||||
"gm7-vT-KrH.text" = "...";
|
||||
|
||||
/* Class = "UILabel"; text = "USD"; ObjectID = "lkL-gv-1a1"; */
|
||||
"lkL-gv-1a1.text" = "USD";
|
||||
|
||||
/* Class = "UILabel"; text = "Last Updated:"; ObjectID = "vU4-uK-6ow"; */
|
||||
"vU4-uK-6ow.text" = "Last Updated:";
|
|
@ -1,21 +0,0 @@
|
|||
|
||||
/* Class = "UILabel"; text = "Bitcoin Price"; ObjectID = "aaf-Pc-Y9i"; */
|
||||
"aaf-Pc-Y9i.text" = "Bitcoin Price";
|
||||
|
||||
/* Class = "UILabel"; text = "from"; ObjectID = "aqr-Mt-cor"; */
|
||||
"aqr-Mt-cor.text" = "from";
|
||||
|
||||
/* Class = "UILabel"; text = "..."; ObjectID = "bEQ-e6-Puo"; */
|
||||
"bEQ-e6-Puo.text" = "...";
|
||||
|
||||
/* Class = "UILabel"; text = "..."; ObjectID = "bcB-MD-aJf"; */
|
||||
"bcB-MD-aJf.text" = "...";
|
||||
|
||||
/* Class = "UILabel"; text = "..."; ObjectID = "gm7-vT-KrH"; */
|
||||
"gm7-vT-KrH.text" = "...";
|
||||
|
||||
/* Class = "UILabel"; text = "USD"; ObjectID = "lkL-gv-1a1"; */
|
||||
"lkL-gv-1a1.text" = "USD";
|
||||
|
||||
/* Class = "UILabel"; text = "Last Updated:"; ObjectID = "vU4-uK-6ow"; */
|
||||
"vU4-uK-6ow.text" = "Last Updated:";
|
|
@ -1,21 +0,0 @@
|
|||
|
||||
/* Class = "UILabel"; text = "Bitcoin Price"; ObjectID = "aaf-Pc-Y9i"; */
|
||||
"aaf-Pc-Y9i.text" = "Bitcoin Price";
|
||||
|
||||
/* Class = "UILabel"; text = "from"; ObjectID = "aqr-Mt-cor"; */
|
||||
"aqr-Mt-cor.text" = "from";
|
||||
|
||||
/* Class = "UILabel"; text = "..."; ObjectID = "bEQ-e6-Puo"; */
|
||||
"bEQ-e6-Puo.text" = "...";
|
||||
|
||||
/* Class = "UILabel"; text = "..."; ObjectID = "bcB-MD-aJf"; */
|
||||
"bcB-MD-aJf.text" = "...";
|
||||
|
||||
/* Class = "UILabel"; text = "..."; ObjectID = "gm7-vT-KrH"; */
|
||||
"gm7-vT-KrH.text" = "...";
|
||||
|
||||
/* Class = "UILabel"; text = "USD"; ObjectID = "lkL-gv-1a1"; */
|
||||
"lkL-gv-1a1.text" = "USD";
|
||||
|
||||
/* Class = "UILabel"; text = "Last Updated:"; ObjectID = "vU4-uK-6ow"; */
|
||||
"vU4-uK-6ow.text" = "Last Updated:";
|
|
@ -1,21 +0,0 @@
|
|||
|
||||
/* Class = "UILabel"; text = "Bitcoin Price"; ObjectID = "aaf-Pc-Y9i"; */
|
||||
"aaf-Pc-Y9i.text" = "Bitcoin Price";
|
||||
|
||||
/* Class = "UILabel"; text = "from"; ObjectID = "aqr-Mt-cor"; */
|
||||
"aqr-Mt-cor.text" = "from";
|
||||
|
||||
/* Class = "UILabel"; text = "..."; ObjectID = "bEQ-e6-Puo"; */
|
||||
"bEQ-e6-Puo.text" = "...";
|
||||
|
||||
/* Class = "UILabel"; text = "..."; ObjectID = "bcB-MD-aJf"; */
|
||||
"bcB-MD-aJf.text" = "...";
|
||||
|
||||
/* Class = "UILabel"; text = "..."; ObjectID = "gm7-vT-KrH"; */
|
||||
"gm7-vT-KrH.text" = "...";
|
||||
|
||||
/* Class = "UILabel"; text = "USD"; ObjectID = "lkL-gv-1a1"; */
|
||||
"lkL-gv-1a1.text" = "USD";
|
||||
|
||||
/* Class = "UILabel"; text = "Last Updated:"; ObjectID = "vU4-uK-6ow"; */
|
||||
"vU4-uK-6ow.text" = "Last Updated:";
|
|
@ -1,21 +0,0 @@
|
|||
|
||||
/* Class = "UILabel"; text = "Bitcoin Price"; ObjectID = "aaf-Pc-Y9i"; */
|
||||
"aaf-Pc-Y9i.text" = "Bitcoin Price";
|
||||
|
||||
/* Class = "UILabel"; text = "from"; ObjectID = "aqr-Mt-cor"; */
|
||||
"aqr-Mt-cor.text" = "from";
|
||||
|
||||
/* Class = "UILabel"; text = "..."; ObjectID = "bEQ-e6-Puo"; */
|
||||
"bEQ-e6-Puo.text" = "...";
|
||||
|
||||
/* Class = "UILabel"; text = "..."; ObjectID = "bcB-MD-aJf"; */
|
||||
"bcB-MD-aJf.text" = "...";
|
||||
|
||||
/* Class = "UILabel"; text = "..."; ObjectID = "gm7-vT-KrH"; */
|
||||
"gm7-vT-KrH.text" = "...";
|
||||
|
||||
/* Class = "UILabel"; text = "USD"; ObjectID = "lkL-gv-1a1"; */
|
||||
"lkL-gv-1a1.text" = "USD";
|
||||
|
||||
/* Class = "UILabel"; text = "Last Updated:"; ObjectID = "vU4-uK-6ow"; */
|
||||
"vU4-uK-6ow.text" = "Last Updated:";
|
|
@ -1,21 +0,0 @@
|
|||
|
||||
/* Class = "UILabel"; text = "Bitcoin Price"; ObjectID = "aaf-Pc-Y9i"; */
|
||||
"aaf-Pc-Y9i.text" = "Bitcoin Price";
|
||||
|
||||
/* Class = "UILabel"; text = "from"; ObjectID = "aqr-Mt-cor"; */
|
||||
"aqr-Mt-cor.text" = "from";
|
||||
|
||||
/* Class = "UILabel"; text = "..."; ObjectID = "bEQ-e6-Puo"; */
|
||||
"bEQ-e6-Puo.text" = "...";
|
||||
|
||||
/* Class = "UILabel"; text = "..."; ObjectID = "bcB-MD-aJf"; */
|
||||
"bcB-MD-aJf.text" = "...";
|
||||
|
||||
/* Class = "UILabel"; text = "..."; ObjectID = "gm7-vT-KrH"; */
|
||||
"gm7-vT-KrH.text" = "...";
|
||||
|
||||
/* Class = "UILabel"; text = "USD"; ObjectID = "lkL-gv-1a1"; */
|
||||
"lkL-gv-1a1.text" = "USD";
|
||||
|
||||
/* Class = "UILabel"; text = "Last Updated:"; ObjectID = "vU4-uK-6ow"; */
|
||||
"vU4-uK-6ow.text" = "Last Updated:";
|
|
@ -1,21 +0,0 @@
|
|||
|
||||
/* Class = "UILabel"; text = "Bitcoin Price"; ObjectID = "aaf-Pc-Y9i"; */
|
||||
"aaf-Pc-Y9i.text" = "Bitcoin Price";
|
||||
|
||||
/* Class = "UILabel"; text = "from"; ObjectID = "aqr-Mt-cor"; */
|
||||
"aqr-Mt-cor.text" = "from";
|
||||
|
||||
/* Class = "UILabel"; text = "..."; ObjectID = "bEQ-e6-Puo"; */
|
||||
"bEQ-e6-Puo.text" = "...";
|
||||
|
||||
/* Class = "UILabel"; text = "..."; ObjectID = "bcB-MD-aJf"; */
|
||||
"bcB-MD-aJf.text" = "...";
|
||||
|
||||
/* Class = "UILabel"; text = "..."; ObjectID = "gm7-vT-KrH"; */
|
||||
"gm7-vT-KrH.text" = "...";
|
||||
|
||||
/* Class = "UILabel"; text = "USD"; ObjectID = "lkL-gv-1a1"; */
|
||||
"lkL-gv-1a1.text" = "USD";
|
||||
|
||||
/* Class = "UILabel"; text = "Last Updated:"; ObjectID = "vU4-uK-6ow"; */
|
||||
"vU4-uK-6ow.text" = "Last Updated:";
|
|
@ -1,21 +0,0 @@
|
|||
|
||||
/* Class = "UILabel"; text = "Bitcoin Price"; ObjectID = "aaf-Pc-Y9i"; */
|
||||
"aaf-Pc-Y9i.text" = "Bitcoin Price";
|
||||
|
||||
/* Class = "UILabel"; text = "from"; ObjectID = "aqr-Mt-cor"; */
|
||||
"aqr-Mt-cor.text" = "from";
|
||||
|
||||
/* Class = "UILabel"; text = "..."; ObjectID = "bEQ-e6-Puo"; */
|
||||
"bEQ-e6-Puo.text" = "...";
|
||||
|
||||
/* Class = "UILabel"; text = "..."; ObjectID = "bcB-MD-aJf"; */
|
||||
"bcB-MD-aJf.text" = "...";
|
||||
|
||||
/* Class = "UILabel"; text = "..."; ObjectID = "gm7-vT-KrH"; */
|
||||
"gm7-vT-KrH.text" = "...";
|
||||
|
||||
/* Class = "UILabel"; text = "USD"; ObjectID = "lkL-gv-1a1"; */
|
||||
"lkL-gv-1a1.text" = "USD";
|
||||
|
||||
/* Class = "UILabel"; text = "Last Updated:"; ObjectID = "vU4-uK-6ow"; */
|
||||
"vU4-uK-6ow.text" = "Last Updated:";
|
|
@ -1,21 +0,0 @@
|
|||
|
||||
/* Class = "UILabel"; text = "Bitcoin Price"; ObjectID = "aaf-Pc-Y9i"; */
|
||||
"aaf-Pc-Y9i.text" = "Bitcoin Price";
|
||||
|
||||
/* Class = "UILabel"; text = "from"; ObjectID = "aqr-Mt-cor"; */
|
||||
"aqr-Mt-cor.text" = "from";
|
||||
|
||||
/* Class = "UILabel"; text = "..."; ObjectID = "bEQ-e6-Puo"; */
|
||||
"bEQ-e6-Puo.text" = "...";
|
||||
|
||||
/* Class = "UILabel"; text = "..."; ObjectID = "bcB-MD-aJf"; */
|
||||
"bcB-MD-aJf.text" = "...";
|
||||
|
||||
/* Class = "UILabel"; text = "..."; ObjectID = "gm7-vT-KrH"; */
|
||||
"gm7-vT-KrH.text" = "...";
|
||||
|
||||
/* Class = "UILabel"; text = "USD"; ObjectID = "lkL-gv-1a1"; */
|
||||
"lkL-gv-1a1.text" = "USD";
|
||||
|
||||
/* Class = "UILabel"; text = "Last Updated:"; ObjectID = "vU4-uK-6ow"; */
|
||||
"vU4-uK-6ow.text" = "Last Updated:";
|
|
@ -1,21 +0,0 @@
|
|||
|
||||
/* Class = "UILabel"; text = "Bitcoin Price"; ObjectID = "aaf-Pc-Y9i"; */
|
||||
"aaf-Pc-Y9i.text" = "Bitcoin Price";
|
||||
|
||||
/* Class = "UILabel"; text = "from"; ObjectID = "aqr-Mt-cor"; */
|
||||
"aqr-Mt-cor.text" = "from";
|
||||
|
||||
/* Class = "UILabel"; text = "..."; ObjectID = "bEQ-e6-Puo"; */
|
||||
"bEQ-e6-Puo.text" = "...";
|
||||
|
||||
/* Class = "UILabel"; text = "..."; ObjectID = "bcB-MD-aJf"; */
|
||||
"bcB-MD-aJf.text" = "...";
|
||||
|
||||
/* Class = "UILabel"; text = "..."; ObjectID = "gm7-vT-KrH"; */
|
||||
"gm7-vT-KrH.text" = "...";
|
||||
|
||||
/* Class = "UILabel"; text = "USD"; ObjectID = "lkL-gv-1a1"; */
|
||||
"lkL-gv-1a1.text" = "USD";
|
||||
|
||||
/* Class = "UILabel"; text = "Last Updated:"; ObjectID = "vU4-uK-6ow"; */
|
||||
"vU4-uK-6ow.text" = "Last Updated:";
|
|
@ -1,21 +0,0 @@
|
|||
|
||||
/* Class = "UILabel"; text = "Bitcoin Price"; ObjectID = "aaf-Pc-Y9i"; */
|
||||
"aaf-Pc-Y9i.text" = "Bitcoin Price";
|
||||
|
||||
/* Class = "UILabel"; text = "from"; ObjectID = "aqr-Mt-cor"; */
|
||||
"aqr-Mt-cor.text" = "from";
|
||||
|
||||
/* Class = "UILabel"; text = "..."; ObjectID = "bEQ-e6-Puo"; */
|
||||
"bEQ-e6-Puo.text" = "...";
|
||||
|
||||
/* Class = "UILabel"; text = "..."; ObjectID = "bcB-MD-aJf"; */
|
||||
"bcB-MD-aJf.text" = "...";
|
||||
|
||||
/* Class = "UILabel"; text = "..."; ObjectID = "gm7-vT-KrH"; */
|
||||
"gm7-vT-KrH.text" = "...";
|
||||
|
||||
/* Class = "UILabel"; text = "USD"; ObjectID = "lkL-gv-1a1"; */
|
||||
"lkL-gv-1a1.text" = "USD";
|
||||
|
||||
/* Class = "UILabel"; text = "Last Updated:"; ObjectID = "vU4-uK-6ow"; */
|
||||
"vU4-uK-6ow.text" = "Last Updated:";
|
|
@ -1,21 +0,0 @@
|
|||
|
||||
/* Class = "UILabel"; text = "Bitcoin Price"; ObjectID = "aaf-Pc-Y9i"; */
|
||||
"aaf-Pc-Y9i.text" = "Bitcoin Price";
|
||||
|
||||
/* Class = "UILabel"; text = "from"; ObjectID = "aqr-Mt-cor"; */
|
||||
"aqr-Mt-cor.text" = "from";
|
||||
|
||||
/* Class = "UILabel"; text = "..."; ObjectID = "bEQ-e6-Puo"; */
|
||||
"bEQ-e6-Puo.text" = "...";
|
||||
|
||||
/* Class = "UILabel"; text = "..."; ObjectID = "bcB-MD-aJf"; */
|
||||
"bcB-MD-aJf.text" = "...";
|
||||
|
||||
/* Class = "UILabel"; text = "..."; ObjectID = "gm7-vT-KrH"; */
|
||||
"gm7-vT-KrH.text" = "...";
|
||||
|
||||
/* Class = "UILabel"; text = "USD"; ObjectID = "lkL-gv-1a1"; */
|
||||
"lkL-gv-1a1.text" = "USD";
|
||||
|
||||
/* Class = "UILabel"; text = "Last Updated:"; ObjectID = "vU4-uK-6ow"; */
|
||||
"vU4-uK-6ow.text" = "Last Updated:";
|
|
@ -1,21 +0,0 @@
|
|||
|
||||
/* Class = "UILabel"; text = "Bitcoin Price"; ObjectID = "aaf-Pc-Y9i"; */
|
||||
"aaf-Pc-Y9i.text" = "Bitcoin Price";
|
||||
|
||||
/* Class = "UILabel"; text = "from"; ObjectID = "aqr-Mt-cor"; */
|
||||
"aqr-Mt-cor.text" = "from";
|
||||
|
||||
/* Class = "UILabel"; text = "..."; ObjectID = "bEQ-e6-Puo"; */
|
||||
"bEQ-e6-Puo.text" = "...";
|
||||
|
||||
/* Class = "UILabel"; text = "..."; ObjectID = "bcB-MD-aJf"; */
|
||||
"bcB-MD-aJf.text" = "...";
|
||||
|
||||
/* Class = "UILabel"; text = "..."; ObjectID = "gm7-vT-KrH"; */
|
||||
"gm7-vT-KrH.text" = "...";
|
||||
|
||||
/* Class = "UILabel"; text = "USD"; ObjectID = "lkL-gv-1a1"; */
|
||||
"lkL-gv-1a1.text" = "USD";
|
||||
|
||||
/* Class = "UILabel"; text = "Last Updated:"; ObjectID = "vU4-uK-6ow"; */
|
||||
"vU4-uK-6ow.text" = "Last Updated:";
|
|
@ -1,21 +0,0 @@
|
|||
|
||||
/* Class = "UILabel"; text = "Bitcoin Price"; ObjectID = "aaf-Pc-Y9i"; */
|
||||
"aaf-Pc-Y9i.text" = "Bitcoin Price";
|
||||
|
||||
/* Class = "UILabel"; text = "from"; ObjectID = "aqr-Mt-cor"; */
|
||||
"aqr-Mt-cor.text" = "from";
|
||||
|
||||
/* Class = "UILabel"; text = "..."; ObjectID = "bEQ-e6-Puo"; */
|
||||
"bEQ-e6-Puo.text" = "...";
|
||||
|
||||
/* Class = "UILabel"; text = "..."; ObjectID = "bcB-MD-aJf"; */
|
||||
"bcB-MD-aJf.text" = "...";
|
||||
|
||||
/* Class = "UILabel"; text = "..."; ObjectID = "gm7-vT-KrH"; */
|
||||
"gm7-vT-KrH.text" = "...";
|
||||
|
||||
/* Class = "UILabel"; text = "USD"; ObjectID = "lkL-gv-1a1"; */
|
||||
"lkL-gv-1a1.text" = "USD";
|
||||
|
||||
/* Class = "UILabel"; text = "Last Updated:"; ObjectID = "vU4-uK-6ow"; */
|
||||
"vU4-uK-6ow.text" = "Last Updated:";
|
|
@ -1,21 +0,0 @@
|
|||
|
||||
/* Class = "UILabel"; text = "Bitcoin Price"; ObjectID = "aaf-Pc-Y9i"; */
|
||||
"aaf-Pc-Y9i.text" = "Bitcoin Price";
|
||||
|
||||
/* Class = "UILabel"; text = "from"; ObjectID = "aqr-Mt-cor"; */
|
||||
"aqr-Mt-cor.text" = "from";
|
||||
|
||||
/* Class = "UILabel"; text = "..."; ObjectID = "bEQ-e6-Puo"; */
|
||||
"bEQ-e6-Puo.text" = "...";
|
||||
|
||||
/* Class = "UILabel"; text = "..."; ObjectID = "bcB-MD-aJf"; */
|
||||
"bcB-MD-aJf.text" = "...";
|
||||
|
||||
/* Class = "UILabel"; text = "..."; ObjectID = "gm7-vT-KrH"; */
|
||||
"gm7-vT-KrH.text" = "...";
|
||||
|
||||
/* Class = "UILabel"; text = "USD"; ObjectID = "lkL-gv-1a1"; */
|
||||
"lkL-gv-1a1.text" = "USD";
|
||||
|
||||
/* Class = "UILabel"; text = "Last Updated:"; ObjectID = "vU4-uK-6ow"; */
|
||||
"vU4-uK-6ow.text" = "Last Updated:";
|
|
@ -1,21 +0,0 @@
|
|||
|
||||
/* Class = "UILabel"; text = "Bitcoin Price"; ObjectID = "aaf-Pc-Y9i"; */
|
||||
"aaf-Pc-Y9i.text" = "Bitcoin Price";
|
||||
|
||||
/* Class = "UILabel"; text = "from"; ObjectID = "aqr-Mt-cor"; */
|
||||
"aqr-Mt-cor.text" = "from";
|
||||
|
||||
/* Class = "UILabel"; text = "..."; ObjectID = "bEQ-e6-Puo"; */
|
||||
"bEQ-e6-Puo.text" = "...";
|
||||
|
||||
/* Class = "UILabel"; text = "..."; ObjectID = "bcB-MD-aJf"; */
|
||||
"bcB-MD-aJf.text" = "...";
|
||||
|
||||
/* Class = "UILabel"; text = "..."; ObjectID = "gm7-vT-KrH"; */
|
||||
"gm7-vT-KrH.text" = "...";
|
||||
|
||||
/* Class = "UILabel"; text = "USD"; ObjectID = "lkL-gv-1a1"; */
|
||||
"lkL-gv-1a1.text" = "USD";
|
||||
|
||||
/* Class = "UILabel"; text = "Last Updated:"; ObjectID = "vU4-uK-6ow"; */
|
||||
"vU4-uK-6ow.text" = "Last Updated:";
|
|
@ -1,21 +0,0 @@
|
|||
|
||||
/* Class = "UILabel"; text = "Bitcoin Price"; ObjectID = "aaf-Pc-Y9i"; */
|
||||
"aaf-Pc-Y9i.text" = "Bitcoin Price";
|
||||
|
||||
/* Class = "UILabel"; text = "from"; ObjectID = "aqr-Mt-cor"; */
|
||||
"aqr-Mt-cor.text" = "from";
|
||||
|
||||
/* Class = "UILabel"; text = "..."; ObjectID = "bEQ-e6-Puo"; */
|
||||
"bEQ-e6-Puo.text" = "...";
|
||||
|
||||
/* Class = "UILabel"; text = "..."; ObjectID = "bcB-MD-aJf"; */
|
||||
"bcB-MD-aJf.text" = "...";
|
||||
|
||||
/* Class = "UILabel"; text = "..."; ObjectID = "gm7-vT-KrH"; */
|
||||
"gm7-vT-KrH.text" = "...";
|
||||
|
||||
/* Class = "UILabel"; text = "USD"; ObjectID = "lkL-gv-1a1"; */
|
||||
"lkL-gv-1a1.text" = "USD";
|
||||
|
||||
/* Class = "UILabel"; text = "Last Updated:"; ObjectID = "vU4-uK-6ow"; */
|
||||
"vU4-uK-6ow.text" = "Last Updated:";
|
|
@ -1,9 +1,5 @@
|
|||
//
|
||||
// TodayDataStore.swift
|
||||
// TodayExtension
|
||||
//
|
||||
// Created by Marcos Rodriguez on 11/3/19.
|
||||
// Copyright © 2019 Facebook. All rights reserved.
|
||||
//
|
||||
|
||||
import Foundation
|
||||
|
|
Loading…
Add table
Reference in a new issue