Commit 89a96ae7 authored by Wei Han's avatar Wei Han

code update

parent ba209dfa
...@@ -9,14 +9,14 @@ Pod::Spec.new do |s| ...@@ -9,14 +9,14 @@ 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 => "15.1"}
s.platforms = { :ios => min_ios_version_supported } s.source = { :git => "http://convep.ddns.me:20000/WeiHan/weihan-plugin.git", :tag => "#{s.version}" }
s.source = { :git => "http://convep.ddns.me:20000/alepmustaqim03/qms-plugin.git.git", :tag => "#{s.version}" } s.source_files = "ios/QmsPlugin/**/*.{h,m,mm,cpp}"
s.private_header_files = "ios/QmsPlugin/**/*.h"
s.source_files = "ios/**/*.{h,m,mm,cpp}"
s.private_header_files = "ios/**/*.h"
s.swift_version = "5.0"
s.dependency "React-Core" s.dependency "React-Core"
s.preserve_paths = "ios/QmsPluginFramework.xcframework"
s.vendored_frameworks = "ios/QmsPluginFramework.xcframework"
install_modules_dependencies(s) # install_modules_dependencies(s)
end end
//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``
<!--@START_MENU_TOKEN@-->Summary<!--@END_MENU_TOKEN@-->
## Overview
<!--@START_MENU_TOKEN@-->Text<!--@END_MENU_TOKEN@-->
## Topics
### <!--@START_MENU_TOKEN@-->Group<!--@END_MENU_TOKEN@-->
- <!--@START_MENU_TOKEN@-->``Symbol``<!--@END_MENU_TOKEN@-->
\ No newline at end of file
//
// 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>
//QmsPlugin.h
#import <QmsPluginSpec/QmsPluginSpec.h>
@interface QmsPlugin : NSObject <NativeQmsPluginSpec>
@end
import Foundation
@objc(QmsPlugin)
class QmsPlugin: NSObject {
// Expose this module to React Native
@objc static func requiresMainQueueSetup() -> Bool {
return false
}
// Example method: multiply two numbers
@objc
func multiply(_ a: Double, b: Double, resolver: RCTPromiseResolveBlock, rejecter: RCTPromiseRejectBlock) {
let result = a * b
resolver(result)
}
}
// ios/QmsPlugin/QmsPlugin.mm
#import <React/RCTBridgeModule.h>
#import <ReactCommon/RCTTurboModule.h>
#import <QmsPluginFramework/QmsPlugin.h>
#import "QmsPluginSpec.h"
@interface QmsPlugin : NSObject <RCTBridgeModule>
@end
@implementation QmsPlugin
RCT_EXPORT_MODULE();
- (NSNumber *)multiply:(double)a b:(double)b {
// Call into your XCFramework function
return QmsPluginMultiply(a, b);
}
- (std::shared_ptr<facebook::react::TurboModule>)getTurboModule:
(const facebook::react::ObjCTurboModule::InitParams &)params
{
return std::make_shared<facebook::react::NativeQmsPluginSpecJSI>(params);
}
@end
<?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_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>
<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>
</array>
<key>CFBundlePackageType</key>
<string>XFWK</string>
<key>XCFrameworkFormatVersion</key>
<string>1.0</string>
</dict>
</plist>
//QmsPlugin.h
#import <Foundation/Foundation.h>
@interface QmsPlugin : NSObject
@end
FOUNDATION_EXPORT NSNumber* QmsPluginMultiply(double a, double 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>
framework module QmsPluginFramework {
umbrella header "QmsPluginFramework.h"
export *
module * { export * }
}
<?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>
aCL6rb2Q7Ad9zhx8vpvTOuIXPds=
</data>
<key>Headers/QmsPluginFramework.h</key>
<data>
Ac2nFon9nyl4ocnIjmBCQRCrHPo=
</data>
<key>Info.plist</key>
<data>
QvWHhX2X4hW9mXAFtK1rMMulanM=
</data>
<key>Modules/module.modulemap</key>
<data>
BD9YnWBkeFmDcuOl4cAjALd/7yw=
</data>
</dict>
<key>files2</key>
<dict>
<key>Headers/QmsPlugin.h</key>
<dict>
<key>hash2</key>
<data>
AKU6AKMhupZrsnTsWjRDR3IKFU0gGhL1f6WkNrfkdrw=
</data>
</dict>
<key>Headers/QmsPluginFramework.h</key>
<dict>
<key>hash2</key>
<data>
QS0NoHGZP72x4rQ9X9dKwp+s41xEUsBy01aUhw7JxAo=
</data>
</dict>
<key>Modules/module.modulemap</key>
<dict>
<key>hash2</key>
<data>
e+P6RtiuicqWfZ3H2B43r960DPkFwUWqXKWU+w7OVD0=
</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>
@interface QmsPlugin : NSObject
@end
FOUNDATION_EXPORT NSNumber* QmsPluginMultiply(double a, double 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>
framework module QmsPluginFramework {
umbrella header "QmsPluginFramework.h"
export *
module * { export * }
}
<?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>
aCL6rb2Q7Ad9zhx8vpvTOuIXPds=
</data>
<key>Headers/QmsPluginFramework.h</key>
<data>
Ac2nFon9nyl4ocnIjmBCQRCrHPo=
</data>
<key>Info.plist</key>
<data>
mHHohDKLbelgffJEne6sKFR+cnQ=
</data>
<key>Modules/module.modulemap</key>
<data>
BD9YnWBkeFmDcuOl4cAjALd/7yw=
</data>
</dict>
<key>files2</key>
<dict>
<key>Headers/QmsPlugin.h</key>
<dict>
<key>hash2</key>
<data>
AKU6AKMhupZrsnTsWjRDR3IKFU0gGhL1f6WkNrfkdrw=
</data>
</dict>
<key>Headers/QmsPluginFramework.h</key>
<dict>
<key>hash2</key>
<data>
QS0NoHGZP72x4rQ9X9dKwp+s41xEUsBy01aUhw7JxAo=
</data>
</dict>
<key>Modules/module.modulemap</key>
<dict>
<key>hash2</key>
<data>
e+P6RtiuicqWfZ3H2B43r960DPkFwUWqXKWU+w7OVD0=
</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>
# EXAMPLE USAGE:
#
# Refer for explanation to following link:
# https://lefthook.dev/configuration/
#
# pre-push:
# jobs:
# - name: packages audit
# tags:
# - frontend
# - security
# run: yarn audit
#
# - name: gems audit
# tags:
# - backend
# - security
# run: bundle audit
#
# pre-commit:
# parallel: true
# jobs:
# - run: yarn eslint {staged_files}
# glob: "*.{js,ts,jsx,tsx}"
#
# - name: rubocop
# glob: "*.rb"
# exclude:
# - config/application.rb
# - config/routes.rb
# run: bundle exec rubocop --force-exclusion {all_files}
#
# - name: govet
# files: git ls-files -m
# glob: "*.go"
# run: go vet {files}
#
# - script: "hello.js"
# runner: node
#
# - script: "hello.go"
# runner: go run
This diff is collapsed.
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