Tag: Nativemodules

为IOS实现本机模块:React-Native

React native是一个功能强大的工具,因为它可以让我们使用本地代码(iOS中为Swift / Obj-C,Android中为Java / Kotlin)并桥接它们以访问我们的react-native JavaScript文件中的本地方法。 当您构建反应本机尚不支持的内容,或者您​​不想使用JavaScript重写某些旧的本机代码时,此功能真的非常有用。 我遇到过这样一种情况,我想为WebView清除所有cookie,但是在react-native中没有任何方法可以实现这一点。 ios Native Module中的示例都在Objective-C中,我想使用Swift来实现。 首先,在YourReactNativeProject / ios / YourReactNativeProject.xcodeproj或YourReactNativeProject / ios / YourReactNativeProject.xcworkspace下打开用于React-native的ios项目,如果您之前安装过Pod。 首先创建一个新的swift文件,并将其命名为项目目录下的CookieManager。 创建Swift文件时,系统会提示您创建桥接头。 在桥接标题内添加导入语句 #import“ RCTBridgeModule.h” 在您的CookieManager.swift文件中 进口基金会 @objc(CookieManager) 类CookieManager:NSObject { @objc func clearCookies()->无效{ //删除所有缓存 URLCache.shared.removeAllCachedResponses() //删除任何关联的cookie 如果让cookie = HTTPCookieStorage.shared.cookies { 用于Cookie中的Cookie { HTTPCookieStorage.shared.deleteCookie(cookie) } } } } 不幸的是,我们必须提供一个Objective-C文件,以便将Swift暴露给React Native Objective-C框架。 创建一个新的Objective-C文件,并将其命名为CookieManagerBridge 在CookieManagerBridge.m文件中,您可以公开CookieManager类和clearCookies方法 #import #import“ […]