Skip to content

Commit 53a2d6a

Browse files
authored
Merge pull request #12 from brantleyenglish/main
Adds check if wallet can be accessed
2 parents 22bba68 + 1b8c5c4 commit 53a2d6a

File tree

2 files changed

+18
-2
lines changed

2 files changed

+18
-2
lines changed

ios/WalletManager.m

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,17 @@ @implementation WalletManager
1616

1717
RCT_EXPORT_MODULE(WalletManager);
1818

19-
RCT_EXPORT_METHOD(canAddPasses:(RCTResponseSenderBlock)callback) {
20-
callback(@[@([PKAddPassesViewController canAddPasses])]);
19+
RCT_EXPORT_METHOD(
20+
canAddPasses:(RCTPromiseResolveBlock)resolve
21+
rejecter:(RCTPromiseRejectBlock)reject)
22+
{
23+
BOOL showPass = [PKAddPassesViewController canAddPasses];
24+
if (showPass) {
25+
resolve(@(YES));
26+
return;
27+
}
28+
resolve(@(NO));
29+
return;
2130
}
2231

2332
RCT_EXPORT_METHOD(

src/index.tsx

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import { NativeModules, Platform, Linking } from 'react-native';
22

33
type WalletManagerType = {
4+
canAddPasses(): Promise<boolean>;
45
addPassFromUrl(url: string): Promise<boolean>;
56
hasPass(cardIdentifier: string, serialNumber?: string): Promise<boolean>;
67
removePass(cardIdentifier: string, serialNumber?: string): Promise<boolean>;
@@ -10,6 +11,12 @@ type WalletManagerType = {
1011
const { WalletManager } = NativeModules;
1112

1213
export default {
14+
canAddPasses: async () => {
15+
if (Platform.OS === 'android') {
16+
throw new Error('canAddPasses method not available on Android');
17+
}
18+
return await WalletManager.canAddPasses();
19+
},
1320
addPassFromUrl:
1421
Platform.OS === 'ios'
1522
? WalletManager.addPassFromUrl

0 commit comments

Comments
 (0)