Commit 885ee38a authored by Wei Han's avatar Wei Han

code update

parent 0028a424
<?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>AvailableLibraries</key>
<array>
<dict>
<key>BinaryPath</key>
<string>QmsPluginFramework.framework/QmsPluginFramework</string>
<key>LibraryIdentifier</key>
<string>ios-arm64</string>
<key>LibraryPath</key>
<string>QmsPluginFramework.framework</string>
<key>SupportedArchitectures</key>
<array>
<string>arm64</string>
</array>
<key>SupportedPlatform</key>
<string>ios</string>
</dict>
<dict>
<key>BinaryPath</key>
<string>QmsPluginFramework.framework/QmsPluginFramework</string>
<key>LibraryIdentifier</key>
<string>ios-arm64_x86_64-simulator</string>
<key>LibraryPath</key>
<string>QmsPluginFramework.framework</string>
<key>SupportedArchitectures</key>
<array>
<string>arm64</string>
<string>x86_64</string>
</array>
<key>SupportedPlatform</key>
<string>ios</string>
<key>SupportedPlatformVariant</key>
<string>simulator</string>
</dict>
</array>
<key>CFBundlePackageType</key>
<string>XFWK</string>
<key>XCFrameworkFormatVersion</key>
<string>1.0</string>
</dict>
</plist>
//QmsPlugin.h
#import <Foundation/Foundation.h>
FOUNDATION_EXPORT NSNumber* QmsPluginMultiply(double a, double b);
<?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>files</key>
<dict>
<key>Headers/QmsPlugin.h</key>
<data>
T0w73SfaKmay5cfzE/KHplzhWis=
</data>
<key>Info.plist</key>
<data>
QvWHhX2X4hW9mXAFtK1rMMulanM=
</data>
</dict>
<key>files2</key>
<dict>
<key>Headers/QmsPlugin.h</key>
<dict>
<key>hash2</key>
<data>
U05V7l0WqfmXhNjNLDaPBAUgwRfBgPpUE5n7pvQshgg=
</data>
</dict>
</dict>
<key>rules</key>
<dict>
<key>^.*</key>
<true/>
<key>^.*\.lproj/</key>
<dict>
<key>optional</key>
<true/>
<key>weight</key>
<real>1000</real>
</dict>
<key>^.*\.lproj/locversion.plist$</key>
<dict>
<key>omit</key>
<true/>
<key>weight</key>
<real>1100</real>
</dict>
<key>^Base\.lproj/</key>
<dict>
<key>weight</key>
<real>1010</real>
</dict>
<key>^version.plist$</key>
<true/>
</dict>
<key>rules2</key>
<dict>
<key>.*\.dSYM($|/)</key>
<dict>
<key>weight</key>
<real>11</real>
</dict>
<key>^(.*/)?\.DS_Store$</key>
<dict>
<key>omit</key>
<true/>
<key>weight</key>
<real>2000</real>
</dict>
<key>^.*</key>
<true/>
<key>^.*\.lproj/</key>
<dict>
<key>optional</key>
<true/>
<key>weight</key>
<real>1000</real>
</dict>
<key>^.*\.lproj/locversion.plist$</key>
<dict>
<key>omit</key>
<true/>
<key>weight</key>
<real>1100</real>
</dict>
<key>^Base\.lproj/</key>
<dict>
<key>weight</key>
<real>1010</real>
</dict>
<key>^Info\.plist$</key>
<dict>
<key>omit</key>
<true/>
<key>weight</key>
<real>20</real>
</dict>
<key>^PkgInfo$</key>
<dict>
<key>omit</key>
<true/>
<key>weight</key>
<real>20</real>
</dict>
<key>^embedded\.provisionprofile$</key>
<dict>
<key>weight</key>
<real>20</real>
</dict>
<key>^version\.plist$</key>
<dict>
<key>weight</key>
<real>20</real>
</dict>
</dict>
</dict>
</plist>
//QmsPlugin.h
#import <Foundation/Foundation.h>
FOUNDATION_EXPORT NSNumber* QmsPluginMultiply(double a, double b);
<?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>files</key>
<dict>
<key>Headers/QmsPlugin.h</key>
<data>
T0w73SfaKmay5cfzE/KHplzhWis=
</data>
<key>Info.plist</key>
<data>
mHHohDKLbelgffJEne6sKFR+cnQ=
</data>
</dict>
<key>files2</key>
<dict>
<key>Headers/QmsPlugin.h</key>
<dict>
<key>hash2</key>
<data>
U05V7l0WqfmXhNjNLDaPBAUgwRfBgPpUE5n7pvQshgg=
</data>
</dict>
</dict>
<key>rules</key>
<dict>
<key>^.*</key>
<true/>
<key>^.*\.lproj/</key>
<dict>
<key>optional</key>
<true/>
<key>weight</key>
<real>1000</real>
</dict>
<key>^.*\.lproj/locversion.plist$</key>
<dict>
<key>omit</key>
<true/>
<key>weight</key>
<real>1100</real>
</dict>
<key>^Base\.lproj/</key>
<dict>
<key>weight</key>
<real>1010</real>
</dict>
<key>^version.plist$</key>
<true/>
</dict>
<key>rules2</key>
<dict>
<key>.*\.dSYM($|/)</key>
<dict>
<key>weight</key>
<real>11</real>
</dict>
<key>^(.*/)?\.DS_Store$</key>
<dict>
<key>omit</key>
<true/>
<key>weight</key>
<real>2000</real>
</dict>
<key>^.*</key>
<true/>
<key>^.*\.lproj/</key>
<dict>
<key>optional</key>
<true/>
<key>weight</key>
<real>1000</real>
</dict>
<key>^.*\.lproj/locversion.plist$</key>
<dict>
<key>omit</key>
<true/>
<key>weight</key>
<real>1100</real>
</dict>
<key>^Base\.lproj/</key>
<dict>
<key>weight</key>
<real>1010</real>
</dict>
<key>^Info\.plist$</key>
<dict>
<key>omit</key>
<true/>
<key>weight</key>
<real>20</real>
</dict>
<key>^PkgInfo$</key>
<dict>
<key>omit</key>
<true/>
<key>weight</key>
<real>20</real>
</dict>
<key>^embedded\.provisionprofile$</key>
<dict>
<key>weight</key>
<real>20</real>
</dict>
<key>^version\.plist$</key>
<dict>
<key>weight</key>
<real>20</real>
</dict>
</dict>
</dict>
</plist>
...@@ -15,7 +15,6 @@ ...@@ -15,7 +15,6 @@
isa = PBXFileSystemSynchronizedBuildFileExceptionSet; isa = PBXFileSystemSynchronizedBuildFileExceptionSet;
publicHeaders = ( publicHeaders = (
QmsPlugin.h, QmsPlugin.h,
QmsPluginFramework.h,
); );
target = 2F9647642E86307D002CC7CB /* QmsPluginFramework */; target = 2F9647642E86307D002CC7CB /* QmsPluginFramework */;
}; };
......
//QmsPlugin.h //QmsPlugin.h
#import <Foundation/Foundation.h> #import <Foundation/Foundation.h>
@interface QmsPlugin : NSObject
@end
FOUNDATION_EXPORT NSNumber* QmsPluginMultiply(double a, double b); FOUNDATION_EXPORT NSNumber* QmsPluginMultiply(double a, double b);
//QmsPlugin.mm //QmsPlugin.mm
#import "QmsPlugin.h" #import "QmsPlugin.h"
@implementation QmsPlugin
@end
NSNumber* QmsPluginMultiply(double a, double b) { NSNumber* QmsPluginMultiply(double a, double b) {
return @(a * b); return @(a * b);
} }
//
// QmsPluginFramework.h
// QmsPluginFramework
//
// Created by Wei Han Ng on 26/09/2025.
//
#import <Foundation/Foundation.h>
//! Project version number for QmsPluginFramework.
FOUNDATION_EXPORT double QmsPluginFrameworkVersionNumber;
//! Project version string for QmsPluginFramework.
FOUNDATION_EXPORT const unsigned char QmsPluginFrameworkVersionString[];
// In this header, you should import all the public headers of your framework using statements like #import <QmsPluginFramework/PublicHeader.h>
#import<QmsPluginFramework/QmsPlugin.h>
#import <React/RCTBridgeModule.h> #import <React/RCTBridgeModule.h>
#import <React/RCTBridge+Private.h>
#import <ReactCommon/RCTTurboModule.h> #import <ReactCommon/RCTTurboModule.h>
#import <QmsPluginFramework/QmsPlugin.h> #import <QmsPluginFramework/QmsPlugin.h>
#import "QmsPluginSpec.h" #import "QmsPluginSpec.h"
@interface QmsPluginReact : NSObject <RCTBridgeModule> @interface QmsPluginReact : NSObject <NativeQmsPluginSpec>
@end @end
@implementation QmsPluginReact @implementation QmsPluginReact
RCT_EXPORT_MODULE(QmsPlugin); RCT_EXPORT_MODULE(QmsPlugin);
RCT_EXPORT_METHOD(multiplyAsync:(double)a b:(double)b resolver:(RCTPromiseResolveBlock)resolve rejecter:(RCTPromiseRejectBlock)reject) + (BOOL)requiresMainQueueSetup {
{ NSLog(@"[QmsPlugin] QmsPluginReact loaded ✅");
NSNumber *r = QmsPluginMultiply(a, b); // ✅ function call, no super return YES;
resolve(r);
} }
// RCT_EXPORT_METHOD(multiplyAsync:(double)a b:(double)b resolver:(RCTPromiseResolveBlock)resolve rejecter:(RCTPromiseRejectBlock)reject)
// {
// NSNumber *r = QmsPluginMultiply(a, b);
// resolve(r);
// }
- (NSNumber *)multiply:(double)a b:(double)b { - (NSNumber *)multiply:(double)a b:(double)b {
NSLog(@"[QmsPlugin] multiply called with a=%f b=%f", a, b); NSLog(@"[QmsPlugin] multiply called with a=%f b=%f", a, b);
return QmsPluginMultiply(a, b); // ✅ function call, no super return QmsPluginMultiply(a, b);
} }
- (std::shared_ptr<facebook::react::TurboModule>)getTurboModule: - (std::shared_ptr<facebook::react::TurboModule>)getTurboModule:
......
...@@ -8,32 +8,32 @@ ...@@ -8,32 +8,32 @@
<key>BinaryPath</key> <key>BinaryPath</key>
<string>QmsPluginFramework.framework/QmsPluginFramework</string> <string>QmsPluginFramework.framework/QmsPluginFramework</string>
<key>LibraryIdentifier</key> <key>LibraryIdentifier</key>
<string>ios-arm64_x86_64-simulator</string> <string>ios-arm64</string>
<key>LibraryPath</key> <key>LibraryPath</key>
<string>QmsPluginFramework.framework</string> <string>QmsPluginFramework.framework</string>
<key>SupportedArchitectures</key> <key>SupportedArchitectures</key>
<array> <array>
<string>arm64</string> <string>arm64</string>
<string>x86_64</string>
</array> </array>
<key>SupportedPlatform</key> <key>SupportedPlatform</key>
<string>ios</string> <string>ios</string>
<key>SupportedPlatformVariant</key>
<string>simulator</string>
</dict> </dict>
<dict> <dict>
<key>BinaryPath</key> <key>BinaryPath</key>
<string>QmsPluginFramework.framework/QmsPluginFramework</string> <string>QmsPluginFramework.framework/QmsPluginFramework</string>
<key>LibraryIdentifier</key> <key>LibraryIdentifier</key>
<string>ios-arm64</string> <string>ios-arm64_x86_64-simulator</string>
<key>LibraryPath</key> <key>LibraryPath</key>
<string>QmsPluginFramework.framework</string> <string>QmsPluginFramework.framework</string>
<key>SupportedArchitectures</key> <key>SupportedArchitectures</key>
<array> <array>
<string>arm64</string> <string>arm64</string>
<string>x86_64</string>
</array> </array>
<key>SupportedPlatform</key> <key>SupportedPlatform</key>
<string>ios</string> <string>ios</string>
<key>SupportedPlatformVariant</key>
<string>simulator</string>
</dict> </dict>
</array> </array>
<key>CFBundlePackageType</key> <key>CFBundlePackageType</key>
......
//QmsPlugin.h //QmsPlugin.h
#import <Foundation/Foundation.h> #import <Foundation/Foundation.h>
@interface QmsPlugin : NSObject
@end
FOUNDATION_EXPORT NSNumber* QmsPluginMultiply(double a, double b); FOUNDATION_EXPORT NSNumber* QmsPluginMultiply(double a, double b);
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
<dict> <dict>
<key>Headers/QmsPlugin.h</key> <key>Headers/QmsPlugin.h</key>
<data> <data>
aCL6rb2Q7Ad9zhx8vpvTOuIXPds= T0w73SfaKmay5cfzE/KHplzhWis=
</data> </data>
<key>Headers/QmsPluginFramework.h</key> <key>Headers/QmsPluginFramework.h</key>
<data> <data>
...@@ -27,7 +27,7 @@ ...@@ -27,7 +27,7 @@
<dict> <dict>
<key>hash2</key> <key>hash2</key>
<data> <data>
AKU6AKMhupZrsnTsWjRDR3IKFU0gGhL1f6WkNrfkdrw= U05V7l0WqfmXhNjNLDaPBAUgwRfBgPpUE5n7pvQshgg=
</data> </data>
</dict> </dict>
<key>Headers/QmsPluginFramework.h</key> <key>Headers/QmsPluginFramework.h</key>
......
//QmsPlugin.h //QmsPlugin.h
#import <Foundation/Foundation.h> #import <Foundation/Foundation.h>
@interface QmsPlugin : NSObject
@end
FOUNDATION_EXPORT NSNumber* QmsPluginMultiply(double a, double b); FOUNDATION_EXPORT NSNumber* QmsPluginMultiply(double a, double b);
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
<dict> <dict>
<key>Headers/QmsPlugin.h</key> <key>Headers/QmsPlugin.h</key>
<data> <data>
aCL6rb2Q7Ad9zhx8vpvTOuIXPds= T0w73SfaKmay5cfzE/KHplzhWis=
</data> </data>
<key>Headers/QmsPluginFramework.h</key> <key>Headers/QmsPluginFramework.h</key>
<data> <data>
...@@ -27,7 +27,7 @@ ...@@ -27,7 +27,7 @@
<dict> <dict>
<key>hash2</key> <key>hash2</key>
<data> <data>
AKU6AKMhupZrsnTsWjRDR3IKFU0gGhL1f6WkNrfkdrw= U05V7l0WqfmXhNjNLDaPBAUgwRfBgPpUE5n7pvQshgg=
</data> </data>
</dict> </dict>
<key>Headers/QmsPluginFramework.h</key> <key>Headers/QmsPluginFramework.h</key>
......
import QmsPlugin from './NativeQmsPlugin'; import QmsPlugin from './NativeQmsPlugin';
export async function multiply(a: number, b: number): Promise<number> { export function multiply(a: number, b: number): number {
return await QmsPlugin.multiply(a, b); return QmsPlugin.multiply(a, b);
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment