From 8ed1ace2d1cd657404012f21dbe8baf84786e671 Mon Sep 17 00:00:00 2001
From: nacho <25931366+ignaciosantise@users.noreply.github.com>
Date: Thu, 30 Oct 2025 15:03:16 -0300
Subject: [PATCH 1/3] chore: added nfc capabilities to wallet sample
---
.../rn_cli_wallet/android/app/src/main/AndroidManifest.xml | 1 +
wallets/rn_cli_wallet/ios/RNWeb3Wallet/Debug-Info.plist | 2 ++
wallets/rn_cli_wallet/ios/RNWeb3Wallet/Info.plist | 2 ++
wallets/rn_cli_wallet/ios/RNWeb3Wallet/Internal-Info.plist | 2 ++
.../rn_cli_wallet/ios/RNWeb3Wallet/RNWeb3Wallet.entitlements | 4 ++++
.../ios/RNWeb3Wallet/RNWeb3WalletDebug.entitlements | 4 ++++
6 files changed, 15 insertions(+)
diff --git a/wallets/rn_cli_wallet/android/app/src/main/AndroidManifest.xml b/wallets/rn_cli_wallet/android/app/src/main/AndroidManifest.xml
index d803705e..7a36ef89 100644
--- a/wallets/rn_cli_wallet/android/app/src/main/AndroidManifest.xml
+++ b/wallets/rn_cli_wallet/android/app/src/main/AndroidManifest.xml
@@ -3,6 +3,7 @@
+
+ NFCReaderUsageDescription
+ This app requires NFC to send messages
CADisableMinimumFrameDurationOnPhone
CFBundleDevelopmentRegion
diff --git a/wallets/rn_cli_wallet/ios/RNWeb3Wallet/Info.plist b/wallets/rn_cli_wallet/ios/RNWeb3Wallet/Info.plist
index 11d795e0..77c3eb2e 100644
--- a/wallets/rn_cli_wallet/ios/RNWeb3Wallet/Info.plist
+++ b/wallets/rn_cli_wallet/ios/RNWeb3Wallet/Info.plist
@@ -2,6 +2,8 @@
+ NFCReaderUsageDescription
+ This app requires NFC to send messages
CADisableMinimumFrameDurationOnPhone
CFBundleDevelopmentRegion
diff --git a/wallets/rn_cli_wallet/ios/RNWeb3Wallet/Internal-Info.plist b/wallets/rn_cli_wallet/ios/RNWeb3Wallet/Internal-Info.plist
index e51646fc..e1791c2a 100644
--- a/wallets/rn_cli_wallet/ios/RNWeb3Wallet/Internal-Info.plist
+++ b/wallets/rn_cli_wallet/ios/RNWeb3Wallet/Internal-Info.plist
@@ -2,6 +2,8 @@
+ NFCReaderUsageDescription
+ This app requires NFC to send messages
CADisableMinimumFrameDurationOnPhone
CFBundleDevelopmentRegion
diff --git a/wallets/rn_cli_wallet/ios/RNWeb3Wallet/RNWeb3Wallet.entitlements b/wallets/rn_cli_wallet/ios/RNWeb3Wallet/RNWeb3Wallet.entitlements
index eeba6402..fde45392 100644
--- a/wallets/rn_cli_wallet/ios/RNWeb3Wallet/RNWeb3Wallet.entitlements
+++ b/wallets/rn_cli_wallet/ios/RNWeb3Wallet/RNWeb3Wallet.entitlements
@@ -8,5 +8,9 @@
applinks:lab.reown.com
+ com.apple.developer.nfc.readersession.formats
+
+ TAG
+
diff --git a/wallets/rn_cli_wallet/ios/RNWeb3Wallet/RNWeb3WalletDebug.entitlements b/wallets/rn_cli_wallet/ios/RNWeb3Wallet/RNWeb3WalletDebug.entitlements
index eeba6402..fde45392 100644
--- a/wallets/rn_cli_wallet/ios/RNWeb3Wallet/RNWeb3WalletDebug.entitlements
+++ b/wallets/rn_cli_wallet/ios/RNWeb3Wallet/RNWeb3WalletDebug.entitlements
@@ -8,5 +8,9 @@
applinks:lab.reown.com
+ com.apple.developer.nfc.readersession.formats
+
+ TAG
+
From 31bb1f5e8e58a89023ecfa8b9d24205c0eae7f21 Mon Sep 17 00:00:00 2001
From: nacho <25931366+ignaciosantise@users.noreply.github.com>
Date: Thu, 30 Oct 2025 15:20:53 -0300
Subject: [PATCH 2/3] chore: added nfc permissions to pos app
---
dapps/pos-app/android/app/build.gradle | 2 +-
dapps/pos-app/android/app/src/main/AndroidManifest.xml | 1 +
dapps/pos-app/app.json | 7 +++++++
dapps/pos-app/ios/mobilepos/Info.plist | 2 ++
dapps/pos-app/ios/mobilepos/mobilepos.entitlements | 7 ++++++-
5 files changed, 17 insertions(+), 2 deletions(-)
diff --git a/dapps/pos-app/android/app/build.gradle b/dapps/pos-app/android/app/build.gradle
index 45008d41..c2aeb0bd 100644
--- a/dapps/pos-app/android/app/build.gradle
+++ b/dapps/pos-app/android/app/build.gradle
@@ -94,7 +94,7 @@ android {
applicationId 'com.reown.mobilepos'
minSdkVersion rootProject.ext.minSdkVersion
targetSdkVersion rootProject.ext.targetSdkVersion
- versionCode 1
+ versionCode 2
versionName "1.0.0"
buildConfigField "String", "REACT_NATIVE_RELEASE_LEVEL", "\"${findProperty('reactNativeReleaseLevel') ?: 'stable'}\""
diff --git a/dapps/pos-app/android/app/src/main/AndroidManifest.xml b/dapps/pos-app/android/app/src/main/AndroidManifest.xml
index a4a001bc..9fd8d75f 100644
--- a/dapps/pos-app/android/app/src/main/AndroidManifest.xml
+++ b/dapps/pos-app/android/app/src/main/AndroidManifest.xml
@@ -1,5 +1,6 @@
+
diff --git a/dapps/pos-app/app.json b/dapps/pos-app/app.json
index f5e51705..7ab09da6 100644
--- a/dapps/pos-app/app.json
+++ b/dapps/pos-app/app.json
@@ -14,6 +14,12 @@
"appleTeamId": "W5R8AG9K22",
"config": {
"usesNonExemptEncryption": false
+ },
+ "infoPlist": {
+ "NFCReaderUsageDescription": "This app requires NFC to send messages"
+ },
+ "entitlements": {
+ "com.apple.developer.nfc.readersession.formats": ["TAG"]
}
},
"android": {
@@ -26,6 +32,7 @@
"edgeToEdgeEnabled": true,
"predictiveBackGestureEnabled": false,
"package": "com.reown.mobilepos",
+ "permissions": ["android.permission.NFC"],
"versionCode": 2
},
"web": {
diff --git a/dapps/pos-app/ios/mobilepos/Info.plist b/dapps/pos-app/ios/mobilepos/Info.plist
index 64aa6af2..76c3bfde 100644
--- a/dapps/pos-app/ios/mobilepos/Info.plist
+++ b/dapps/pos-app/ios/mobilepos/Info.plist
@@ -40,6 +40,8 @@
12.0
LSRequiresIPhoneOS
+ NFCReaderUsageDescription
+ This app requires NFC to send messages
NSAppTransportSecurity
NSAllowsArbitraryLoads
diff --git a/dapps/pos-app/ios/mobilepos/mobilepos.entitlements b/dapps/pos-app/ios/mobilepos/mobilepos.entitlements
index f683276c..cd0b6da9 100644
--- a/dapps/pos-app/ios/mobilepos/mobilepos.entitlements
+++ b/dapps/pos-app/ios/mobilepos/mobilepos.entitlements
@@ -1,5 +1,10 @@
-
+
+ com.apple.developer.nfc.readersession.formats
+
+ TAG
+
+
\ No newline at end of file
From d7cedf39ed67b16313abc40a223db2eb316e51cb Mon Sep 17 00:00:00 2001
From: nacho <25931366+ignaciosantise@users.noreply.github.com>
Date: Thu, 30 Oct 2025 15:22:08 -0300
Subject: [PATCH 3/3] chore: ios project changes
---
.../ios/mobilepos.xcodeproj/project.pbxproj | 20 +++++++++----------
1 file changed, 10 insertions(+), 10 deletions(-)
diff --git a/dapps/pos-app/ios/mobilepos.xcodeproj/project.pbxproj b/dapps/pos-app/ios/mobilepos.xcodeproj/project.pbxproj
index 20ea24ae..fc22acb2 100644
--- a/dapps/pos-app/ios/mobilepos.xcodeproj/project.pbxproj
+++ b/dapps/pos-app/ios/mobilepos.xcodeproj/project.pbxproj
@@ -8,34 +8,34 @@
/* Begin PBXBuildFile section */
13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 13B07FB51A68108700A75B9A /* Images.xcassets */; };
+ 144C98A7BBB5414F98C6A185 /* KHTeka-Light.otf in Resources */ = {isa = PBXBuildFile; fileRef = 16CB0849012C4C499C4859C4 /* KHTeka-Light.otf */; };
3A3F8486D042A5317ECD78BF /* libPods-mobilepos.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 64F9C26B8EF3B56879C1087E /* libPods-mobilepos.a */; };
3E461D99554A48A4959DE609 /* SplashScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = AA286B85B6C04FC6940260E9 /* SplashScreen.storyboard */; };
751A2E60847A43B6DA842DCD /* ExpoModulesProvider.swift in Sources */ = {isa = PBXBuildFile; fileRef = 922FF57656C74C7EF846D99F /* ExpoModulesProvider.swift */; };
+ 953CEADADE6F4E799B0F871D /* KHTeka-Medium.otf in Resources */ = {isa = PBXBuildFile; fileRef = CE6DFD3E88E042D6A187A462 /* KHTeka-Medium.otf */; };
+ 9A9EA94CE856487491D0050E /* KHTeka-Regular.otf in Resources */ = {isa = PBXBuildFile; fileRef = 96800C0DD5F242B2A8FD6BAD /* KHTeka-Regular.otf */; };
BB2F792D24A3F905000567C9 /* Expo.plist in Resources */ = {isa = PBXBuildFile; fileRef = BB2F792C24A3F905000567C9 /* Expo.plist */; };
C7DCDA39216BB26DEC9530E4 /* PrivacyInfo.xcprivacy in Resources */ = {isa = PBXBuildFile; fileRef = E8B1347B2DAD18500EC8D4CE /* PrivacyInfo.xcprivacy */; };
F11748422D0307B40044C1D9 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = F11748412D0307B40044C1D9 /* AppDelegate.swift */; };
- 144C98A7BBB5414F98C6A185 /* KHTeka-Light.otf in Resources */ = {isa = PBXBuildFile; fileRef = 16CB0849012C4C499C4859C4 /* KHTeka-Light.otf */; };
- 9A9EA94CE856487491D0050E /* KHTeka-Regular.otf in Resources */ = {isa = PBXBuildFile; fileRef = 96800C0DD5F242B2A8FD6BAD /* KHTeka-Regular.otf */; };
- 953CEADADE6F4E799B0F871D /* KHTeka-Medium.otf in Resources */ = {isa = PBXBuildFile; fileRef = CE6DFD3E88E042D6A187A462 /* KHTeka-Medium.otf */; };
/* End PBXBuildFile section */
/* Begin PBXFileReference section */
13B07F961A680F5B00A75B9A /* mobilepos.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = mobilepos.app; sourceTree = BUILT_PRODUCTS_DIR; };
13B07FB51A68108700A75B9A /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Images.xcassets; path = mobilepos/Images.xcassets; sourceTree = ""; };
13B07FB61A68108700A75B9A /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = mobilepos/Info.plist; sourceTree = ""; };
+ 16CB0849012C4C499C4859C4 /* KHTeka-Light.otf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = undefined; includeInIndex = 0; lastKnownFileType = unknown; name = "KHTeka-Light.otf"; path = "../assets/fonts/KHTeka-Light.otf"; sourceTree = ""; };
24CBE55C0F94CBE555C73920 /* Pods-mobilepos.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-mobilepos.debug.xcconfig"; path = "Target Support Files/Pods-mobilepos/Pods-mobilepos.debug.xcconfig"; sourceTree = ""; };
64F9C26B8EF3B56879C1087E /* libPods-mobilepos.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-mobilepos.a"; sourceTree = BUILT_PRODUCTS_DIR; };
922FF57656C74C7EF846D99F /* ExpoModulesProvider.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ExpoModulesProvider.swift; path = "Pods/Target Support Files/Pods-mobilepos/ExpoModulesProvider.swift"; sourceTree = ""; };
+ 96800C0DD5F242B2A8FD6BAD /* KHTeka-Regular.otf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = undefined; includeInIndex = 0; lastKnownFileType = unknown; name = "KHTeka-Regular.otf"; path = "../assets/fonts/KHTeka-Regular.otf"; sourceTree = ""; };
AA286B85B6C04FC6940260E9 /* SplashScreen.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; name = SplashScreen.storyboard; path = mobilepos/SplashScreen.storyboard; sourceTree = ""; };
B72486B4B4F086BB6495C5F4 /* Pods-mobilepos.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-mobilepos.release.xcconfig"; path = "Target Support Files/Pods-mobilepos/Pods-mobilepos.release.xcconfig"; sourceTree = ""; };
BB2F792C24A3F905000567C9 /* Expo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Expo.plist; sourceTree = ""; };
+ CE6DFD3E88E042D6A187A462 /* KHTeka-Medium.otf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = undefined; includeInIndex = 0; lastKnownFileType = unknown; name = "KHTeka-Medium.otf"; path = "../assets/fonts/KHTeka-Medium.otf"; sourceTree = ""; };
E8B1347B2DAD18500EC8D4CE /* PrivacyInfo.xcprivacy */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xml; name = PrivacyInfo.xcprivacy; path = mobilepos/PrivacyInfo.xcprivacy; sourceTree = ""; };
ED297162215061F000B7C4FE /* JavaScriptCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = JavaScriptCore.framework; path = System/Library/Frameworks/JavaScriptCore.framework; sourceTree = SDKROOT; };
F11748412D0307B40044C1D9 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = AppDelegate.swift; path = mobilepos/AppDelegate.swift; sourceTree = ""; };
F11748442D0722820044C1D9 /* mobilepos-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "mobilepos-Bridging-Header.h"; path = "mobilepos/mobilepos-Bridging-Header.h"; sourceTree = ""; };
- 16CB0849012C4C499C4859C4 /* KHTeka-Light.otf */ = {isa = PBXFileReference; name = "KHTeka-Light.otf"; path = "../assets/fonts/KHTeka-Light.otf"; sourceTree = ""; fileEncoding = undefined; lastKnownFileType = unknown; explicitFileType = undefined; includeInIndex = 0; };
- 96800C0DD5F242B2A8FD6BAD /* KHTeka-Regular.otf */ = {isa = PBXFileReference; name = "KHTeka-Regular.otf"; path = "../assets/fonts/KHTeka-Regular.otf"; sourceTree = ""; fileEncoding = undefined; lastKnownFileType = unknown; explicitFileType = undefined; includeInIndex = 0; };
- CE6DFD3E88E042D6A187A462 /* KHTeka-Medium.otf */ = {isa = PBXFileReference; name = "KHTeka-Medium.otf"; path = "../assets/fonts/KHTeka-Medium.otf"; sourceTree = ""; fileEncoding = undefined; lastKnownFileType = unknown; explicitFileType = undefined; includeInIndex = 0; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
@@ -139,15 +139,15 @@
sourceTree = "";
};
CEC0D1A03F8A4221B100BB39 /* Resources */ = {
- isa = "PBXGroup";
+ isa = PBXGroup;
children = (
16CB0849012C4C499C4859C4 /* KHTeka-Light.otf */,
96800C0DD5F242B2A8FD6BAD /* KHTeka-Regular.otf */,
CE6DFD3E88E042D6A187A462 /* KHTeka-Medium.otf */,
);
name = Resources;
- sourceTree = "";
path = "";
+ sourceTree = "";
};
/* End PBXGroup section */
@@ -407,7 +407,7 @@
);
OTHER_SWIFT_FLAGS = "$(inherited) -D EXPO_CONFIGURATION_DEBUG";
PRODUCT_BUNDLE_IDENTIFIER = com.reown.mobilepos;
- PRODUCT_NAME = "mobilepos";
+ PRODUCT_NAME = mobilepos;
PROVISIONING_PROFILE_SPECIFIER = "";
"PROVISIONING_PROFILE_SPECIFIER[sdk=iphoneos*]" = "match AppStore com.reown.mobilepos";
SWIFT_OBJC_BRIDGING_HEADER = "mobilepos/mobilepos-Bridging-Header.h";
@@ -444,7 +444,7 @@
);
OTHER_SWIFT_FLAGS = "$(inherited) -D EXPO_CONFIGURATION_RELEASE";
PRODUCT_BUNDLE_IDENTIFIER = com.reown.mobilepos;
- PRODUCT_NAME = "mobilepos";
+ PRODUCT_NAME = mobilepos;
PROVISIONING_PROFILE_SPECIFIER = "";
"PROVISIONING_PROFILE_SPECIFIER[sdk=iphoneos*]" = "match AppStore com.reown.mobilepos";
SWIFT_OBJC_BRIDGING_HEADER = "mobilepos/mobilepos-Bridging-Header.h";