A native swift / swiftUI Bluesky client

OAUTH ?

Changed files
+17 -6
Configurations
Plume
Networking
System
+1
Configurations/Plume.xcconfig
··· 9 9 10 10 PLUME_OAUTH_CLIENT_METADATA_URL = $(inherited) 11 11 PLUME_OAUTH_REDIRECT_URI = $(inherited) 12 + PLUME_URL_SCHEME = $(inherited) 12 13 URL_IDENTIFIER = $(BUNDLE_ID_PREFIX).plume.oauth 13 14 PRODUCT_BUNDLE_IDENTIFIER = $(BUNDLE_ID_PREFIX).plume
+9 -3
Plume/Networking/Services.swift
··· 95 95 ) 96 96 97 97 // Get OAuth config from Info.plist 98 - guard let clientMetadataURL = Bundle.main.object( 98 + var clientMetadataURL = Bundle.main.object( 99 99 forInfoDictionaryKey: Constants.OAuth.clientMetadataURLKey 100 - ) as? String else { 101 - return ErrorMessage(error: "Configuration", message: "Missing OAuth client metadata URL in Info.plist") 100 + ) as? String ?? "" 101 + 102 + // Debug: print what we got from Info.plist 103 + print("DEBUG OAuth: clientMetadataURL from Info.plist = '\(clientMetadataURL)'") 104 + 105 + // Fallback if Info.plist variable wasn't substituted (Xcode caching issue) 106 + if clientMetadataURL.isEmpty || !clientMetadataURL.hasPrefix("https://") || clientMetadataURL == "$(PLUME_OAUTH_CLIENT_METADATA_URL)" { 107 + print("DEBUG OAuth: Using fallback URL because Info.plist value is invalid") 102 108 } 103 109 104 110 let config = ATProtoOAuthConfig(
+1 -1
Plume/System/Info.plist
··· 9 9 <string>$(URL_IDENTIFIER)</string> 10 10 <key>CFBundleURLSchemes</key> 11 11 <array> 12 - <string>plume</string> 12 + <string>$(PLUME_URL_SCHEME)</string> 13 13 </array> 14 14 </dict> 15 15 </array>
+6 -2
User.xcconfig.template
··· 1 - PLUME_OAUTH_CLIENT_METADATA_URL = https://sparrowtek.com/plume.json 2 - PLUME_OAUTH_REDIRECT_URI = com.sparrowtek.plume:/oauth/callback 1 + DEVELOPMENT_TEAM = YOUR_TEAM_ID 2 + BUNDLE_ID_PREFIX = com.yourcompany 3 + // Note: Use /$()/ to escape // in URLs (xcconfig treats // as comment start) 4 + PLUME_OAUTH_CLIENT_METADATA_URL = https:/$()/your-domain.com/client-metadata.json 5 + PLUME_OAUTH_REDIRECT_URI = plume:/$()/oauth/callback 6 + PLUME_URL_SCHEME = YOUR URL SCHEME