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 @@
isa = PBXFileSystemSynchronizedBuildFileExceptionSet;
publicHeaders = (
QmsPlugin.h,
QmsPluginFramework.h,
);
target = 2F9647642E86307D002CC7CB /* QmsPluginFramework */;
};
......
//QmsPlugin.h
#import <Foundation/Foundation.h>
@interface QmsPlugin : NSObject
@end
FOUNDATION_EXPORT NSNumber* QmsPluginMultiply(double a, double b);
//QmsPlugin.mm
#import "QmsPlugin.h"
@implementation QmsPlugin
@end
NSNumber* QmsPluginMultiply(double a, double 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/RCTBridge+Private.h>
#import <ReactCommon/RCTTurboModule.h>
#import <QmsPluginFramework/QmsPlugin.h>
#import "QmsPluginSpec.h"
@interface QmsPluginReact : NSObject <RCTBridgeModule>
@interface QmsPluginReact : NSObject <NativeQmsPluginSpec>
@end
@implementation QmsPluginReact
RCT_EXPORT_MODULE(QmsPlugin);
RCT_EXPORT_METHOD(multiplyAsync:(double)a b:(double)b resolver:(RCTPromiseResolveBlock)resolve rejecter:(RCTPromiseRejectBlock)reject)
{
NSNumber *r = QmsPluginMultiply(a, b); // ✅ function call, no super
resolve(r);
+ (BOOL)requiresMainQueueSetup {
NSLog(@"[QmsPlugin] QmsPluginReact loaded ✅");
return YES;
}
// 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 {
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:
......
......@@ -8,32 +8,32 @@
<key>BinaryPath</key>
<string>QmsPluginFramework.framework/QmsPluginFramework</string>
<key>LibraryIdentifier</key>
<string>ios-arm64_x86_64-simulator</string>
<string>ios-arm64</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>
<dict>
<key>BinaryPath</key>
<string>QmsPluginFramework.framework/QmsPluginFramework</string>
<key>LibraryIdentifier</key>
<string>ios-arm64</string>
<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>
......
//QmsPlugin.h
#import <Foundation/Foundation.h>
@interface QmsPlugin : NSObject
@end
FOUNDATION_EXPORT NSNumber* QmsPluginMultiply(double a, double b);
......@@ -6,7 +6,7 @@
<dict>
<key>Headers/QmsPlugin.h</key>
<data>
aCL6rb2Q7Ad9zhx8vpvTOuIXPds=
T0w73SfaKmay5cfzE/KHplzhWis=
</data>
<key>Headers/QmsPluginFramework.h</key>
<data>
......@@ -27,7 +27,7 @@
<dict>
<key>hash2</key>
<data>
AKU6AKMhupZrsnTsWjRDR3IKFU0gGhL1f6WkNrfkdrw=
U05V7l0WqfmXhNjNLDaPBAUgwRfBgPpUE5n7pvQshgg=
</data>
</dict>
<key>Headers/QmsPluginFramework.h</key>
......
//QmsPlugin.h
#import <Foundation/Foundation.h>
@interface QmsPlugin : NSObject
@end
FOUNDATION_EXPORT NSNumber* QmsPluginMultiply(double a, double b);
......@@ -6,7 +6,7 @@
<dict>
<key>Headers/QmsPlugin.h</key>
<data>
aCL6rb2Q7Ad9zhx8vpvTOuIXPds=
T0w73SfaKmay5cfzE/KHplzhWis=
</data>
<key>Headers/QmsPluginFramework.h</key>
<data>
......@@ -27,7 +27,7 @@
<dict>
<key>hash2</key>
<data>
AKU6AKMhupZrsnTsWjRDR3IKFU0gGhL1f6WkNrfkdrw=
U05V7l0WqfmXhNjNLDaPBAUgwRfBgPpUE5n7pvQshgg=
</data>
</dict>
<key>Headers/QmsPluginFramework.h</key>
......
import QmsPlugin from './NativeQmsPlugin';
export async function multiply(a: number, b: number): Promise<number> {
return await QmsPlugin.multiply(a, b);
export function multiply(a: number, b: number): number {
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