├── .github └── workflows │ └── nodejs.yml ├── .gitignore ├── JCoreRN.podspec ├── LICENSE ├── README.md ├── android ├── build.gradle ├── libs │ └── jcore-android-5.0.2.jar └── src │ └── main │ ├── AndroidManifest.xml │ └── java │ └── cn │ └── jiguang │ └── plugins │ ├── core │ ├── JCoreModule.java │ └── JCorePackage.java │ └── service │ └── JCoreModuleService.java ├── index.d.ts ├── index.js ├── ios ├── RCTJCoreModule.xcodeproj │ ├── project.pbxproj │ ├── project.xcworkspace │ │ ├── contents.xcworkspacedata │ │ ├── xcshareddata │ │ │ └── IDEWorkspaceChecks.plist │ │ └── xcuserdata │ │ │ ├── HuminiOS.xcuserdatad │ │ │ └── UserInterfaceState.xcuserstate │ │ │ └── wicked.xcuserdatad │ │ │ └── UserInterfaceState.xcuserstate │ └── xcuserdata │ │ ├── HuminiOS.xcuserdatad │ │ └── xcschemes │ │ │ ├── RCTJCoreModule.xcscheme │ │ │ └── xcschememanagement.plist │ │ └── wicked.xcuserdatad │ │ └── xcschemes │ │ └── xcschememanagement.plist └── RCTJCoreModule │ ├── RCTJCoreModule.h │ ├── RCTJCoreModule.m │ └── jcore-ios-5.0.1.xcframework │ ├── Info.plist │ ├── ios-arm64 │ ├── Headers │ │ ├── JGCOREAPI.h │ │ └── JGInforCollectionAuth.h │ ├── PrivacyInfo.xcprivacy │ └── libJCore.a │ └── ios-arm64_x86_64-simulator │ ├── Headers │ ├── JGCOREAPI.h │ └── JGInforCollectionAuth.h │ ├── PrivacyInfo.xcprivacy │ └── libJCore.a ├── package-lock.json └── package.json /.github/workflows/nodejs.yml: -------------------------------------------------------------------------------- 1 | # This workflow will run tests using node and then publish a package to GitHub Packages when a release is created 2 | # For more information see: https://help.github.com/actions/language-and-framework-guides/publishing-nodejs-packages 3 | name: npm-publish 4 | on: 5 | push: 6 | branches: 7 | - master # Change this to your default branch 8 | jobs: 9 | npm-publish: 10 | name: npm-publish 11 | runs-on: ubuntu-latest 12 | steps: 13 | - name: Checkout repository 14 | uses: actions/checkout@master 15 | - name: Set up Node.js 16 | uses: actions/setup-node@master 17 | with: 18 | node-version: 10.0.0 19 | registry-url: https://registry.npmjs.org/ 20 | - run: npm publish 21 | env: # More info about the environment variables in the README 22 | NODE_AUTH_TOKEN: ${{secrets.NPM_AUTH_TOKEN}} # You need to set this in your repo settings 23 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | 2 | *.gradle/ 3 | gradle.properties 4 | build/ 5 | build-res/ 6 | /*/build/ 7 | *.iml 8 | *.idea/ 9 | *.DS_Store 10 | *.log 11 | .qshell 12 | *.qshell 13 | -------------------------------------------------------------------------------- /JCoreRN.podspec: -------------------------------------------------------------------------------- 1 | require 'json' 2 | pjson = JSON.parse(File.read('package.json')) 3 | 4 | Pod::Spec.new do |s| 5 | 6 | s.name = "JCoreRN" 7 | s.version = pjson["version"] 8 | s.homepage = pjson["homepage"] 9 | s.summary = pjson["description"] 10 | s.license = pjson["license"] 11 | s.author = pjson["author"] 12 | 13 | s.ios.deployment_target = '7.0' 14 | 15 | s.source = { :git => "https://github.com/jpush/jcore-react-native.git", :tag => "#{s.version}" } 16 | s.source_files = 'ios/RCTJCoreModule/*.{h,m}' 17 | s.preserve_paths = "**/*.js" 18 | s.vendored_frameworks = "ios/RCTJCoreModule/*.xcframework" 19 | s.libraries = 'z','resolv', 'sqlite3', 'c++.1' 20 | s.dependency 'React' 21 | end 22 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2019 极光开发者 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # JCore-React-Native 2 | 3 | ## 安装 4 | 5 | ``` 6 | npm install jcore-react-native --save 7 | ``` 8 | 9 | -------------------------------------------------------------------------------- /android/build.gradle: -------------------------------------------------------------------------------- 1 | apply plugin: 'com.android.library' 2 | 3 | def safeExtGet(prop, fallback) { 4 | rootProject.ext.has(prop) ? rootProject.ext.get(prop) : fallback 5 | } 6 | 7 | android { 8 | compileSdkVersion safeExtGet('compileSdkVersion', 34) 9 | namespace 'cn.jiguang.plugins.core' 10 | defaultConfig { 11 | minSdkVersion safeExtGet('minSdkVersion', 23) 12 | targetSdkVersion safeExtGet('targetSdkVersion', 34) 13 | versionCode 1 14 | versionName "1.0" 15 | } 16 | sourceSets { 17 | main { 18 | jniLibs.srcDirs = ['libs'] 19 | } 20 | } 21 | } 22 | 23 | dependencies { 24 | implementation fileTree(dir: 'libs', include: ['*.jar']) 25 | implementation 'com.facebook.react:react-native:+' 26 | } 27 | -------------------------------------------------------------------------------- /android/libs/jcore-android-5.0.2.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpush/jcore-react-native/2584a65944e3ebfcef86a0168f4229f4dbfe73eb/android/libs/jcore-android-5.0.2.jar -------------------------------------------------------------------------------- /android/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | 6 | 9 | 10 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | -------------------------------------------------------------------------------- /android/src/main/java/cn/jiguang/plugins/core/JCoreModule.java: -------------------------------------------------------------------------------- 1 | 2 | package cn.jiguang.plugins.core; 3 | 4 | import android.app.Activity; 5 | import android.app.Application; 6 | import android.os.Bundle; 7 | import android.text.TextUtils; 8 | import android.util.Log; 9 | 10 | import com.facebook.react.bridge.Arguments; 11 | import com.facebook.react.bridge.Callback; 12 | import com.facebook.react.bridge.ReactApplicationContext; 13 | import com.facebook.react.bridge.ReactContextBaseJavaModule; 14 | import com.facebook.react.bridge.ReactMethod; 15 | import com.facebook.react.bridge.ReadableArray; 16 | import com.facebook.react.bridge.ReadableMap; 17 | import com.facebook.react.bridge.WritableMap; 18 | 19 | import org.json.JSONObject; 20 | 21 | import java.util.HashSet; 22 | import java.util.Set; 23 | import cn.jiguang.api.utils.JCollectionAuth; 24 | import cn.jiguang.api.JCoreInterface; 25 | 26 | public class JCoreModule extends ReactContextBaseJavaModule { 27 | 28 | public static ReactApplicationContext reactContext; 29 | 30 | 31 | public JCoreModule(ReactApplicationContext reactApplicationContext) { 32 | super(reactContext); 33 | reactContext = reactApplicationContext; 34 | } 35 | 36 | @Override 37 | public String getName() { 38 | return "JCoreModule"; 39 | } 40 | 41 | @ReactMethod 42 | public void setAuth(boolean bool){ 43 | JCollectionAuth.setAuth(reactContext,bool); 44 | } 45 | @ReactMethod 46 | public void enableAutoWakeup(boolean bool) { 47 | JCollectionAuth.enableAutoWakeup(reactContext,bool); 48 | } 49 | @ReactMethod 50 | public void setCountryCode(ReadableMap readableMap){ 51 | if (readableMap == null) { 52 | return; 53 | } 54 | String code = readableMap.getString("code"); 55 | if (TextUtils.isEmpty(code)) { 56 | } else { 57 | JCoreInterface.setCountryCode(reactContext,code); 58 | } 59 | } 60 | 61 | @ReactMethod 62 | public void enableSDKLocalLog(ReadableMap readableMap){ 63 | if (readableMap == null) { 64 | return; 65 | } 66 | boolean enable = false; 67 | if (readableMap.hasKey("enable")) { 68 | enable = readableMap.getBoolean("enable"); 69 | } 70 | boolean uploadJgToServer = false; 71 | if (readableMap.hasKey("uploadJgToServer")) { 72 | uploadJgToServer = readableMap.getBoolean("uploadJgToServer"); 73 | } 74 | JCoreInterface.enableSDKLocalLog(reactContext,enable,uploadJgToServer); 75 | } 76 | 77 | @ReactMethod 78 | public void readNewLogs(Callback callback) { 79 | if (callback == null) { 80 | return; 81 | } 82 | String logs = JCoreInterface.readNewLogs(reactContext); 83 | WritableMap writableMap = Arguments.createMap(); 84 | writableMap.putString("logs", logs); 85 | callback.invoke(writableMap); 86 | } 87 | 88 | 89 | } 90 | -------------------------------------------------------------------------------- /android/src/main/java/cn/jiguang/plugins/core/JCorePackage.java: -------------------------------------------------------------------------------- 1 | 2 | package cn.jiguang.plugins.core; 3 | 4 | import java.util.Arrays; 5 | import java.util.Collections; 6 | import java.util.List; 7 | 8 | import com.facebook.react.ReactPackage; 9 | import com.facebook.react.bridge.NativeModule; 10 | import com.facebook.react.bridge.ReactApplicationContext; 11 | import com.facebook.react.uimanager.ViewManager; 12 | 13 | import cn.jiguang.plugins.core.JCoreModule; 14 | 15 | public class JCorePackage implements ReactPackage { 16 | 17 | @Override 18 | public List createNativeModules(ReactApplicationContext reactContext) { 19 | return Arrays.asList(new JCoreModule(reactContext)); 20 | } 21 | 22 | @Override 23 | public List createViewManagers(ReactApplicationContext reactContext) { 24 | return Collections.emptyList(); 25 | } 26 | 27 | } -------------------------------------------------------------------------------- /android/src/main/java/cn/jiguang/plugins/service/JCoreModuleService.java: -------------------------------------------------------------------------------- 1 | package cn.jiguang.plugins.service; 2 | 3 | import cn.jpush.android.service.JCommonService; 4 | 5 | public class JCoreModuleService extends JCommonService { 6 | 7 | } 8 | -------------------------------------------------------------------------------- /index.d.ts: -------------------------------------------------------------------------------- 1 | // 定义 JCore 类的类型声明 2 | export default class JCore { 3 | /** 4 | * 设置认证信息 5 | * @param auth 是否启用认证 6 | */ 7 | static setAuth(auth: boolean): void; 8 | 9 | /** 10 | * 设置国家代码 11 | * @param params 包含国家代码的对象,字段为 { code: string } 12 | */ 13 | static setCountryCode(params: { code: string }): void; 14 | 15 | /** 16 | * 启用自动唤醒功能 17 | * @param enable 是否启用自动唤醒 18 | */ 19 | static enableAutoWakeup(enable: boolean): void; 20 | 21 | /** 22 | * 启用SDK本地日志,启动用SDK日志缓存本设备 23 | * @param enable 是否启用日志(true表示启用,false表示禁用) 24 | * @param uploadJgToServer 是否将日志上传到极光服务器(true表示上传,false表示不上传) 25 | */ 26 | static enableSDKLocalLog(params: {enable: boolean, uploadJgToServer: boolean}): void; 27 | 28 | /** 29 | * 获取所有进程的新增SDK日志 30 | * 31 | * @param {Function} callback = (result) => {"logs":String} 32 | */ 33 | static readNewLogs(callback: Callback<{ logs: string }>): void; 34 | } 35 | -------------------------------------------------------------------------------- /index.js: -------------------------------------------------------------------------------- 1 | import { 2 | DeviceEventEmitter, 3 | NativeModules, 4 | Platform 5 | } from 'react-native' 6 | 7 | const JCoreModule = NativeModules.JCoreModule 8 | 9 | 10 | export default class JCore { 11 | 12 | static setAuth(auth) { 13 | JCoreModule.setAuth(auth) 14 | } 15 | static setCountryCode(params) { 16 | if (Platform.OS == "android") { 17 | JCoreModule.setCountryCode(params) 18 | } 19 | } 20 | static enableAutoWakeup(enable) { 21 | if (Platform.OS == "android") { 22 | JCoreModule.enableAutoWakeup(enable) 23 | } 24 | } 25 | 26 | static enableSDKLocalLog(params) { 27 | if (Platform.OS == "android") { 28 | JCoreModule.enableSDKLocalLog(params) 29 | } 30 | } 31 | 32 | static readNewLogs(callback) { 33 | if (Platform.OS == "android") { 34 | JCoreModule.readNewLogs(callback) 35 | } 36 | } 37 | 38 | } 39 | -------------------------------------------------------------------------------- /ios/RCTJCoreModule.xcodeproj/project.pbxproj: -------------------------------------------------------------------------------- 1 | // !$*UTF8*$! 2 | { 3 | archiveVersion = 1; 4 | classes = { 5 | }; 6 | objectVersion = 54; 7 | objects = { 8 | 9 | /* Begin PBXBuildFile section */ 10 | 08166A7B27EC622A00C7233B /* RCTJCoreModule.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 6212E9EF1F3991D500BDF51A /* RCTJCoreModule.h */; }; 11 | 6212E9F11F3991D500BDF51A /* RCTJCoreModule.m in Sources */ = {isa = PBXBuildFile; fileRef = 6212E9F01F3991D500BDF51A /* RCTJCoreModule.m */; }; 12 | 624D3A3E2DB7926400C8C3C0 /* jcore-ios-5.0.1.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = 624D3A3D2DB7926400C8C3C0 /* jcore-ios-5.0.1.xcframework */; }; 13 | /* End PBXBuildFile section */ 14 | 15 | /* Begin PBXCopyFilesBuildPhase section */ 16 | 6212E9B21F3990DC00BDF51A /* CopyFiles */ = { 17 | isa = PBXCopyFilesBuildPhase; 18 | buildActionMask = 2147483647; 19 | dstPath = "include/$(PRODUCT_NAME)"; 20 | dstSubfolderSpec = 16; 21 | files = ( 22 | 08166A7B27EC622A00C7233B /* RCTJCoreModule.h in CopyFiles */, 23 | ); 24 | runOnlyForDeploymentPostprocessing = 0; 25 | }; 26 | /* End PBXCopyFilesBuildPhase section */ 27 | 28 | /* Begin PBXFileReference section */ 29 | 6212E9B41F3990DC00BDF51A /* libRCTJCoreModule.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libRCTJCoreModule.a; sourceTree = BUILT_PRODUCTS_DIR; }; 30 | 6212E9EF1F3991D500BDF51A /* RCTJCoreModule.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RCTJCoreModule.h; sourceTree = ""; }; 31 | 6212E9F01F3991D500BDF51A /* RCTJCoreModule.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RCTJCoreModule.m; sourceTree = ""; }; 32 | 624D3A3D2DB7926400C8C3C0 /* jcore-ios-5.0.1.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = "jcore-ios-5.0.1.xcframework"; path = "RCTJCoreModule/jcore-ios-5.0.1.xcframework"; sourceTree = ""; }; 33 | /* End PBXFileReference section */ 34 | 35 | /* Begin PBXFrameworksBuildPhase section */ 36 | 6212E9B11F3990DC00BDF51A /* Frameworks */ = { 37 | isa = PBXFrameworksBuildPhase; 38 | buildActionMask = 2147483647; 39 | files = ( 40 | 624D3A3E2DB7926400C8C3C0 /* jcore-ios-5.0.1.xcframework in Frameworks */, 41 | ); 42 | runOnlyForDeploymentPostprocessing = 0; 43 | }; 44 | /* End PBXFrameworksBuildPhase section */ 45 | 46 | /* Begin PBXGroup section */ 47 | 5CE8168A22FC0295007D710C /* Frameworks */ = { 48 | isa = PBXGroup; 49 | children = ( 50 | 624D3A3D2DB7926400C8C3C0 /* jcore-ios-5.0.1.xcframework */, 51 | ); 52 | name = Frameworks; 53 | sourceTree = ""; 54 | }; 55 | 6212E9AB1F3990DC00BDF51A = { 56 | isa = PBXGroup; 57 | children = ( 58 | 6212E9B61F3990DC00BDF51A /* RCTJCoreModule */, 59 | 6212E9B51F3990DC00BDF51A /* Products */, 60 | 5CE8168A22FC0295007D710C /* Frameworks */, 61 | ); 62 | sourceTree = ""; 63 | }; 64 | 6212E9B51F3990DC00BDF51A /* Products */ = { 65 | isa = PBXGroup; 66 | children = ( 67 | 6212E9B41F3990DC00BDF51A /* libRCTJCoreModule.a */, 68 | ); 69 | name = Products; 70 | sourceTree = ""; 71 | }; 72 | 6212E9B61F3990DC00BDF51A /* RCTJCoreModule */ = { 73 | isa = PBXGroup; 74 | children = ( 75 | 6212E9EF1F3991D500BDF51A /* RCTJCoreModule.h */, 76 | 6212E9F01F3991D500BDF51A /* RCTJCoreModule.m */, 77 | ); 78 | path = RCTJCoreModule; 79 | sourceTree = ""; 80 | }; 81 | /* End PBXGroup section */ 82 | 83 | /* Begin PBXNativeTarget section */ 84 | 6212E9B31F3990DC00BDF51A /* RCTJCoreModule */ = { 85 | isa = PBXNativeTarget; 86 | buildConfigurationList = 6212E9BD1F3990DC00BDF51A /* Build configuration list for PBXNativeTarget "RCTJCoreModule" */; 87 | buildPhases = ( 88 | 6212E9B01F3990DC00BDF51A /* Sources */, 89 | 6212E9B11F3990DC00BDF51A /* Frameworks */, 90 | 6212E9B21F3990DC00BDF51A /* CopyFiles */, 91 | ); 92 | buildRules = ( 93 | ); 94 | dependencies = ( 95 | ); 96 | name = RCTJCoreModule; 97 | productName = RCTJCoreModule; 98 | productReference = 6212E9B41F3990DC00BDF51A /* libRCTJCoreModule.a */; 99 | productType = "com.apple.product-type.library.static"; 100 | }; 101 | /* End PBXNativeTarget section */ 102 | 103 | /* Begin PBXProject section */ 104 | 6212E9AC1F3990DC00BDF51A /* Project object */ = { 105 | isa = PBXProject; 106 | attributes = { 107 | LastUpgradeCheck = 0830; 108 | ORGANIZATIONNAME = HXHG; 109 | TargetAttributes = { 110 | 6212E9B31F3990DC00BDF51A = { 111 | CreatedOnToolsVersion = 8.3.3; 112 | DevelopmentTeam = RL64Y54S9V; 113 | ProvisioningStyle = Automatic; 114 | }; 115 | }; 116 | }; 117 | buildConfigurationList = 6212E9AF1F3990DC00BDF51A /* Build configuration list for PBXProject "RCTJCoreModule" */; 118 | compatibilityVersion = "Xcode 3.2"; 119 | developmentRegion = English; 120 | hasScannedForEncodings = 0; 121 | knownRegions = ( 122 | English, 123 | en, 124 | ); 125 | mainGroup = 6212E9AB1F3990DC00BDF51A; 126 | productRefGroup = 6212E9B51F3990DC00BDF51A /* Products */; 127 | projectDirPath = ""; 128 | projectRoot = ""; 129 | targets = ( 130 | 6212E9B31F3990DC00BDF51A /* RCTJCoreModule */, 131 | ); 132 | }; 133 | /* End PBXProject section */ 134 | 135 | /* Begin PBXSourcesBuildPhase section */ 136 | 6212E9B01F3990DC00BDF51A /* Sources */ = { 137 | isa = PBXSourcesBuildPhase; 138 | buildActionMask = 2147483647; 139 | files = ( 140 | 6212E9F11F3991D500BDF51A /* RCTJCoreModule.m in Sources */, 141 | ); 142 | runOnlyForDeploymentPostprocessing = 0; 143 | }; 144 | /* End PBXSourcesBuildPhase section */ 145 | 146 | /* Begin XCBuildConfiguration section */ 147 | 6212E9BB1F3990DC00BDF51A /* Debug */ = { 148 | isa = XCBuildConfiguration; 149 | buildSettings = { 150 | ALWAYS_SEARCH_USER_PATHS = NO; 151 | CLANG_ANALYZER_NONNULL = YES; 152 | CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; 153 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; 154 | CLANG_CXX_LIBRARY = "libc++"; 155 | CLANG_ENABLE_MODULES = YES; 156 | CLANG_ENABLE_OBJC_ARC = YES; 157 | CLANG_WARN_BOOL_CONVERSION = YES; 158 | CLANG_WARN_CONSTANT_CONVERSION = YES; 159 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; 160 | CLANG_WARN_DOCUMENTATION_COMMENTS = YES; 161 | CLANG_WARN_EMPTY_BODY = YES; 162 | CLANG_WARN_ENUM_CONVERSION = YES; 163 | CLANG_WARN_INFINITE_RECURSION = YES; 164 | CLANG_WARN_INT_CONVERSION = YES; 165 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; 166 | CLANG_WARN_SUSPICIOUS_MOVE = YES; 167 | CLANG_WARN_UNREACHABLE_CODE = YES; 168 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; 169 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; 170 | COPY_PHASE_STRIP = NO; 171 | DEBUG_INFORMATION_FORMAT = dwarf; 172 | ENABLE_STRICT_OBJC_MSGSEND = YES; 173 | ENABLE_TESTABILITY = YES; 174 | GCC_C_LANGUAGE_STANDARD = gnu99; 175 | GCC_DYNAMIC_NO_PIC = NO; 176 | GCC_NO_COMMON_BLOCKS = YES; 177 | GCC_OPTIMIZATION_LEVEL = 0; 178 | GCC_PREPROCESSOR_DEFINITIONS = ( 179 | "DEBUG=1", 180 | "$(inherited)", 181 | ); 182 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES; 183 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; 184 | GCC_WARN_UNDECLARED_SELECTOR = YES; 185 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; 186 | GCC_WARN_UNUSED_FUNCTION = YES; 187 | GCC_WARN_UNUSED_VARIABLE = YES; 188 | IPHONEOS_DEPLOYMENT_TARGET = 10.3; 189 | MTL_ENABLE_DEBUG_INFO = YES; 190 | ONLY_ACTIVE_ARCH = YES; 191 | SDKROOT = iphoneos; 192 | }; 193 | name = Debug; 194 | }; 195 | 6212E9BC1F3990DC00BDF51A /* Release */ = { 196 | isa = XCBuildConfiguration; 197 | buildSettings = { 198 | ALWAYS_SEARCH_USER_PATHS = NO; 199 | CLANG_ANALYZER_NONNULL = YES; 200 | CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; 201 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; 202 | CLANG_CXX_LIBRARY = "libc++"; 203 | CLANG_ENABLE_MODULES = YES; 204 | CLANG_ENABLE_OBJC_ARC = YES; 205 | CLANG_WARN_BOOL_CONVERSION = YES; 206 | CLANG_WARN_CONSTANT_CONVERSION = YES; 207 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; 208 | CLANG_WARN_DOCUMENTATION_COMMENTS = YES; 209 | CLANG_WARN_EMPTY_BODY = YES; 210 | CLANG_WARN_ENUM_CONVERSION = YES; 211 | CLANG_WARN_INFINITE_RECURSION = YES; 212 | CLANG_WARN_INT_CONVERSION = YES; 213 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; 214 | CLANG_WARN_SUSPICIOUS_MOVE = YES; 215 | CLANG_WARN_UNREACHABLE_CODE = YES; 216 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; 217 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; 218 | COPY_PHASE_STRIP = NO; 219 | DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; 220 | ENABLE_NS_ASSERTIONS = NO; 221 | ENABLE_STRICT_OBJC_MSGSEND = YES; 222 | GCC_C_LANGUAGE_STANDARD = gnu99; 223 | GCC_NO_COMMON_BLOCKS = YES; 224 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES; 225 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; 226 | GCC_WARN_UNDECLARED_SELECTOR = YES; 227 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; 228 | GCC_WARN_UNUSED_FUNCTION = YES; 229 | GCC_WARN_UNUSED_VARIABLE = YES; 230 | IPHONEOS_DEPLOYMENT_TARGET = 10.3; 231 | MTL_ENABLE_DEBUG_INFO = NO; 232 | SDKROOT = iphoneos; 233 | VALIDATE_PRODUCT = YES; 234 | }; 235 | name = Release; 236 | }; 237 | 6212E9BE1F3990DC00BDF51A /* Debug */ = { 238 | isa = XCBuildConfiguration; 239 | buildSettings = { 240 | DEVELOPMENT_TEAM = RL64Y54S9V; 241 | HEADER_SEARCH_PATHS = ( 242 | "$(PROJECT_DIR)/RCTJCoreModule/Lib/**", 243 | "$(SRCROOT)/../../react-native/React/**", 244 | ); 245 | LIBRARY_SEARCH_PATHS = ( 246 | "$(inherited)", 247 | "$(PROJECT_DIR)/RCTJCoreModule", 248 | "$(PROJECT_DIR)/RCTJCoreModule/Lib", 249 | ); 250 | OTHER_LDFLAGS = "-ObjC"; 251 | PRODUCT_NAME = "$(TARGET_NAME)"; 252 | SKIP_INSTALL = YES; 253 | }; 254 | name = Debug; 255 | }; 256 | 6212E9BF1F3990DC00BDF51A /* Release */ = { 257 | isa = XCBuildConfiguration; 258 | buildSettings = { 259 | DEVELOPMENT_TEAM = RL64Y54S9V; 260 | HEADER_SEARCH_PATHS = ( 261 | "$(PROJECT_DIR)/RCTJCoreModule/Lib/**", 262 | "$(SRCROOT)/../../react-native/React/**", 263 | ); 264 | LIBRARY_SEARCH_PATHS = ( 265 | "$(inherited)", 266 | "$(PROJECT_DIR)/RCTJCoreModule", 267 | "$(PROJECT_DIR)/RCTJCoreModule/Lib", 268 | ); 269 | OTHER_LDFLAGS = "-ObjC"; 270 | PRODUCT_NAME = "$(TARGET_NAME)"; 271 | SKIP_INSTALL = YES; 272 | }; 273 | name = Release; 274 | }; 275 | /* End XCBuildConfiguration section */ 276 | 277 | /* Begin XCConfigurationList section */ 278 | 6212E9AF1F3990DC00BDF51A /* Build configuration list for PBXProject "RCTJCoreModule" */ = { 279 | isa = XCConfigurationList; 280 | buildConfigurations = ( 281 | 6212E9BB1F3990DC00BDF51A /* Debug */, 282 | 6212E9BC1F3990DC00BDF51A /* Release */, 283 | ); 284 | defaultConfigurationIsVisible = 0; 285 | defaultConfigurationName = Release; 286 | }; 287 | 6212E9BD1F3990DC00BDF51A /* Build configuration list for PBXNativeTarget "RCTJCoreModule" */ = { 288 | isa = XCConfigurationList; 289 | buildConfigurations = ( 290 | 6212E9BE1F3990DC00BDF51A /* Debug */, 291 | 6212E9BF1F3990DC00BDF51A /* Release */, 292 | ); 293 | defaultConfigurationIsVisible = 0; 294 | defaultConfigurationName = Release; 295 | }; 296 | /* End XCConfigurationList section */ 297 | }; 298 | rootObject = 6212E9AC1F3990DC00BDF51A /* Project object */; 299 | } 300 | -------------------------------------------------------------------------------- /ios/RCTJCoreModule.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /ios/RCTJCoreModule.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /ios/RCTJCoreModule.xcodeproj/project.xcworkspace/xcuserdata/HuminiOS.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpush/jcore-react-native/2584a65944e3ebfcef86a0168f4229f4dbfe73eb/ios/RCTJCoreModule.xcodeproj/project.xcworkspace/xcuserdata/HuminiOS.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /ios/RCTJCoreModule.xcodeproj/project.xcworkspace/xcuserdata/wicked.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpush/jcore-react-native/2584a65944e3ebfcef86a0168f4229f4dbfe73eb/ios/RCTJCoreModule.xcodeproj/project.xcworkspace/xcuserdata/wicked.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /ios/RCTJCoreModule.xcodeproj/xcuserdata/HuminiOS.xcuserdatad/xcschemes/RCTJCoreModule.xcscheme: -------------------------------------------------------------------------------- 1 | 2 | 5 | 8 | 9 | 15 | 21 | 22 | 23 | 24 | 25 | 30 | 31 | 32 | 33 | 34 | 35 | 45 | 46 | 52 | 53 | 54 | 55 | 56 | 57 | 63 | 64 | 70 | 71 | 72 | 73 | 75 | 76 | 79 | 80 | 81 | -------------------------------------------------------------------------------- /ios/RCTJCoreModule.xcodeproj/xcuserdata/HuminiOS.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | RCTJCoreModule.xcscheme 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | SuppressBuildableAutocreation 14 | 15 | 6212E9B31F3990DC00BDF51A 16 | 17 | primary 18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /ios/RCTJCoreModule.xcodeproj/xcuserdata/wicked.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | RCTJCoreModule.xcscheme_^#shared#^_ 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /ios/RCTJCoreModule/RCTJCoreModule.h: -------------------------------------------------------------------------------- 1 | // 2 | // RCTJCoreModule.h 3 | // RCTJCoreModule 4 | // 5 | // Created by oshumini on 2017/8/8. 6 | // Copyright © 2017年 HXHG. All rights reserved. 7 | // 8 | 9 | #import 10 | #if __has_include() 11 | #import 12 | #import 13 | #import 14 | #elif __has_include("RCTBridge.h") 15 | #import "RCTEventEmitter.h" 16 | #import "RCTRootView.h" 17 | #import "RCTBridge.h" 18 | #endif 19 | 20 | #import 21 | #import 22 | 23 | @interface RCTJCoreModule : RCTEventEmitter 24 | 25 | @end 26 | -------------------------------------------------------------------------------- /ios/RCTJCoreModule/RCTJCoreModule.m: -------------------------------------------------------------------------------- 1 | // 2 | // RCTJCoreModule.m 3 | // RCTJCoreModule 4 | // 5 | // Created by oshumini on 2017/8/8. 6 | // Copyright © 2017年 HXHG. All rights reserved. 7 | // 8 | 9 | #import "RCTJCoreModule.h" 10 | #import "JGInforCollectionAuth.h" 11 | 12 | @implementation RCTJCoreModule 13 | 14 | #define JgLog(fmt, ...) NSLog((@"| JGER | iOS | " fmt), ##__VA_ARGS__) 15 | 16 | RCT_EXPORT_MODULE(JCoreModule); 17 | 18 | #pragma mark --- 设备信息采集授权接口(合规接口) 19 | RCT_EXPORT_METHOD(setAuth: (BOOL *)enable) 20 | { 21 | JgLog("JCollectionAuth %d",enable); 22 | __block BOOL isAuth= enable; 23 | [JGInforCollectionAuth JCollectionAuth:^(JGInforCollectionAuthItems * _Nonnull authInfo) { 24 | authInfo.isAuth = isAuth; 25 | }]; 26 | } 27 | 28 | //事件处理 29 | - (NSArray *)supportedEvents 30 | { 31 | return @[]; 32 | } 33 | 34 | @end 35 | -------------------------------------------------------------------------------- /ios/RCTJCoreModule/jcore-ios-5.0.1.xcframework/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | AvailableLibraries 6 | 7 | 8 | HeadersPath 9 | Headers 10 | LibraryIdentifier 11 | ios-arm64_x86_64-simulator 12 | LibraryPath 13 | libJCore.a 14 | SupportedArchitectures 15 | 16 | arm64 17 | x86_64 18 | 19 | SupportedPlatform 20 | ios 21 | SupportedPlatformVariant 22 | simulator 23 | 24 | 25 | HeadersPath 26 | Headers 27 | LibraryIdentifier 28 | ios-arm64 29 | LibraryPath 30 | libJCore.a 31 | SupportedArchitectures 32 | 33 | arm64 34 | 35 | SupportedPlatform 36 | ios 37 | 38 | 39 | CFBundlePackageType 40 | XFWK 41 | XCFrameworkFormatVersion 42 | 1.0 43 | 44 | 45 | -------------------------------------------------------------------------------- /ios/RCTJCoreModule/jcore-ios-5.0.1.xcframework/ios-arm64/Headers/JGCOREAPI.h: -------------------------------------------------------------------------------- 1 | // 2 | // JGCOREService.h 3 | // JCore 4 | // 5 | // Created by Shuni Huang on 2024/3/19. 6 | // Copyright © 2024 jiguang. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | NS_ASSUME_NONNULL_BEGIN 12 | 13 | @interface JGCOREAPI : NSObject 14 | 15 | + (void)ci:(BOOL)enable; 16 | 17 | @end 18 | 19 | NS_ASSUME_NONNULL_END 20 | -------------------------------------------------------------------------------- /ios/RCTJCoreModule/jcore-ios-5.0.1.xcframework/ios-arm64/Headers/JGInforCollectionAuth.h: -------------------------------------------------------------------------------- 1 | // 2 | // JGInforCollectionAuth.h 3 | // JCore 4 | // 5 | // Created by 豆瓣 on 2021/10/27. 6 | // Copyright © 2021 jiguang. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | NS_ASSUME_NONNULL_BEGIN 12 | 13 | /// 合规接口,是否授权极光采集一定的设备信息 14 | @interface JGInforCollectionAuthItems : NSObject 15 | /// 是否授权,默认YES 16 | @property(nonatomic,assign)BOOL isAuth; 17 | @end 18 | 19 | @interface JGInforCollectionAuth : NSObject 20 | 21 | /// 设备信息采集授权接口(合规接口) 22 | /// 请务必在调用初始化、功能性接口前调用此接口进行合规授权 23 | /// @param authBlock auth:YES 则极光认为您同意极光采集一定的设备信息 24 | +(void)JCollectionAuth:(void(^_Nullable)(JGInforCollectionAuthItems *authInfo))authBlock; 25 | @end 26 | 27 | NS_ASSUME_NONNULL_END 28 | -------------------------------------------------------------------------------- /ios/RCTJCoreModule/jcore-ios-5.0.1.xcframework/ios-arm64/PrivacyInfo.xcprivacy: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | NSPrivacyTrackingDomains 6 | 7 | NSPrivacyCollectedDataTypes 8 | 9 | 10 | NSPrivacyCollectedDataType 11 | NSPrivacyCollectedDataTypeCrashData 12 | NSPrivacyCollectedDataTypeLinked 13 | 14 | NSPrivacyCollectedDataTypeTracking 15 | 16 | NSPrivacyCollectedDataTypePurposes 17 | 18 | NSPrivacyCollectedDataTypePurposeAppFunctionality 19 | 20 | 21 | 22 | NSPrivacyCollectedDataType 23 | NSPrivacyCollectedDataTypeDeviceID 24 | NSPrivacyCollectedDataTypeLinked 25 | 26 | NSPrivacyCollectedDataTypeTracking 27 | 28 | NSPrivacyCollectedDataTypePurposes 29 | 30 | NSPrivacyCollectedDataTypePurposeAppFunctionality 31 | 32 | 33 | 34 | NSPrivacyCollectedDataType 35 | NSPrivacyCollectedDataTypePreciseLocation 36 | NSPrivacyCollectedDataTypeLinked 37 | 38 | NSPrivacyCollectedDataTypeTracking 39 | 40 | NSPrivacyCollectedDataTypePurposes 41 | 42 | NSPrivacyCollectedDataTypePurposeAppFunctionality 43 | 44 | 45 | 46 | NSPrivacyTracking 47 | 48 | NSPrivacyAccessedAPITypes 49 | 50 | 51 | NSPrivacyAccessedAPITypeReasons 52 | 53 | E174.1 54 | 55 | NSPrivacyAccessedAPIType 56 | NSPrivacyAccessedAPICategoryDiskSpace 57 | 58 | 59 | NSPrivacyAccessedAPITypeReasons 60 | 61 | CA92.1 62 | 63 | NSPrivacyAccessedAPIType 64 | NSPrivacyAccessedAPICategoryUserDefaults 65 | 66 | 67 | NSPrivacyAccessedAPITypeReasons 68 | 69 | C617.1 70 | 71 | NSPrivacyAccessedAPIType 72 | NSPrivacyAccessedAPICategoryFileTimestamp 73 | 74 | 75 | 76 | 77 | -------------------------------------------------------------------------------- /ios/RCTJCoreModule/jcore-ios-5.0.1.xcframework/ios-arm64/libJCore.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpush/jcore-react-native/2584a65944e3ebfcef86a0168f4229f4dbfe73eb/ios/RCTJCoreModule/jcore-ios-5.0.1.xcframework/ios-arm64/libJCore.a -------------------------------------------------------------------------------- /ios/RCTJCoreModule/jcore-ios-5.0.1.xcframework/ios-arm64_x86_64-simulator/Headers/JGCOREAPI.h: -------------------------------------------------------------------------------- 1 | // 2 | // JGCOREService.h 3 | // JCore 4 | // 5 | // Created by Shuni Huang on 2024/3/19. 6 | // Copyright © 2024 jiguang. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | NS_ASSUME_NONNULL_BEGIN 12 | 13 | @interface JGCOREAPI : NSObject 14 | 15 | + (void)ci:(BOOL)enable; 16 | 17 | @end 18 | 19 | NS_ASSUME_NONNULL_END 20 | -------------------------------------------------------------------------------- /ios/RCTJCoreModule/jcore-ios-5.0.1.xcframework/ios-arm64_x86_64-simulator/Headers/JGInforCollectionAuth.h: -------------------------------------------------------------------------------- 1 | // 2 | // JGInforCollectionAuth.h 3 | // JCore 4 | // 5 | // Created by 豆瓣 on 2021/10/27. 6 | // Copyright © 2021 jiguang. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | NS_ASSUME_NONNULL_BEGIN 12 | 13 | /// 合规接口,是否授权极光采集一定的设备信息 14 | @interface JGInforCollectionAuthItems : NSObject 15 | /// 是否授权,默认YES 16 | @property(nonatomic,assign)BOOL isAuth; 17 | @end 18 | 19 | @interface JGInforCollectionAuth : NSObject 20 | 21 | /// 设备信息采集授权接口(合规接口) 22 | /// 请务必在调用初始化、功能性接口前调用此接口进行合规授权 23 | /// @param authBlock auth:YES 则极光认为您同意极光采集一定的设备信息 24 | +(void)JCollectionAuth:(void(^_Nullable)(JGInforCollectionAuthItems *authInfo))authBlock; 25 | @end 26 | 27 | NS_ASSUME_NONNULL_END 28 | -------------------------------------------------------------------------------- /ios/RCTJCoreModule/jcore-ios-5.0.1.xcframework/ios-arm64_x86_64-simulator/PrivacyInfo.xcprivacy: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | NSPrivacyTrackingDomains 6 | 7 | NSPrivacyCollectedDataTypes 8 | 9 | 10 | NSPrivacyCollectedDataType 11 | NSPrivacyCollectedDataTypeCrashData 12 | NSPrivacyCollectedDataTypeLinked 13 | 14 | NSPrivacyCollectedDataTypeTracking 15 | 16 | NSPrivacyCollectedDataTypePurposes 17 | 18 | NSPrivacyCollectedDataTypePurposeAppFunctionality 19 | 20 | 21 | 22 | NSPrivacyCollectedDataType 23 | NSPrivacyCollectedDataTypeDeviceID 24 | NSPrivacyCollectedDataTypeLinked 25 | 26 | NSPrivacyCollectedDataTypeTracking 27 | 28 | NSPrivacyCollectedDataTypePurposes 29 | 30 | NSPrivacyCollectedDataTypePurposeAppFunctionality 31 | 32 | 33 | 34 | NSPrivacyCollectedDataType 35 | NSPrivacyCollectedDataTypePreciseLocation 36 | NSPrivacyCollectedDataTypeLinked 37 | 38 | NSPrivacyCollectedDataTypeTracking 39 | 40 | NSPrivacyCollectedDataTypePurposes 41 | 42 | NSPrivacyCollectedDataTypePurposeAppFunctionality 43 | 44 | 45 | 46 | NSPrivacyTracking 47 | 48 | NSPrivacyAccessedAPITypes 49 | 50 | 51 | NSPrivacyAccessedAPITypeReasons 52 | 53 | E174.1 54 | 55 | NSPrivacyAccessedAPIType 56 | NSPrivacyAccessedAPICategoryDiskSpace 57 | 58 | 59 | NSPrivacyAccessedAPITypeReasons 60 | 61 | CA92.1 62 | 63 | NSPrivacyAccessedAPIType 64 | NSPrivacyAccessedAPICategoryUserDefaults 65 | 66 | 67 | NSPrivacyAccessedAPITypeReasons 68 | 69 | C617.1 70 | 71 | NSPrivacyAccessedAPIType 72 | NSPrivacyAccessedAPICategoryFileTimestamp 73 | 74 | 75 | 76 | 77 | -------------------------------------------------------------------------------- /ios/RCTJCoreModule/jcore-ios-5.0.1.xcframework/ios-arm64_x86_64-simulator/libJCore.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpush/jcore-react-native/2584a65944e3ebfcef86a0168f4229f4dbfe73eb/ios/RCTJCoreModule/jcore-ios-5.0.1.xcframework/ios-arm64_x86_64-simulator/libJCore.a -------------------------------------------------------------------------------- /package-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "jcore-react-native", 3 | "version": "1.9.6", 4 | "lockfileVersion": 2, 5 | "requires": true, 6 | "packages": { 7 | "": { 8 | "name": "jcore-react-native", 9 | "version": "1.9.6", 10 | "license": "ISC" 11 | } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name" : "jcore-react-native", 3 | "description": "React Native JCore component for Android and iOS", 4 | "homepage" : "https://github.com/jpush/jcore-react-native", 5 | "author" : "wicked.tc130", 6 | "license" : "ISC", 7 | "main" : "index.js", 8 | "version" : "2.3.0", 9 | "repository" : { 10 | "type": "git", 11 | "url": "https://github.com/jpush/jcore-react-native" 12 | }, 13 | "keywords" : [ 14 | "react-native", 15 | "jiguang", 16 | "JCore" 17 | ], 18 | "peerDependencies": { 19 | "react-native": ">= 0.60" 20 | } 21 | } 22 | --------------------------------------------------------------------------------