Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
weihan-plugin
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Wei Han
weihan-plugin
Commits
885ee38a
Commit
885ee38a
authored
Sep 30, 2025
by
Wei Han
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
code update
parent
0028a424
Hide whitespace changes
Inline
Side-by-side
Showing
22 changed files
with
301 additions
and
52 deletions
+301
-52
Info.plist
...PluginFramework/QmsPluginFramework.xcframework/Info.plist
+44
-0
QmsPlugin.h
...os-arm64/QmsPluginFramework.framework/Headers/QmsPlugin.h
+4
-0
Info.plist
...amework/ios-arm64/QmsPluginFramework.framework/Info.plist
+0
-0
QmsPluginFramework
...ios-arm64/QmsPluginFramework.framework/QmsPluginFramework
+0
-0
CodeResources
...QmsPluginFramework.framework/_CodeSignature/CodeResources
+113
-0
QmsPlugin.h
...imulator/QmsPluginFramework.framework/Headers/QmsPlugin.h
+4
-0
Info.plist
..._x86_64-simulator/QmsPluginFramework.framework/Info.plist
+0
-0
QmsPluginFramework
...simulator/QmsPluginFramework.framework/QmsPluginFramework
+0
-0
CodeResources
...QmsPluginFramework.framework/_CodeSignature/CodeResources
+113
-0
project.pbxproj
...ginFramework/QmsPluginFramework.xcodeproj/project.pbxproj
+0
-1
QmsPlugin.h
framework/QmsPluginFramework/QmsPluginFramework/QmsPlugin.h
+0
-4
QmsPlugin.mm
framework/QmsPluginFramework/QmsPluginFramework/QmsPlugin.mm
+0
-4
QmsPluginFramework.h
...msPluginFramework/QmsPluginFramework/QmsPluginFramework.h
+0
-18
QmsPluginReact.mm
ios/QmsPlugin/QmsPluginReact.mm
+12
-6
Info.plist
ios/QmsPluginFramework.xcframework/Info.plist
+5
-5
QmsPlugin.h
...os-arm64/QmsPluginFramework.framework/Headers/QmsPlugin.h
+0
-4
QmsPluginFramework
...ios-arm64/QmsPluginFramework.framework/QmsPluginFramework
+0
-0
CodeResources
...QmsPluginFramework.framework/_CodeSignature/CodeResources
+2
-2
QmsPlugin.h
...imulator/QmsPluginFramework.framework/Headers/QmsPlugin.h
+0
-4
QmsPluginFramework
...simulator/QmsPluginFramework.framework/QmsPluginFramework
+0
-0
CodeResources
...QmsPluginFramework.framework/_CodeSignature/CodeResources
+2
-2
index.tsx
src/index.tsx
+2
-2
No files found.
framework/QmsPluginFramework/QmsPluginFramework.xcframework/Info.plist
0 → 100644
View file @
885ee38a
<
?xml
v
e
rsion="
1
.
0
"
e
n
c
o
d
ing="UT
F
-
8
"?
>
<
!
D
O
C
TYP
E
plist
PU
B
LI
C
"-//
A
ppl
e
//
D
T
D
PLIST
1
.
0
//
E
N"
"http://www.
a
ppl
e
.
c
om/
D
T
D
s/Prop
e
rtyList-
1
.
0
.
d
t
d
"
>
<
plist
v
e
rsion="
1
.
0
"
>
<
d
i
c
t
>
<
k
e
y
>
AvailableLibraries
<
/k
e
y
>
<
a
rr
a
y
>
<
d
i
c
t
>
<
k
e
y
>
BinaryPath
<
/k
e
y
>
<
string
>
QmsPluginFramework.framework/QmsPluginFramework
<
/string
>
<
k
e
y
>
LibraryIdentifier
<
/k
e
y
>
<
string
>
ios-arm64
<
/string
>
<
k
e
y
>
LibraryPath
<
/k
e
y
>
<
string
>
QmsPluginFramework.framework
<
/string
>
<
k
e
y
>
SupportedArchitectures
<
/k
e
y
>
<
a
rr
a
y
>
<
string
>
arm64
<
/string
>
<
/
a
rr
a
y
>
<
k
e
y
>
SupportedPlatform
<
/k
e
y
>
<
string
>
ios
<
/string
>
<
/
d
i
c
t
>
<
d
i
c
t
>
<
k
e
y
>
BinaryPath
<
/k
e
y
>
<
string
>
QmsPluginFramework.framework/QmsPluginFramework
<
/string
>
<
k
e
y
>
LibraryIdentifier
<
/k
e
y
>
<
string
>
ios-arm64_x86_64-simulator
<
/string
>
<
k
e
y
>
LibraryPath
<
/k
e
y
>
<
string
>
QmsPluginFramework.framework
<
/string
>
<
k
e
y
>
SupportedArchitectures
<
/k
e
y
>
<
a
rr
a
y
>
<
string
>
arm64
<
/string
>
<
string
>
x86_64
<
/string
>
<
/
a
rr
a
y
>
<
k
e
y
>
SupportedPlatform
<
/k
e
y
>
<
string
>
ios
<
/string
>
<
k
e
y
>
SupportedPlatformVariant
<
/k
e
y
>
<
string
>
simulator
<
/string
>
<
/
d
i
c
t
>
<
/
a
rr
a
y
>
<
k
e
y
>
CFBundlePackageType
<
/k
e
y
>
<
string
>
XFWK
<
/string
>
<
k
e
y
>
XCFrameworkFormatVersion
<
/k
e
y
>
<
string
>
1.0
<
/string
>
<
/
d
i
c
t
>
<
/plist
>
framework/QmsPluginFramework/QmsPluginFramework.xcframework/ios-arm64/QmsPluginFramework.framework/Headers/QmsPlugin.h
0 → 100644
View file @
885ee38a
//QmsPlugin.h
#import <Foundation/Foundation.h>
FOUNDATION_EXPORT
NSNumber
*
QmsPluginMultiply
(
double
a
,
double
b
);
framework/QmsPluginFramework/QmsPluginFramework.xcframework/ios-arm64/QmsPluginFramework.framework/Info.plist
0 → 100644
View file @
885ee38a
File added
framework/QmsPluginFramework/QmsPluginFramework.xcframework/ios-arm64/QmsPluginFramework.framework/QmsPluginFramework
0 → 100755
View file @
885ee38a
File added
framework/QmsPluginFramework/QmsPluginFramework.xcframework/ios-arm64/QmsPluginFramework.framework/_CodeSignature/CodeResources
0 → 100644
View file @
885ee38a
<?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>
framework/QmsPluginFramework/QmsPluginFramework.xcframework/ios-arm64_x86_64-simulator/QmsPluginFramework.framework/Headers/QmsPlugin.h
0 → 100644
View file @
885ee38a
//QmsPlugin.h
#import <Foundation/Foundation.h>
FOUNDATION_EXPORT
NSNumber
*
QmsPluginMultiply
(
double
a
,
double
b
);
framework/QmsPluginFramework/QmsPluginFramework.xcframework/ios-arm64_x86_64-simulator/QmsPluginFramework.framework/Info.plist
0 → 100644
View file @
885ee38a
File added
framework/QmsPluginFramework/QmsPluginFramework.xcframework/ios-arm64_x86_64-simulator/QmsPluginFramework.framework/QmsPluginFramework
0 → 100755
View file @
885ee38a
File added
framework/QmsPluginFramework/QmsPluginFramework.xcframework/ios-arm64_x86_64-simulator/QmsPluginFramework.framework/_CodeSignature/CodeResources
0 → 100644
View file @
885ee38a
<?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>
framework/QmsPluginFramework/QmsPluginFramework.xcodeproj/project.pbxproj
View file @
885ee38a
...
...
@@ -15,7 +15,6 @@
isa
=
PBXFileSystemSynchronizedBuildFileExceptionSet
;
publicHeaders
=
(
QmsPlugin.h
,
QmsPluginFramework.h
,
);
target
=
2F9647642E86307D002CC7CB
/* QmsPluginFramework */
;
};
...
...
framework/QmsPluginFramework/QmsPluginFramework/QmsPlugin.h
View file @
885ee38a
//QmsPlugin.h
#import <Foundation/Foundation.h>
@interface
QmsPlugin
:
NSObject
@end
FOUNDATION_EXPORT
NSNumber
*
QmsPluginMultiply
(
double
a
,
double
b
);
framework/QmsPluginFramework/QmsPluginFramework/QmsPlugin.mm
View file @
885ee38a
//QmsPlugin.mm
#import "QmsPlugin.h"
@implementation QmsPlugin
@end
NSNumber* QmsPluginMultiply(double a, double b) {
return @(a * b);
}
framework/QmsPluginFramework/QmsPluginFramework/QmsPluginFramework.h
deleted
100644 → 0
View file @
0028a424
//
// 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>
ios/QmsPlugin/QmsPlugin.mm
→
ios/QmsPlugin/QmsPlugin
React
.mm
View file @
885ee38a
#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:
...
...
ios/QmsPluginFramework.xcframework/Info.plist
View file @
885ee38a
...
...
@@ -8,32 +8,32 @@
<
k
e
y
>
BinaryPath
<
/k
e
y
>
<
string
>
QmsPluginFramework.framework/QmsPluginFramework
<
/string
>
<
k
e
y
>
LibraryIdentifier
<
/k
e
y
>
<
string
>
ios-arm64
_x86_64-simulator
<
/string
>
<
string
>
ios-arm64
<
/string
>
<
k
e
y
>
LibraryPath
<
/k
e
y
>
<
string
>
QmsPluginFramework.framework
<
/string
>
<
k
e
y
>
SupportedArchitectures
<
/k
e
y
>
<
a
rr
a
y
>
<
string
>
arm64
<
/string
>
<
string
>
x86_64
<
/string
>
<
/
a
rr
a
y
>
<
k
e
y
>
SupportedPlatform
<
/k
e
y
>
<
string
>
ios
<
/string
>
<
k
e
y
>
SupportedPlatformVariant
<
/k
e
y
>
<
string
>
simulator
<
/string
>
<
/
d
i
c
t
>
<
d
i
c
t
>
<
k
e
y
>
BinaryPath
<
/k
e
y
>
<
string
>
QmsPluginFramework.framework/QmsPluginFramework
<
/string
>
<
k
e
y
>
LibraryIdentifier
<
/k
e
y
>
<
string
>
ios-arm64
<
/string
>
<
string
>
ios-arm64
_x86_64-simulator
<
/string
>
<
k
e
y
>
LibraryPath
<
/k
e
y
>
<
string
>
QmsPluginFramework.framework
<
/string
>
<
k
e
y
>
SupportedArchitectures
<
/k
e
y
>
<
a
rr
a
y
>
<
string
>
arm64
<
/string
>
<
string
>
x86_64
<
/string
>
<
/
a
rr
a
y
>
<
k
e
y
>
SupportedPlatform
<
/k
e
y
>
<
string
>
ios
<
/string
>
<
k
e
y
>
SupportedPlatformVariant
<
/k
e
y
>
<
string
>
simulator
<
/string
>
<
/
d
i
c
t
>
<
/
a
rr
a
y
>
<
k
e
y
>
CFBundlePackageType
<
/k
e
y
>
...
...
ios/QmsPluginFramework.xcframework/ios-arm64/QmsPluginFramework.framework/Headers/QmsPlugin.h
View file @
885ee38a
//QmsPlugin.h
#import <Foundation/Foundation.h>
@interface
QmsPlugin
:
NSObject
@end
FOUNDATION_EXPORT
NSNumber
*
QmsPluginMultiply
(
double
a
,
double
b
);
ios/QmsPluginFramework.xcframework/ios-arm64/QmsPluginFramework.framework/QmsPluginFramework
View file @
885ee38a
No preview for this file type
ios/QmsPluginFramework.xcframework/ios-arm64/QmsPluginFramework.framework/_CodeSignature/CodeResources
View file @
885ee38a
...
...
@@ -6,7 +6,7 @@
<dict>
<key>
Headers/QmsPlugin.h
</key>
<data>
aCL6rb2Q7Ad9zhx8vpvTOuIXPd
s=
T0w73SfaKmay5cfzE/KHplzhWi
s=
</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>
...
...
ios/QmsPluginFramework.xcframework/ios-arm64_x86_64-simulator/QmsPluginFramework.framework/Headers/QmsPlugin.h
View file @
885ee38a
//QmsPlugin.h
#import <Foundation/Foundation.h>
@interface
QmsPlugin
:
NSObject
@end
FOUNDATION_EXPORT
NSNumber
*
QmsPluginMultiply
(
double
a
,
double
b
);
ios/QmsPluginFramework.xcframework/ios-arm64_x86_64-simulator/QmsPluginFramework.framework/QmsPluginFramework
View file @
885ee38a
No preview for this file type
ios/QmsPluginFramework.xcframework/ios-arm64_x86_64-simulator/QmsPluginFramework.framework/_CodeSignature/CodeResources
View file @
885ee38a
...
...
@@ -6,7 +6,7 @@
<dict>
<key>
Headers/QmsPlugin.h
</key>
<data>
aCL6rb2Q7Ad9zhx8vpvTOuIXPd
s=
T0w73SfaKmay5cfzE/KHplzhWi
s=
</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>
...
...
src/index.tsx
View file @
885ee38a
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
);
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment