+1
Configurations/Plume.xcconfig
+1
Configurations/Plume.xcconfig
+9
-3
Plume/Networking/Services.swift
+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
+1
-1
Plume/System/Info.plist
+6
-2
User.xcconfig.template
+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