如何将 iOS React Native 模板转换为 Swift?

2023-11-27

我一直在阅读有关 React Native 的内容,并决定尝试一下,我在 Swift 方面很有经验,但从未尝试过 Objective C,所以我想将模板项目转换为使用 AppDelegate.swift

我按照这个接受的答案中的解决方案进行操作:纯粹用 Swift 来 React Native 应用程序,但是当我运行该项目时我所拥有的只是黑屏

有谁知道如何将模板转换为 Swift?我可以直接从 React Native 调用 swift 代码而不需要任何桥接头吗?

我正在运行 React Native 0.52 顺便说一句


经过几次尝试,我找到了如何让它与 React Native 0.52 一起工作

1 - 删除 AppDelegate.m、AppDelegate.h 和 main.m

2 - 创建一个新的 AppDelegate.swift,当它询问您是否要创建 Objective-C 桥头时,只需说“是”

3 - 将以下内容复制到 Bridging-Header.h 文件中:

#import <React/RCTBridgeModule.h>
#import <React/RCTBridge.h>
#import <React/RCTEventDispatcher.h>
#import <React/RCTRootView.h>
#import <React/RCTUtils.h>
#import <React/RCTConvert.h>
#import <React/RCTBundleURLProvider.h>

4 - 在 AppDelegate.swift 文件中使用以下代码并编辑项目名称:

@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {
  var window: UIWindow?
  var bridge: RCTBridge!

  func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
    let jsCodeLocation: URL

    jsCodeLocation = RCTBundleURLProvider.sharedSettings().jsBundleURL(forBundleRoot: "index", fallbackResource:nil)
    let rootView = RCTRootView(bundleURL: jsCodeLocation, moduleName: "YOUR-PROJECT-NAME", initialProperties: nil, launchOptions: launchOptions)
    let rootViewController = UIViewController()
    rootViewController.view = rootView

    self.window = UIWindow(frame: UIScreen.main.bounds)
    self.window?.rootViewController = rootViewController
    self.window?.makeKeyAndVisible()

    return true
  }
}

5 - 不要忘记将“YOUR-PROJECT-NAME”替换为您的实际项目名称

