Hook into both URL events, pass a string so we keep the url

This commit is contained in:
Garth Vander Houwen 2022-08-03 16:56:44 -07:00
parent 7cc1b43f57
commit fa25c5e2cc
4 changed files with 22 additions and 14 deletions

View file

@ -866,7 +866,7 @@
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 1;
DEVELOPMENT_ASSET_PATHS = "\"Meshtastic/Preview Content\"";
DEVELOPMENT_TEAM = QWER3PMRVZ;
DEVELOPMENT_TEAM = GCH7VS5Y9R;
ENABLE_PREVIEWS = YES;
INFOPLIST_FILE = Meshtastic/Info.plist;
INFOPLIST_KEY_CFBundleDisplayName = Meshtastic;
@ -876,7 +876,7 @@
"@executable_path/Frameworks",
);
MARKETING_VERSION = 1.3.27;
PRODUCT_BUNDLE_IDENTIFIER = cvc.MeshtasticClient;
PRODUCT_BUNDLE_IDENTIFIER = gvh.MeshtasticClient;
PRODUCT_NAME = "$(TARGET_NAME)";
SUPPORTS_MACCATALYST = YES;
SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO;
@ -898,7 +898,7 @@
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 1;
DEVELOPMENT_ASSET_PATHS = "\"Meshtastic/Preview Content\"";
DEVELOPMENT_TEAM = QWER3PMRVZ;
DEVELOPMENT_TEAM = GCH7VS5Y9R;
ENABLE_PREVIEWS = YES;
INFOPLIST_FILE = Meshtastic/Info.plist;
INFOPLIST_KEY_CFBundleDisplayName = Meshtastic;
@ -908,7 +908,7 @@
"@executable_path/Frameworks",
);
MARKETING_VERSION = 1.3.27;
PRODUCT_BUNDLE_IDENTIFIER = cvc.MeshtasticClient;
PRODUCT_BUNDLE_IDENTIFIER = gvh.MeshtasticClient;
PRODUCT_NAME = "$(TARGET_NAME)";
SUPPORTS_MACCATALYST = YES;
SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO;

View file

@ -4,7 +4,7 @@
<dict>
<key>com.apple.developer.associated-domains</key>
<array>
<string>applinks:meshtastic.org/E/*</string>
<string>applinks:meshtastic.org/*</string>
</array>
<key>com.apple.security.app-sandbox</key>
<true/>

View file

@ -12,7 +12,7 @@ struct MeshtasticAppleApp: App {
@ObservedObject private var userSettings: UserSettings = UserSettings()
@State var saveQR = false
@State private var channelUrl: URL?
@State var channelUrl: URL?
@Environment(\.scenePhase) var scenePhase
@ -26,20 +26,28 @@ struct MeshtasticAppleApp: App {
.onContinueUserActivity(NSUserActivityTypeBrowsingWeb) { userActivity in
print("QR Code URL received from the Camera \(userActivity)")
guard let channelUrl = userActivity.webpageURL else {
return
channelUrl = userActivity.webpageURL
if channelUrl!.absoluteString.lowercased().contains("https://meshtastic.org/e/#") {
saveQR = true
}
print("User wants to open URL: \(channelUrl)")
saveQR = true
print("User wants to open URL: \(channelUrl?.relativeString)")
}
.sheet(isPresented: $saveQR) {
SaveChannelQRCode(channelHash: channelUrl)
SaveChannelQRCode(channelHash: channelUrl?.absoluteString ?? "Empty Channel URL")
}
.onOpenURL(perform: { (url) in
print("QR Code URL received from the Camera \(url)")
channelUrl = url
print("User wants to open URL: \(channelUrl?.absoluteString ?? "No QR Code Link")")
if url.absoluteString.lowercased().contains("https://meshtastic.org/e/#") {
saveQR = true
}
//we are expecting a .mbtiles map file that contains raster data
//save it to the documents directory, and name it offline_map.mbtiles
let fileManager = FileManager.default

View file

@ -8,7 +8,7 @@ import SwiftUI
struct SaveChannelQRCode: View {
var channelHash: URL?
var channelHash: String
var body: some View {
@ -22,7 +22,7 @@ struct SaveChannelQRCode: View {
.font(.callout)
.padding()
Text(String(channelHash?.path ?? "URL did not pass through properly"))
Text(channelHash)
.font(.title2)
.padding()