From 5ce1558e726d9f7e7d713b73c7b540a587f6a03b Mon Sep 17 00:00:00 2001 From: Ben G Date: Mon, 17 Jul 2023 14:21:46 -0400 Subject: [PATCH 01/11] add linking capability, add associated domain --- DSNP-Wallet.xcodeproj/project.pbxproj | 2 ++ DSNP-Wallet/DSNP-Wallet.entitlements | 10 ++++++++++ 2 files changed, 12 insertions(+) create mode 100644 DSNP-Wallet/DSNP-Wallet.entitlements diff --git a/DSNP-Wallet.xcodeproj/project.pbxproj b/DSNP-Wallet.xcodeproj/project.pbxproj index 3896aac..131f9f4 100644 --- a/DSNP-Wallet.xcodeproj/project.pbxproj +++ b/DSNP-Wallet.xcodeproj/project.pbxproj @@ -947,6 +947,7 @@ B534ACE72A28FA7C00518B9C /* AmpTabItem.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AmpTabItem.swift; sourceTree = ""; }; B53BD7BD2A00408200967477 /* QAViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = QAViewModel.swift; sourceTree = ""; }; B53BD7BF2A01571000967477 /* ChainEnvironment.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ChainEnvironment.swift; sourceTree = ""; }; + B544C0962A65BBB6000A2C77 /* DSNP-Wallet.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = "DSNP-Wallet.entitlements"; sourceTree = ""; }; B5966F242A0007FF00A17F08 /* QAViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = QAViewController.swift; sourceTree = ""; }; B5966F262A00080900A17F08 /* QAView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = QAView.swift; sourceTree = ""; }; B5A62BE62A0A8F2900A31178 /* Poppins-ExtraBold.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "Poppins-ExtraBold.ttf"; sourceTree = ""; }; @@ -1115,6 +1116,7 @@ 8223AB592818917700DEF1E9 /* DSNP-Wallet */ = { isa = PBXGroup; children = ( + B544C0962A65BBB6000A2C77 /* DSNP-Wallet.entitlements */, 829960392978C45D009A769F /* Common */, 829960C42978C45F009A769F /* Modules */, 8223ABCD2820808500DEF1E9 /* Resources */, diff --git a/DSNP-Wallet/DSNP-Wallet.entitlements b/DSNP-Wallet/DSNP-Wallet.entitlements new file mode 100644 index 0000000..db86465 --- /dev/null +++ b/DSNP-Wallet/DSNP-Wallet.entitlements @@ -0,0 +1,10 @@ + + + + + com.apple.developer.associated-domains + + https://dev-custodial-wallet.liberti.social/ + + + From 56eab014a0898b353dbb973a85ec85e7a1157802 Mon Sep 17 00:00:00 2001 From: Ben G Date: Mon, 17 Jul 2023 15:32:46 -0400 Subject: [PATCH 02/11] fix domain urls, remove dlManager refs --- DSNP-Wallet/DSNP-Wallet.entitlements | 3 ++- DSNP-Wallet/SceneDelegate.swift | 12 +----------- 2 files changed, 3 insertions(+), 12 deletions(-) diff --git a/DSNP-Wallet/DSNP-Wallet.entitlements b/DSNP-Wallet/DSNP-Wallet.entitlements index db86465..a31beef 100644 --- a/DSNP-Wallet/DSNP-Wallet.entitlements +++ b/DSNP-Wallet/DSNP-Wallet.entitlements @@ -4,7 +4,8 @@ com.apple.developer.associated-domains - https://dev-custodial-wallet.liberti.social/ + applinks:*.dev-custodial-wallet.liberti.social + applinks:*.dev-custodial-wallet.liberti.social?mode=developer diff --git a/DSNP-Wallet/SceneDelegate.swift b/DSNP-Wallet/SceneDelegate.swift index 0abef28..207c4a8 100644 --- a/DSNP-Wallet/SceneDelegate.swift +++ b/DSNP-Wallet/SceneDelegate.swift @@ -12,7 +12,6 @@ import Foundation class SceneDelegate: UIResponder, UIWindowSceneDelegate { var window: UIWindow? - private lazy var dlManager = DeeplinkManager() func scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions) { // Use this method to optionally configure and attach the UIWindow `window` to the provided UIWindowScene `scene`. @@ -41,9 +40,6 @@ class SceneDelegate: UIResponder, UIWindowSceneDelegate { self.window = window window.makeKeyAndVisible() - if let urlContext = connectionOptions.urlContexts.first { - dlManager.add(url: urlContext.url) - } } func sceneDidDisconnect(_ scene: UIScene) { @@ -70,7 +66,6 @@ class SceneDelegate: UIResponder, UIWindowSceneDelegate { //Accounts for when user has already entered pin, and has keys, then notify of retrieved keys. if let _ = try? AccountKeychain.shared.fetchKey() { - dlManager.viewController = window?.rootViewController NotificationCenter.default.post(name: Notification.Name(NotificationType.retrievedKeys.rawValue), object: nil) } @@ -81,10 +76,5 @@ class SceneDelegate: UIResponder, UIWindowSceneDelegate { // Use this method to save data, release shared resources, and store enough scene-specific state information // to restore the scene back to its current state. } - - func scene(_ scene: UIScene, openURLContexts URLContexts: Set) { - guard let urlContext = URLContexts.first else { return } - dlManager.viewController = window?.rootViewController - dlManager.add(url: urlContext.url) - } + } From 54b2cc2c6f396eabbbef031af827e06be4be994a Mon Sep 17 00:00:00 2001 From: Ben G Date: Tue, 18 Jul 2023 10:34:28 -0400 Subject: [PATCH 03/11] remove combine import --- .../Modules/Onboarding/SeedPhrase/SeedPhraseViewModel.swift | 1 - 1 file changed, 1 deletion(-) diff --git a/DSNP-Wallet/Source/Modules/Onboarding/SeedPhrase/SeedPhraseViewModel.swift b/DSNP-Wallet/Source/Modules/Onboarding/SeedPhrase/SeedPhraseViewModel.swift index c6720ff..58eb80b 100644 --- a/DSNP-Wallet/Source/Modules/Onboarding/SeedPhrase/SeedPhraseViewModel.swift +++ b/DSNP-Wallet/Source/Modules/Onboarding/SeedPhrase/SeedPhraseViewModel.swift @@ -6,7 +6,6 @@ // import Foundation -import Combine class SeedPhraseViewModel { From 6b35cd6bf9e2148d637411bbb4d2f329e1183bb7 Mon Sep 17 00:00:00 2001 From: Ben G Date: Tue, 18 Jul 2023 10:35:21 -0400 Subject: [PATCH 04/11] revert last commit --- .../Modules/Onboarding/SeedPhrase/SeedPhraseViewModel.swift | 1 + 1 file changed, 1 insertion(+) diff --git a/DSNP-Wallet/Source/Modules/Onboarding/SeedPhrase/SeedPhraseViewModel.swift b/DSNP-Wallet/Source/Modules/Onboarding/SeedPhrase/SeedPhraseViewModel.swift index 58eb80b..c6720ff 100644 --- a/DSNP-Wallet/Source/Modules/Onboarding/SeedPhrase/SeedPhraseViewModel.swift +++ b/DSNP-Wallet/Source/Modules/Onboarding/SeedPhrase/SeedPhraseViewModel.swift @@ -6,6 +6,7 @@ // import Foundation +import Combine class SeedPhraseViewModel { From 3444ce7355510e07b76b17fee63655b6cf94fd4b Mon Sep 17 00:00:00 2001 From: Ben G Date: Tue, 18 Jul 2023 10:35:42 -0400 Subject: [PATCH 05/11] handle app linking --- DSNP-Wallet/Source/Modules/AppDelegate.swift | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/DSNP-Wallet/Source/Modules/AppDelegate.swift b/DSNP-Wallet/Source/Modules/AppDelegate.swift index a214c1f..9dd0a94 100644 --- a/DSNP-Wallet/Source/Modules/AppDelegate.swift +++ b/DSNP-Wallet/Source/Modules/AppDelegate.swift @@ -34,6 +34,24 @@ class AppDelegate: UIResponder, UIApplicationDelegate { // Use this method to release any resources that were specific to the discarded scenes, as they will not return. } + func application(_ application: NSApplication, + continue userActivity: NSUserActivity, + restorationHandler: @escaping ([NSUserActivityRestoring]) -> Void) -> Bool + { + // Get URL components from the incoming user activity. + guard userActivity.activityType == NSUserActivityTypeBrowsingWeb, + let incomingURL = userActivity.webpageURL, + let components = NSURLComponents(url: incomingURL, resolvingAgainstBaseURL: true) else { + return false + } + + // Check for specific URL components that you need. + guard let path = components.path, + let params = components.queryItems else { + return false + } + print("path = \(path)") + } } From 15fb8c1c8fadb12d1ea6ce4420883c7d218cce2d Mon Sep 17 00:00:00 2001 From: Ben G Date: Tue, 18 Jul 2023 10:41:58 -0400 Subject: [PATCH 06/11] remove callback from appdelegate, add link handling in scene delegate --- DSNP-Wallet/SceneDelegate.swift | 13 +++++++++++++ DSNP-Wallet/Source/Modules/AppDelegate.swift | 19 ------------------- 2 files changed, 13 insertions(+), 19 deletions(-) diff --git a/DSNP-Wallet/SceneDelegate.swift b/DSNP-Wallet/SceneDelegate.swift index 207c4a8..14cc0aa 100644 --- a/DSNP-Wallet/SceneDelegate.swift +++ b/DSNP-Wallet/SceneDelegate.swift @@ -22,6 +22,11 @@ class SceneDelegate: UIResponder, UIWindowSceneDelegate { var rootViewController: UIViewController? + if let url = connectionOptions.urlContexts.first?.url { + print("universal link detected! ", url) + } + + #if DEBUG rootViewController = BaseViewController() #else @@ -41,6 +46,14 @@ class SceneDelegate: UIResponder, UIWindowSceneDelegate { window.makeKeyAndVisible() } + + // If the app was already running you use this: + func scene(_ scene: UIScene, continue userActivity: NSUserActivity) { + if let url = userActivity.webpageURL { + // Deal with App Link + print("universal link detected! ", url) + } + } func sceneDidDisconnect(_ scene: UIScene) { // Called as the scene is being released by the system. diff --git a/DSNP-Wallet/Source/Modules/AppDelegate.swift b/DSNP-Wallet/Source/Modules/AppDelegate.swift index 9dd0a94..b441a56 100644 --- a/DSNP-Wallet/Source/Modules/AppDelegate.swift +++ b/DSNP-Wallet/Source/Modules/AppDelegate.swift @@ -34,24 +34,5 @@ class AppDelegate: UIResponder, UIApplicationDelegate { // Use this method to release any resources that were specific to the discarded scenes, as they will not return. } - func application(_ application: NSApplication, - continue userActivity: NSUserActivity, - restorationHandler: @escaping ([NSUserActivityRestoring]) -> Void) -> Bool - { - // Get URL components from the incoming user activity. - guard userActivity.activityType == NSUserActivityTypeBrowsingWeb, - let incomingURL = userActivity.webpageURL, - let components = NSURLComponents(url: incomingURL, resolvingAgainstBaseURL: true) else { - return false - } - - // Check for specific URL components that you need. - guard let path = components.path, - let params = components.queryItems else { - return false - } - print("path = \(path)") - } - } From 231926697cfc21400b1a473b18046523f72babf5 Mon Sep 17 00:00:00 2001 From: Ben G Date: Wed, 19 Jul 2023 13:13:33 -0400 Subject: [PATCH 07/11] show alert with url on reception --- DSNP-Wallet/SceneDelegate.swift | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/DSNP-Wallet/SceneDelegate.swift b/DSNP-Wallet/SceneDelegate.swift index 14cc0aa..f2daeb6 100644 --- a/DSNP-Wallet/SceneDelegate.swift +++ b/DSNP-Wallet/SceneDelegate.swift @@ -21,10 +21,6 @@ class SceneDelegate: UIResponder, UIWindowSceneDelegate { let window = UIWindow(windowScene: windowScene) var rootViewController: UIViewController? - - if let url = connectionOptions.urlContexts.first?.url { - print("universal link detected! ", url) - } #if DEBUG @@ -52,6 +48,20 @@ class SceneDelegate: UIResponder, UIWindowSceneDelegate { if let url = userActivity.webpageURL { // Deal with App Link print("universal link detected! ", url) + + let alert = UIAlertController(title: "Universal Link Detected!", message: "URL recieved: \(url)", preferredStyle: .alert) + alert.addAction(UIAlertAction(title: "Ok", style: .cancel, handler: nil)) + if let vc = window?.rootViewController { + vc.present(alert, animated: true) + } + + guard userActivity.activityType == NSUserActivityTypeBrowsingWeb, + let incomingURL = userActivity.webpageURL, + let components = NSURLComponents(url: incomingURL, resolvingAgainstBaseURL: true) else { + return + } + + print("path = \(components.path)") } } From 15e5ce4a4f0cae3f98ccf8286f02d7110c17177c Mon Sep 17 00:00:00 2001 From: Ben G Date: Wed, 19 Jul 2023 20:23:10 -0400 Subject: [PATCH 08/11] clean up sign in view --- .../Modules/Onboarding/NewUI/SignInView.swift | 149 ++++++++++++------ 1 file changed, 100 insertions(+), 49 deletions(-) diff --git a/DSNP-Wallet/Source/Modules/Onboarding/NewUI/SignInView.swift b/DSNP-Wallet/Source/Modules/Onboarding/NewUI/SignInView.swift index 5b4df54..4d5dfee 100644 --- a/DSNP-Wallet/Source/Modules/Onboarding/NewUI/SignInView.swift +++ b/DSNP-Wallet/Source/Modules/Onboarding/NewUI/SignInView.swift @@ -67,39 +67,79 @@ struct SignInView: View { .frame(maxWidth: .infinity) } + // MARK: Restore Button + var restoreButton: some View { VStack { if !hasAgreedToTerms { - Button { - termsPresented = true - } label: { - Text("Restore Account") - .foregroundColor(.white) - .font(Font(UIFont.Theme.regular(ofSize: 14))) - .underline() - } - .sheet(isPresented: $termsPresented) { - TermsView() - .presentationDetents([.extraLarge]) - .presentationDragIndicator(.visible) - .background(Color(uiColor: UIColor.Theme.bgGray)) - } + restoreButtonTerms } else { - NavigationLink( - destination: LazyView(ImportSeedView(viewModel: ImportSeedViewModel()))) { - Text("Restore Account") - .foregroundColor(.white) - .font(Font(UIFont.Theme.regular(ofSize: 14))) - .underline() - } - .padding(.vertical, 12) - .padding(.horizontal, 34) - .accessibilityIdentifier(AccessibilityIdentifier.OnboardingIdentifiers.restoreUserButton) + restoreButtonNavigation } } } + var restoreButtonTerms: some View { + Button { + termsPresented = true + } label: { + Text("Restore Account") + .foregroundColor(.white) + .font(Font(UIFont.Theme.regular(ofSize: 14))) + .underline() + } + .sheet(isPresented: $termsPresented) { + TermsView() + .presentationDetents([.extraLarge]) + .presentationDragIndicator(.visible) + .background(Color(uiColor: UIColor.Theme.bgGray)) + } + } + + var restoreButtonNavigation: some View { + NavigationLink( + destination: LazyView(ImportSeedView(viewModel: ImportSeedViewModel()))) { + Text("Restore Account") + .foregroundColor(.white) + .font(Font(UIFont.Theme.regular(ofSize: 14))) + .underline() + } + .padding(.vertical, 12) + .padding(.horizontal, 34) + .accessibilityIdentifier(AccessibilityIdentifier.OnboardingIdentifiers.restoreUserButton) + } + + // MARK: Have an ID Button + var haveAnIdButton: some View { + VStack { + if !hasAgreedToTerms { + haveAnIdButtonTerms + } else { + haveAnIdButtonNavigation + } + } + } + + var haveAnIdButtonNavigation: some View { + NavigationLink( + destination: Text("Hello")) { + Text("I have an ID") + .font(Font(UIFont.Theme.medium(ofSize: 14))) + .padding(.vertical, 16) + .padding(.horizontal, 34) + .foregroundColor(.white) + } + .accessibilityIdentifier(AccessibilityIdentifier.OnboardingIdentifiers.createUserMeWeButton) + .frame(maxWidth: .infinity) + .background(Color(uiColor: UIColor.Theme.buttonTeal)) + .foregroundColor(.white) + .cornerRadius(30) + .padding(.vertical, 10) + .padding(.horizontal, 34) + } + + var haveAnIdButtonTerms: some View { Button { if !hasAgreedToTerms { termsPresented = true @@ -132,38 +172,49 @@ struct SignInView: View { } } + // MARK: Create Identity Button + var createIdentityButton: some View { VStack { if !hasAgreedToTerms { - PrimaryButton(title: "Create Identity") { - termsPresented = true - } - .padding(.horizontal, 34) - .sheet(isPresented: $termsPresented) { - TermsView() - .presentationDetents([.extraLarge]) - .presentationDragIndicator(.visible) - .background(Color(uiColor: UIColor.Theme.bgGray)) - } + createButtonTerms } else { - NavigationLink( - destination: LazyView(ClaimHandleView(viewModel: ClaimHandleViewModel()))) { - Text("Create Identity") - .font(Font(UIFont.Theme.medium(ofSize: 14))) - .padding(.vertical, 16) - .padding(.horizontal, 34) - .foregroundColor(.white) - } - .accessibilityIdentifier(AccessibilityIdentifier.OnboardingIdentifiers.createNewUserButton) - .frame(maxWidth: .infinity) - .background(Color(uiColor: UIColor.Theme.buttonTeal)) - .foregroundColor(.white) - .cornerRadius(30) - .padding(.vertical, 10) - .padding(.horizontal, 34) + createButtonNavigation } } } + + var createButtonTerms: some View { + PrimaryButton(title: "Create Identity") { + termsPresented = true + } + .padding(.horizontal, 34) + .sheet(isPresented: $termsPresented) { + TermsView() + .presentationDetents([.extraLarge]) + .presentationDragIndicator(.visible) + .background(Color(uiColor: UIColor.Theme.bgGray)) + } + } + + var createButtonNavigation: some View { + NavigationLink( + destination: LazyView(ClaimHandleView(viewModel: ClaimHandleViewModel()))) { + Text("Create Identity") + .font(Font(UIFont.Theme.medium(ofSize: 14))) + .padding(.vertical, 16) + .padding(.horizontal, 34) + .foregroundColor(.white) + } + .accessibilityIdentifier(AccessibilityIdentifier.OnboardingIdentifiers.createNewUserButton) + .frame(maxWidth: .infinity) + .background(Color(uiColor: UIColor.Theme.buttonTeal)) + .foregroundColor(.white) + .cornerRadius(30) + .padding(.vertical, 10) + .padding(.horizontal, 34) + } + } struct SignInView_Previews: PreviewProvider { From f4eaa1ee9a5c569353b0d1bf1fa6de20a496e889 Mon Sep 17 00:00:00 2001 From: Ben G Date: Thu, 20 Jul 2023 11:39:24 -0400 Subject: [PATCH 09/11] navigate to safari view controller to log in --- DSNP-Wallet/Source/Modules/AppDelegate.swift | 8 +++++++ .../Modules/Onboarding/NewUI/SignInView.swift | 24 ++++++++++++++----- 2 files changed, 26 insertions(+), 6 deletions(-) diff --git a/DSNP-Wallet/Source/Modules/AppDelegate.swift b/DSNP-Wallet/Source/Modules/AppDelegate.swift index b441a56..da3b9f2 100644 --- a/DSNP-Wallet/Source/Modules/AppDelegate.swift +++ b/DSNP-Wallet/Source/Modules/AppDelegate.swift @@ -36,3 +36,11 @@ class AppDelegate: UIResponder, UIApplicationDelegate { } +extension UIApplication { + var firstKeyWindow: UIWindow? { + return UIApplication.shared.connectedScenes + .compactMap { $0 as? UIWindowScene } + .filter { $0.activationState == .foregroundActive } + .first?.keyWindow + } +} diff --git a/DSNP-Wallet/Source/Modules/Onboarding/NewUI/SignInView.swift b/DSNP-Wallet/Source/Modules/Onboarding/NewUI/SignInView.swift index 4d5dfee..4f796fb 100644 --- a/DSNP-Wallet/Source/Modules/Onboarding/NewUI/SignInView.swift +++ b/DSNP-Wallet/Source/Modules/Onboarding/NewUI/SignInView.swift @@ -6,6 +6,7 @@ // import SwiftUI +import SafariServices extension PresentationDetent { static let small = Self.height(100) @@ -122,21 +123,32 @@ struct SignInView: View { } var haveAnIdButtonNavigation: some View { - NavigationLink( - destination: Text("Hello")) { + Button { + if !hasAgreedToTerms { + termsPresented = true + } else { + let vc = SFSafariViewController(url: URL(string: "https://dev-custodial-wallet.liberti.social/access_web/index.html")!) + + UIApplication.shared.firstKeyWindow?.rootViewController?.present(vc, animated: true) + } + } label: { + HStack { Text("I have an ID") .font(Font(UIFont.Theme.medium(ofSize: 14))) .padding(.vertical, 16) - .padding(.horizontal, 34) - .foregroundColor(.white) + .padding(.horizontal, 12) + Image("mewelogo") + .padding(.bottom, 6) + .padding(.leading, -15) + } } - .accessibilityIdentifier(AccessibilityIdentifier.OnboardingIdentifiers.createUserMeWeButton) .frame(maxWidth: .infinity) .background(Color(uiColor: UIColor.Theme.buttonTeal)) .foregroundColor(.white) .cornerRadius(30) - .padding(.vertical, 10) + .padding(.vertical, 12) .padding(.horizontal, 34) + .accessibilityIdentifier(AccessibilityIdentifier.OnboardingIdentifiers.createUserMeWeButton) } var haveAnIdButtonTerms: some View { From 4ef1d1bcef63ff17b56039b1806705fdfa65d7b1 Mon Sep 17 00:00:00 2001 From: Ben G Date: Thu, 20 Jul 2023 12:21:48 -0400 Subject: [PATCH 10/11] cleanup --- DSNP-Wallet/SceneDelegate.swift | 23 ++++--------------- .../Modules/Onboarding/NewUI/SignInView.swift | 1 - 2 files changed, 5 insertions(+), 19 deletions(-) diff --git a/DSNP-Wallet/SceneDelegate.swift b/DSNP-Wallet/SceneDelegate.swift index f2daeb6..d751db8 100644 --- a/DSNP-Wallet/SceneDelegate.swift +++ b/DSNP-Wallet/SceneDelegate.swift @@ -43,25 +43,12 @@ class SceneDelegate: UIResponder, UIWindowSceneDelegate { } - // If the app was already running you use this: + // MARK: Handle Universal Link func scene(_ scene: UIScene, continue userActivity: NSUserActivity) { - if let url = userActivity.webpageURL { - // Deal with App Link - print("universal link detected! ", url) - - let alert = UIAlertController(title: "Universal Link Detected!", message: "URL recieved: \(url)", preferredStyle: .alert) - alert.addAction(UIAlertAction(title: "Ok", style: .cancel, handler: nil)) - if let vc = window?.rootViewController { - vc.present(alert, animated: true) - } - - guard userActivity.activityType == NSUserActivityTypeBrowsingWeb, - let incomingURL = userActivity.webpageURL, - let components = NSURLComponents(url: incomingURL, resolvingAgainstBaseURL: true) else { - return - } - - print("path = \(components.path)") + let alert = UIAlertController(title: "Universal Link Detected!", message: "URL recieved: \(userActivity.webpageURL?.absoluteString ?? "url missing") \n ActivityType: \(userActivity.activityType)", preferredStyle: .alert) + alert.addAction(UIAlertAction(title: "Ok", style: .cancel, handler: nil)) + if let vc = window?.rootViewController { + vc.present(alert, animated: true) } } diff --git a/DSNP-Wallet/Source/Modules/Onboarding/NewUI/SignInView.swift b/DSNP-Wallet/Source/Modules/Onboarding/NewUI/SignInView.swift index 4f796fb..11cd050 100644 --- a/DSNP-Wallet/Source/Modules/Onboarding/NewUI/SignInView.swift +++ b/DSNP-Wallet/Source/Modules/Onboarding/NewUI/SignInView.swift @@ -128,7 +128,6 @@ struct SignInView: View { termsPresented = true } else { let vc = SFSafariViewController(url: URL(string: "https://dev-custodial-wallet.liberti.social/access_web/index.html")!) - UIApplication.shared.firstKeyWindow?.rootViewController?.present(vc, animated: true) } } label: { From 165c7cab791f20d12bafeceb10d87e2ff697b2a1 Mon Sep 17 00:00:00 2001 From: Ben G Date: Thu, 20 Jul 2023 12:28:39 -0400 Subject: [PATCH 11/11] add correct entitlements --- DSNP-Wallet.xcodeproj/project.pbxproj | 4 +++- DSNP-Wallet/DSNP-Wallet.entitlements | 3 +-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/DSNP-Wallet.xcodeproj/project.pbxproj b/DSNP-Wallet.xcodeproj/project.pbxproj index a59b716..b14a9db 100644 --- a/DSNP-Wallet.xcodeproj/project.pbxproj +++ b/DSNP-Wallet.xcodeproj/project.pbxproj @@ -949,9 +949,9 @@ B534ACE72A28FA7C00518B9C /* AmpTabItem.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AmpTabItem.swift; sourceTree = ""; }; B53BD7BD2A00408200967477 /* QAViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = QAViewModel.swift; sourceTree = ""; }; B53BD7BF2A01571000967477 /* ChainEnvironment.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ChainEnvironment.swift; sourceTree = ""; }; - B544C0962A65BBB6000A2C77 /* DSNP-Wallet.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = "DSNP-Wallet.entitlements"; sourceTree = ""; }; B544C0922A5EF15D000A2C77 /* TermsText.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TermsText.swift; sourceTree = ""; }; B544C0942A5EF2A5000A2C77 /* TermsView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TermsView.swift; sourceTree = ""; }; + B544C0962A65BBB6000A2C77 /* DSNP-Wallet.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = "DSNP-Wallet.entitlements"; sourceTree = ""; }; B5966F242A0007FF00A17F08 /* QAViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = QAViewController.swift; sourceTree = ""; }; B5966F262A00080900A17F08 /* QAView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = QAView.swift; sourceTree = ""; }; B5A62BE62A0A8F2900A31178 /* Poppins-ExtraBold.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "Poppins-ExtraBold.ttf"; sourceTree = ""; }; @@ -3191,6 +3191,7 @@ buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; + CODE_SIGN_ENTITLEMENTS = "DSNP-Wallet/DSNP-Wallet.entitlements"; CODE_SIGN_IDENTITY = "Apple Development: Vitali Krasnik (7WQU5BRP22)"; CODE_SIGN_STYLE = Manual; CURRENT_PROJECT_VERSION = 2; @@ -3228,6 +3229,7 @@ buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; + CODE_SIGN_ENTITLEMENTS = "DSNP-Wallet/DSNP-Wallet.entitlements"; CODE_SIGN_IDENTITY = "Apple Development: Vitali Krasnik (7WQU5BRP22)"; CODE_SIGN_STYLE = Manual; CURRENT_PROJECT_VERSION = 2; diff --git a/DSNP-Wallet/DSNP-Wallet.entitlements b/DSNP-Wallet/DSNP-Wallet.entitlements index a31beef..61cad8b 100644 --- a/DSNP-Wallet/DSNP-Wallet.entitlements +++ b/DSNP-Wallet/DSNP-Wallet.entitlements @@ -4,8 +4,7 @@ com.apple.developer.associated-domains - applinks:*.dev-custodial-wallet.liberti.social - applinks:*.dev-custodial-wallet.liberti.social?mode=developer + applinks:dev-custodial-wallet.liberti.social