6 - 奔跑吧!快乐编码:)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何将 iOS React Native 模板转换为 Swift? 的相关文章

  • 为什么performSegueWithIdentifier在viewDidLoad中不起作用?

    我试图在视图控制器上调用 viewDidLoad 后立即触发故事板转场 Segue 附加了一个标识符 当从链接到按钮或其他控件的方法内部调用时 它可以正常工作 但它在 viewDidLoad 内部不起作用 它只是默默地失败了 viewDid
  • 如何在iOS中处理1到3个手指的滑动手势

    我使用以下代码来处理代码中的 1 根手指滑动 UISwipeGestureRecognizer swipe UISwipeGestureRecognizer alloc initWithTarget self action selector
  • iOS、通用链接、Swift。 continueUserActivity 未调用

    我正在为我们的 iOS 应用程序实现通用链接 这是我的一小部分 AppDelegate private func application application UIApplication openURL url URL sourceApp
  • 从 UIPickerView 的选定行设置 UIButton 的标题

    详细场景是这样的 我使用循环创建 10 个按钮并设置 0 9 的标签 点击每个按钮时 我将调用 UIPickerView 在其中加载来自不同数组的数据 到这里我就得到了预期的结果 但我希望 pickerView 中选定的行应设置为相应按钮的
  • 错误域=kAFAssistantErrorDomain 代码=209“(空)”

    我面临着一个问题SFSpeechRecognizer 启动应用程序几秒钟后 我开始收到错误消息 错误域 kAFAssistantErrorDomain 代码 209 空 和 错误 域 kAFAssistantErrorDomain 代码 2
  • 每 24 小时触发一次方法

    我正在尝试每天在给定时间触发一个方法 我尝试了一些方法 但我无法真正使其发挥作用 任何意见 将不胜感激 此外 如果无论应用程序是否打开它都会触发 那就更理想了 这可能吗 UI本地通知 http developer apple com lib
  • 无法在 Swift 中对闭包进行弱引用

    Update 我试着不弱化地写一下 好像也没有漏的情况 所以也许这个问题已经没有必要了 在 Objective C ARC 中 当你想让一个闭包能够在闭包内部使用它自己时 该块不能捕获对自身的强引用 否则它将是一个保留循环 因此您可以使闭包
  • CALayer边框奇怪问题

    我正在向 CALayer 添加边框 但有一些奇怪的行为 在我应用的边框之后出现模糊边框 参见屏幕截图 这是我的代码 void configureLabel self hidden YES self textAlignment NSTextA
  • dyld:无法加载插入的库

    当我尝试运行 UI 和单元测试时 出现异常 dyld 无法加载插入的库 private var containers Bundle Application AutoTestingApp app Frameworks IDEBundleInj
  • Swift,以编程方式更改 UICollectionViewCell 和 UILabel(单元格内)的宽度

    我已将单元格 UICollectionViewCell 的宽度设置为等于 UICollectionView 的宽度 并且我尝试对该单元格中包含的 UILabel 执行完全相同的操作 我认为下面的代码准确地解释了我想要实现的目标 所以我在这里
  • 为什么 iOS 启动屏幕很慢?

    我的 iOS 应用程序启动屏幕大约需要 3 5 秒 我有一张将在启动屏幕后加载的地图 我的用户必须等待启动屏幕加载 然后再等待 3 秒才能加载地图 有没有办法最大限度地减少启动屏幕时间 基本上这种延迟意味着you在启动过程中做了一些非常错误
  • 在 iPhone 3GS 与 iPhone 4 上为 Mobile Safari 嵌入 HTML5 视频

    我在服务器上的 mp4 文件中有 H 264 AAC 编码的视频 mime 类型的视频 mp4 添加到 Web 服务器 IIS 7 并且我有一个带有视频标签的页面
  • UIViewControllerAnimatedTransitioning:旋转更改后黑屏片段

    我已经创建了一个视图控制器转换 只要我不更改设备方向 一切都正常 图 1 显示了应有的屏幕 然后我切换到下一个视图控制器 在其中更改方向 现在我回到第一个视图控制器并再次切换方向 然后我得到的结果如图 2 所示 出现黑色边框 请不要介意屏幕
  • watchOS 错误:控制器接口描述中的未知属性

    我将 WKInterfacePicker 添加到情节提要中 并将其连接到界面控制器中的 IBOutlet 运行应用程序时 它在控制台中显示一条错误消息 控制器的接口描述 watchPicker 中的未知属性 Code interface I
  • 如何在button.addTarget操作中发送多个按钮?斯威夫特3

    如何将button和button2发送到我的pressButton2函数中 当用户触摸按钮2时 我需要更改按钮和按钮2的颜色 当我的 button2 addTarget 看起来像这样时 我收到错误 表达式列表中存在预期表达式 import
  • 在实例化对象之前是否可以检查故事板中是否存在标识符?

    在我的代码中我有这一行 但我想知道是否有办法检查是否 一些控制器 在我将它与 一起使用之前就存在实例化ViewControllerWithIdentifier 方法 如果标识符不存在 则应用程序崩溃 如果没有好的方法 这并不是一个大问题 我
  • 如何在react-native中获取Text组件的onPress值

    我是一名新的 React Native 开发人员 我想使用 onPress 获取 Text 组件的值并将其传递给函数
  • 使用 MapKit 的地形和卫星视图

    我是 Mapkit View 的新手 当我给出没有目的地的纬度和经度时 我想显示 MapKit中是否可以通过地形 卫星视图来显示地图 有教程链接吗 我看过一些访问 Google 地图 API html 文件 的示例 有必要吗 或者您可以通过
  • 条件在反应本机生产中失败,但在开发中有效

    我创建了一个反应本机应用程序 我需要通过它进行比较 如果属实 就会执行死刑 问题是 该条件适用于 React Native 开发模式 而不适用于 React Native 生产版本 我使用 firebase 作为数据库 也使用 redux
  • ios - 如何声明静态变量? [复制]

    这个问题在这里已经有答案了 C 中声明的静态变量如下 private const string Host http 80dfgf7c22634nbbfb82339d46 cloudapp net private const string S

