Commit 515cf011 authored by Wei Han's avatar Wei Han

code update

parent d6d9a637
...@@ -9,16 +9,24 @@ Pod::Spec.new do |s| ...@@ -9,16 +9,24 @@ Pod::Spec.new do |s|
s.homepage = package["homepage"] s.homepage = package["homepage"]
s.license = package["license"] s.license = package["license"]
s.authors = package["author"] s.authors = package["author"]
s.platforms = { :ios => "12.4"} s.platforms = { :ios => "12.4" }
s.source = { :git => "http://convep.ddns.me:20000/WeiHan/weihan-plugin.git", :tag => "#{s.version}" } s.source = { :git => "http://convep.ddns.me:20000/WeiHan/weihan-plugin.git", :tag => "#{s.version}" }
s.source_files = "ios/QmsPlugin/**/*.{h,m,mm,cpp}" s.source_files = "ios/QmsPlugin/**/*.{h,m,mm,cpp}", "ios/QmsPluginSpec/**/*.{h,mm}"
s.private_header_files = "ios/QmsPlugin/**/*.h" s.private_header_files = "ios/QmsPlugin/**/*.h"
s.dependency "React-Core" s.public_header_files = "ios/QmsPluginSpec/**/*.h"
s.dependency "ReactCommon"
s.preserve_paths = "ios/QmsPluginFramework.xcframework" s.preserve_paths = "ios/QmsPluginFramework.xcframework"
s.vendored_frameworks = "ios/QmsPluginFramework.xcframework" s.vendored_frameworks = "ios/QmsPluginFramework.xcframework"
s.pod_target_xcconfig = { 'DEFINES_MODULE' => 'YES' }
s.dependency "React-Core"
s.dependency "ReactCommon"
s.dependency "React-Codegen"
s.pod_target_xcconfig = {
"DEFINES_MODULE" => "YES",
"CLANG_CXX_LANGUAGE_STANDARD" => "c++17"
}
install_modules_dependencies(s) install_modules_dependencies(s)
end end
...@@ -17,6 +17,14 @@ class QmsPluginModule(reactContext: ReactApplicationContext) : ...@@ -17,6 +17,14 @@ class QmsPluginModule(reactContext: ReactApplicationContext) :
return a * b return a * b
} }
override fun sum(a: Double, b: Double): Double {
return a + b
}
override fun showPluginUI() {
QmsPluginViewManager.showPluginUI(reactApplicationContext)
}
companion object { companion object {
const val NAME = "QmsPlugin" const val NAME = "QmsPlugin"
} }
......
...@@ -4,11 +4,12 @@ ...@@ -4,11 +4,12 @@
NS_ASSUME_NONNULL_BEGIN NS_ASSUME_NONNULL_BEGIN
@interface QmsPluginFunc : NSObject //@interface QmsPluginFunc : NSObject
//
+ (NSNumber *)multiplyA:(double)a withB:(double)b; //+ (NSNumber *)multiplyA:(double)a withB:(double)b;
//+ (NSNumber *)sumA:(double)a withB:(double)b;
@end //
//@end
@interface QmsPluginUI : NSObject @interface QmsPluginUI : NSObject
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
<dict> <dict>
<key>Headers/QmsPlugin.h</key> <key>Headers/QmsPlugin.h</key>
<data> <data>
jEA1lzv3I0dEoWQcMSw2ZhWcuN8= INDfuKT/tXvd59OKxALrlk7Mh0Q=
</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>
w6N+jSiXLutPoCUK4j8sSTNMDql0tV/nT5qBchRO19s= bEZU5MWGiY3Jr0g9zM93JZAgpDf7fM2qmPh9KoANLiY=
</data> </data>
</dict> </dict>
<key>Headers/QmsPluginFramework.h</key> <key>Headers/QmsPluginFramework.h</key>
......
...@@ -4,11 +4,12 @@ ...@@ -4,11 +4,12 @@
NS_ASSUME_NONNULL_BEGIN NS_ASSUME_NONNULL_BEGIN
@interface QmsPluginFunc : NSObject //@interface QmsPluginFunc : NSObject
//
+ (NSNumber *)multiplyA:(double)a withB:(double)b; //+ (NSNumber *)multiplyA:(double)a withB:(double)b;
//+ (NSNumber *)sumA:(double)a withB:(double)b;
@end //
//@end
@interface QmsPluginUI : NSObject @interface QmsPluginUI : NSObject
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
<dict> <dict>
<key>Headers/QmsPlugin.h</key> <key>Headers/QmsPlugin.h</key>
<data> <data>
jEA1lzv3I0dEoWQcMSw2ZhWcuN8= INDfuKT/tXvd59OKxALrlk7Mh0Q=
</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>
w6N+jSiXLutPoCUK4j8sSTNMDql0tV/nT5qBchRO19s= bEZU5MWGiY3Jr0g9zM93JZAgpDf7fM2qmPh9KoANLiY=
</data> </data>
</dict> </dict>
<key>Headers/QmsPluginFramework.h</key> <key>Headers/QmsPluginFramework.h</key>
......
...@@ -4,11 +4,12 @@ ...@@ -4,11 +4,12 @@
NS_ASSUME_NONNULL_BEGIN NS_ASSUME_NONNULL_BEGIN
@interface QmsPluginFunc : NSObject //@interface QmsPluginFunc : NSObject
//
+ (NSNumber *)multiplyA:(double)a withB:(double)b; //+ (NSNumber *)multiplyA:(double)a withB:(double)b;
//+ (NSNumber *)sumA:(double)a withB:(double)b;
@end //
//@end
@interface QmsPluginUI : NSObject @interface QmsPluginUI : NSObject
......
//QmsPlugin.mm //QmsPlugin.mm
#import "QmsPlugin.h" #import "QmsPlugin.h"
@implementation QmsPluginFunc //@implementation QmsPluginFunc
//
+ (NSNumber *)multiplyA:(double)a withB:(double)b { //+ (NSNumber *)multiplyA:(double)a withB:(double)b {
return @(a * b); // return @(a * b);
} //}
//
@end //+ (NSNumber *)sumA:(double)a withB:(double)b {
// return @(a + b);
//}
//
//@end
@implementation QmsPluginUI @implementation QmsPluginUI
......
#import <React/RCTBridgeModule.h> #import <React/RCTBridgeModule.h>
#import <QmsPluginSpec/QmsPluginSpec.h> #import "QmsPluginSpec.h"
#import <QmsPluginFramework/QmsPluginFramework.h> #import <QmsPluginFramework/QmsPluginFramework.h>
@interface QmsPlugin : NSObject <NativeQmsPluginSpec> @interface QmsPlugin : NSObject <NativeQmsPluginSpec>
...@@ -9,28 +9,37 @@ ...@@ -9,28 +9,37 @@
RCT_EXPORT_MODULE() RCT_EXPORT_MODULE()
RCT_EXPORT_METHOD(showPluginUI)
{
[self showPluginUIInternal];
}
- (instancetype)init { - (instancetype)init {
if (self = [super init]) { if (self = [super init]) {
NSLog(@"[QmsPlugin] Native module initialized"); NSLog(@"[QmsPlugin] Native module initialized");
NSLog(@"QmsPlugin loaded");
BOOL responds = [QmsPlugin instancesRespondToSelector:@selector(showPluginUI:reject:)];
NSLog(@"QmsPlugin responds to showPluginUI:reject:? %@", responds ? @"YES" : @"NO");
if (![QmsPlugin conformsToProtocol:@protocol(NativeQmsPluginSpec)]) {
NSLog(@"❌ QmsPlugin does NOT conform to NativeQmsPluginSpec");
} else {
NSLog(@"✅ QmsPlugin conforms to NativeQmsPluginSpec");
}
} }
return self; return self;
} }
// Wraps the C function QmsPluginMultiply // - (NSNumber *)sum:(double)a b:(double)b {
- (NSNumber *)multiply:(double)a b:(double)b { // NSLog(@"[QmsPlugin] sum called with a=%f, b=%f", a, b);
NSLog(@"[QmsPlugin] multiply called with a=%f, b=%f", a, b); // NSNumber *result = [QmsPluginFunc sumA:a withB:b];
NSNumber *result = [QmsPluginFunc multiplyA:a withB:b]; // NSLog(@"[QmsPlugin] sum result = %@", result);
NSLog(@"[QmsPlugin] multiply result = %@", result); // return result;
return result; // }
} // // Wraps the C function QmsPluginMultiply
// - (NSNumber *)multiply:(double)a b:(double)b {
// NSLog(@"[QmsPlugin] multiply called with a=%f, b=%f", a, b);
// NSNumber *result = [QmsPluginFunc multiplyA:a withB:b];
// NSLog(@"[QmsPlugin] multiply result = %@", result);
// return result;
// }
// Wraps the C function QmsPluginMakeViewController // Wraps the C function QmsPluginMakeViewController
- (void)showPluginUIInternal { - (void)showPluginUI {
NSLog(@"[QmsPlugin] showPluginUI CALLED from JS"); NSLog(@"[QmsPlugin] showPluginUI CALLED from JS");
dispatch_async(dispatch_get_main_queue(), ^{ dispatch_async(dispatch_get_main_queue(), ^{
...@@ -71,11 +80,15 @@ RCT_EXPORT_METHOD(showPluginUI) ...@@ -71,11 +80,15 @@ RCT_EXPORT_METHOD(showPluginUI)
}); });
} }
// TurboModule boilerplate // TurboModule boilerplate
- (std::shared_ptr<facebook::react::TurboModule>)getTurboModule: - (std::shared_ptr<facebook::react::TurboModule>)getTurboModule:
(const facebook::react::ObjCTurboModule::InitParams &)params (const facebook::react::ObjCTurboModule::InitParams &)params
{ {
return std::make_shared<facebook::react::NativeQmsPluginSpecJSI>(params); NSLog(@"[QmsPlugin] getTurboModule called");
} auto module = std::make_shared<facebook::react::NativeQmsPluginSpecJSI>(params);
NSLog(@"[QmsPlugin] TurboModule created: %p", module.get());
return module;
}
@end @end
...@@ -4,11 +4,12 @@ ...@@ -4,11 +4,12 @@
NS_ASSUME_NONNULL_BEGIN NS_ASSUME_NONNULL_BEGIN
@interface QmsPluginFunc : NSObject //@interface QmsPluginFunc : NSObject
//
+ (NSNumber *)multiplyA:(double)a withB:(double)b; //+ (NSNumber *)multiplyA:(double)a withB:(double)b;
//+ (NSNumber *)sumA:(double)a withB:(double)b;
@end //
//@end
@interface QmsPluginUI : NSObject @interface QmsPluginUI : NSObject
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
<dict> <dict>
<key>Headers/QmsPlugin.h</key> <key>Headers/QmsPlugin.h</key>
<data> <data>
jEA1lzv3I0dEoWQcMSw2ZhWcuN8= INDfuKT/tXvd59OKxALrlk7Mh0Q=
</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>
w6N+jSiXLutPoCUK4j8sSTNMDql0tV/nT5qBchRO19s= bEZU5MWGiY3Jr0g9zM93JZAgpDf7fM2qmPh9KoANLiY=
</data> </data>
</dict> </dict>
<key>Headers/QmsPluginFramework.h</key> <key>Headers/QmsPluginFramework.h</key>
......
...@@ -4,11 +4,12 @@ ...@@ -4,11 +4,12 @@
NS_ASSUME_NONNULL_BEGIN NS_ASSUME_NONNULL_BEGIN
@interface QmsPluginFunc : NSObject //@interface QmsPluginFunc : NSObject
//
+ (NSNumber *)multiplyA:(double)a withB:(double)b; //+ (NSNumber *)multiplyA:(double)a withB:(double)b;
//+ (NSNumber *)sumA:(double)a withB:(double)b;
@end //
//@end
@interface QmsPluginUI : NSObject @interface QmsPluginUI : NSObject
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
<dict> <dict>
<key>Headers/QmsPlugin.h</key> <key>Headers/QmsPlugin.h</key>
<data> <data>
jEA1lzv3I0dEoWQcMSw2ZhWcuN8= INDfuKT/tXvd59OKxALrlk7Mh0Q=
</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>
w6N+jSiXLutPoCUK4j8sSTNMDql0tV/nT5qBchRO19s= bEZU5MWGiY3Jr0g9zM93JZAgpDf7fM2qmPh9KoANLiY=
</data> </data>
</dict> </dict>
<key>Headers/QmsPluginFramework.h</key> <key>Headers/QmsPluginFramework.h</key>
......
import { TurboModuleRegistry, type TurboModule } from 'react-native'; import { TurboModuleRegistry, type TurboModule } from 'react-native';
export interface Spec extends TurboModule { export interface Spec extends TurboModule {
multiply(a: number, b: number): number; // multiply(a: number, b: number): number;
// sum(a: number, b: number): number;
showPluginUI(): void; showPluginUI(): void;
} }
......
import QmsPlugin from './NativeQmsPlugin'; import QmsPlugin from './NativeQmsPlugin';
export function multiply(a: number, b: number): number { // export function multiply(a: number, b: number): number {
return QmsPlugin.multiply(a, b); // return QmsPlugin.multiply(a, b);
} // }
// export function sum(a: number, b: number): number {
// return QmsPlugin.sum(a, b);
// }
export function showPluginUI(): void { export function showPluginUI(): void {
QmsPlugin.showPluginUI(); QmsPlugin.showPluginUI();
} }
export default { export default {
multiply, // multiply,
// sum,
showPluginUI, showPluginUI,
}; };
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