gpt4 book ai didi

ios - BRAOfficeDocumentPackage 未声明的类型

转载 作者:搜寻专家 更新时间:2023-10-30 22:18:46 25 4
gpt4 key购买 nike

作为 swift/ios 开发的初学者,我目前正在尝试安装这个库 https://github.com/renebigot/XlsxReaderWriter在我的 swift 代码中,我按照那里指示的步骤将桥接 header 链接到 swift,但是 BRAOfficeDocumentPackage 仍然是未声明的类型。说明中是否有不清楚或遗漏的内容?

最佳答案

这是我尝试的解决方案。我遇到了同样的问题,并确定这是由于桥接 header 未被读取,并被静默跳过。

我是这样解决的:在我添加“发布”设置的任何地方,我都添加了相同的“调试”设置。

我的步骤和演示项目在这里: https://github.com/joelparkerhenderson/demo_swift_excel_xlsx_reader_writer

我将我的 README.md 复制到这里,以便可以在这里搜索它。


演示 Swift Excel Xlsx Reader Writer

XlsxReaderWriter是一个使用 Excel OpenXml 文件 (XLSX) 的 Objective-C 库。

创建这个演示

创建一个新项目。

获取存储库:

git clone --depth=1 https://github.com/renebigot/XlsxReaderWriter.git

我们将存储库放在与演示项目的 xcodeproject 相同的文件夹中:

Demo Swift Xsls Reader Writer/XlsxReaderWriter

将 XlsxReaderWriter.xcodeproj 添加到您的项目中。

添加依赖:

  • 目标 -> 演示 -> 构建阶段 -> 目标依赖
  • 添加 XslxReaderWriter -> XslxReaderWriter

链接二进制文件:

  • 目标 -> 演示 -> 构建阶段 -> 将二进制文件与库链接。
  • 添加libXlsxReaderWriter.a
  • 添加libz.tbd。这比官方文档所说的更新,即添加名为 libz.dylib 的旧版本。

链接:

  • 项目 -> 演示 -> build设置 -> 链接 -> 其他链接器标志
  • ->(调试和发布)-> (+) -> 任何架构 |任何SDK
  • 添加:-all_load

搜索路径:

  • 项目 -> 演示 -> build设置 -> 搜索路径 -> 用户标题搜索路径
  • ->(调试和发布)-> (+) -> 任何架构
  • 将其设置为:$(SRCROOT)/XlsxReaderWriter/ 而不是 $(SRCROOT)/XlsxReaderWriter/XlsxReaderWriter/
  • 选择“递归”。

桥接头:

  • 将新文件添加到 Xcode(文件 > 新建 > 文件),然后选择“源”并单击“头文件”。
  • 我们喜欢文件名Bridge.h
  • 添加此文本:#import "XlsxReaderWriter-swift-bridge.h"

添加网桥:

  • 项目 -> 演示 -> build设置 -> Swift 编译器 - 代码生成 -> Objective-C 桥接 header
  • ->(调试和发布)-> (+) -> 任何架构 |任何 SDK -> 添加:Bridge.h

验证:

  • 运行项目。
  • 它应该编译并启动一个空白模拟器。

加载 Excel 文件

使用您自己的 Excel 软件或任何 Excel 兼容软件创建 Excel 文件。

  • 例如,创建DemoWorkbook.xlsx 并将其保存在存储库中。
  • 例如,在单元格 A1 中,键入单词“Alpha”。

编辑ViewController.swift:

import UIKit

class ViewController: UIViewController {

override func viewDidLoad() {
super.viewDidLoad()
let documentPath: String = NSBundle.mainBundle().pathForResource("DemoWorkbook", ofType: "xlsx")!
let spreadsheet: BRAOfficeDocumentPackage = BRAOfficeDocumentPackage.open(documentPath)
let worksheet: BRAWorksheet = spreadsheet.workbook.worksheets[0] as! BRAWorksheet
let string: String = worksheet.cellForCellReference("A1").stringValue()
print(string) // The Xcode console should now show the word "Alpha"
}

override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}

}

验证:

  • 运行项目。
  • 它应该编译并启动一个空白模拟器。
  • Xcode 控制台现在应该显示“Alpha”一词。

关于ios - BRAOfficeDocumentPackage 未声明的类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37453086/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com