随机推荐

  • Xamarin EditText 输入类型 密码

    我有一些EditText从 JSON 文件创建的字段 因此我无法更改 XML 文件 但我想要一些EditText输入类型为 密码 的字段 我在 Xamarin Studio 中使用 C 工作 我得到了类似的东西 但不起作用 editText
  • 如何在引导程序中将徽章放置在“媒体”的右下角?

    使用引导程序media功能 我如何放置badge在媒体块图像的右下角 所以它在图像的顶部 有了这样的标记 div class media a class pull left href img class media object src h
  • 使用 AppleScript 修改设置/系统首选项

    我正在尝试制作一个可以切换空间自动重新排列的 AppleScript 我能够让 AppleScript 打开系统首选项并进入任务控制设置 但是我不确定如何选中我想要更改的框 tell application System Preferenc
  • 根据路线动态插入 CSS 类到导航栏

    Vue 2 和 Vue Router 2 我正在尝试根据访问的路线更改应用程序导航栏的颜色 这是我所拥有的 main js import App from components App vue const app new Vue route
  • Excel VBA 打开 Word 模板,填充,然后在其他位置另存为 .docx 文件

    我创建了一个带有占位符 例如 的 Word 模板 然后我可以将其自动替换为 Excel 宏 当我再次尝试此过程时 Word 文档现在打开 显示它是只读文档 我该如何保存我的 Word 模板以便对其进行编辑 另外 当我通过excel宏打开wo
  • 尝试使用 GNU GMP 库中的类型作为 Bison 的 yylval 类型时出错

    我正在尝试使用该类型mpz t来自 GMP 库的类型yylval通过在 Bison 文件中包含以下内容 define api value type mpz t 我检查了生成的解析器 它正确生成了该行typedef mpz t YYSTYPE
  • Django 1.4 - {{ request.user.username}} 不在模板中呈现

    在我看来 我可以打印request user username 但是在模板中 request user username 不会出现 为了简单起见 我从函数中删除了逻辑 并导入 render to response 和 RequestCont
  • 错误“超出最大更新深度。当组件在 useEffect 中调用 setState 时可能会发生这种情况”

    每当调用我的购物车组件 也如下所示 时 我都会遇到此错误 重复数千次 直到页面崩溃 index js 1 Warning Maximum update depth exceeded This can happen when a compon
  • 如何根据依赖关系进行排序?

    我有一个类 其中包含指向相同基类型的其他类的 依赖项 列表 class Foo Base dependencies class Bar Base dependencies Foo class Baz Base dependencies Ba
  • PyInstaller 文件无法执行脚本 - DistributionNotFound

    我正在尝试使用 PyInstaller 将 python 文件转换为可执行文件 该程序使用谷歌云翻译 API在语言之间翻译给定文本 跑步时python quicktrans py在终端中 程序运行良好 然后我跑了pyinstaller qu
  • Xcode - 未连接配置的 iOS 设备

    今天下午我正在使用 Xcode 并在我的设备上调试应用程序 效果很好 当我从办公室回到家并插入手机继续工作时 XCode 将不再让我在设备上进行调试 我收到的错误是 Error Starting Executable No provisio
  • Pandas 最大值指数

    我有一个混合了屏幕名称 推文 收藏夹等的 Pandas DataFrame 我想找到 favcount 的最大值 我已经完成了 并返回该 推文 的屏幕名称 df pd DataFrame df timestamp timestamp df
  • SSRS如何添加新行

    我正在从这样的存储过程创建一个字符串Name1 Name2 Name 3 等等 该字符串位于一列中 我想在 SSRS 报告中的新行中显示这些名称 例如 Name1 Name2 Name3 我尝试将字符串更改为 Name1 VbCrlf Na
  • 从 http 基本身份验证中排除特定的 cakephp 控制器

    我试图排除路径 URI 被基本 http 身份验证阻止 路径是 rest http example com rest 并代表 cakephp 3 应用程序的控制器 它不是一个真实的文件 而是一个由重写条件重写并由 webroot 目录中的
  • r sf包多边形内的质心

    我需要向多边形添加标签 并且通常使用质心 但是质心不会落在多边形内 我发现这个问题计算 SpatialPolygon 内 内部的质心但我正在使用 sf 包 下面是玩具数据 rm list ls all TRUE start with emp
  • 绘制矩形和Interface Builder之间的颜色差异?

    简而言之 我在界面生成器中有 2 个视图 其中一个使用界面生成器中的 RGB 滑块设置为颜色 99 99 99 另一个视图以编程方式着色以实现某种形状 我使用以下方式填充它 Obviously this is in drawRect UIC
  • 如何修改非常大的 zip 中的单个文件而不重写整个 zip?

    我有包含巨大文件的大型 zip 文件 zip 存档中有一些需要修改的 元数据 文本文件 但是 无法提取整个 zip 并重新压缩它 我需要在 zip 中找到目标文本文件 对其进行编辑 并可能将更改附加到 zip 文件中 文本文件的文件名始终相
  • 从 Option>> 解开并访问 T

    我正在尝试用 Rust 解决一些 Leetcode 问题 然而 我在使用 LeetCode 时遇到了一些困难TreeNode执行 use std cell RefCell use std rc Rc TreeNode data struct
  • Android:WebView的方法goBack()显示空白页面

    我有一个 Android 应用程序 它使用 WebView 在活动中加载网页 我正在使用手动检索页面并使用 WebView 的使用BaseURL加载数据将其显示在屏幕上 那里的一切都很好 现在 我尝试覆盖 后退 按钮按下以模拟在 WebVi
  • 如何将 iOS React Native 模板转换为 Swift?

    我一直在阅读有关 React Native 的内容 并决定尝试一下 我在 Swift 方面很有经验 但从未尝试过 Objective C 所以我想将模板项目转换为使用 AppDelegate swift 我按照这个接受的答案中的解决方案进行