FinanceKit requestAuthorization denied

Hello all 👋

I'm getting unexpected behavior when testing FinanceKit for my app and was hoping to get assistance.

Pre-reqs (defined at https://developer.apple.com/documentation/financekit):

  • I've been given the FinanceKit entitlement
  • I have the com.apple.developer.financekit entitlement set to financial-data
  • I also have NSFinancialDataDescription set in Info.plist.
  • I am targeting iOS 17.4 (a physical device)

When I call FinanceStore.shared.requestAuthorization(), I immediately get a denied status without any alert dialogs.

No data about my app is listed in Settings > Privacy & Security > Wallet

Any idea what else is needed here? Thanks so much for the help!

Code

import SwiftUI
import FinanceKit

@main
struct myApp: App {
    var body: some Scene {
        WindowGroup {
            ContentView()
        }
    }
}

struct ContentView: View {
    @State private var status: AuthorizationStatus?
    @State private var dataAvail: Bool?
    
    var body: some View {
        VStack {
            Text("Data available \(String(describing: dataAvail))")
            Text("Auth status \(String(describing: status))")
            
            Button("Get Status") {
                Task{
                    dataAvail = FinanceStore.isDataAvailable(.financialData)
                    status = try await FinanceStore.shared.authorizationStatus()
                }
            }.buttonStyle(.borderedProminent)
            
            Button("Request Auth") {
                Task{
                     do{
                         status = try await FinanceStore.shared.requestAuthorization()
                     }catch{
                          print(error)
                     }
                }
            }.buttonStyle(.borderedProminent)
        }
        .padding()
    }
}

#Preview {
    ContentView()
}

app.entitlements:

<?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.developer.financekit</key>
	<array>
		<string>financial-data</string>
	</array>
</dict>
</plist>

Info.plist:

<?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>NSFinancialDataDescription</key>
	<string>Budget across all your accounts</string>
</dict>
</plist>

VIdeo demo:

I am having the exact same issue. In addition usually deleting and reinstalling the app would allow you to prompt for permissions again (push notifications, etc) but that doesn't work in this case.

-Doug

FinanceKit requestAuthorization denied
 
 
Q