R.swift 用于 Swift:完整指南及示例
\n\n1. 这是什么以及为什么需要它
\n\nR.swift 是一个用于 Swift 语言的强大库,它为您的 iOS/macOS/tvOS/watchOS 应用程序资源提供类型安全(type-safe)的访问。您无需使用字符串字面量来引用图像、字体、颜色、本地化字符串和其他资源,R.swift 会为它们生成严格类型化的结构体。这意味着编译器可以在编译阶段检查资源名称的正确性,而不是在应用程序运行时才检查。\n
\n\n为什么需要它?在标准的 Apple 开发中,您经常编写类似 UIImage(named: "myImage") 或 NSLocalizedString("hello_key", comment: "") 的代码。如果您在文件名或本地化键中拼写错误,应用程序只会在运行时崩溃。R.swift 从根本上解决了这个问题:代码生成后,您可以像访问生成结构体的属性一样访问资源。例如:R.image.myImage 或 R.string.localizable.helloKey()。编译器会立即指出不存在的资源,而 Xcode 会提供自动补全功能。\n
\n此外,R.swift 会自动处理资源目录(Asset Catalogs)、.strings 文件、.storyboard、.xib、.json、.plist、字体、颜色甚至数据文件(Data)。这使得代码更简洁、更安全,并通过 Xcode 的自动补全功能显著加快开发速度。该库得到社区积极维护,并被全球数千个项目使用。\n
\n2. 安装
\n\nR.swift 可以通过 Swift Package Manager (SPM) 或 CocoaPods 安装。我们推荐使用 SPM,因为它是 Swift 项目的现代标准。\n
\n\n通过 Swift Package Manager (SPM) 安装
\n通过 Xcode 将包添加到您的项目:
\n- \n
- 在 Xcode 中打开您的项目。 \n
- 转到 File > Add Packages...。 \n
- 粘贴 URL:
https://github.com/mac-cain13/R.swift\n - 选择版本(建议使用最新的稳定版),然后点击 Add Package。 \n
- 确保该包已添加到您的主目标中。 \n
您也可以手动添加到 Package.swift:
// swift-tools-version:5.7\nimport PackageDescription\n\nlet package = Package(\n name: "YourProject",\n dependencies: [\n .package(url: "https://github.com/mac-cain13/R.swift", from: "7.0.0")\n ],\n targets: [\n .target(\n name: "YourTarget",\n dependencies: [\n .product(name: "RswiftLibrary", package: "R.swift")\n ]\n )\n ]\n)\n\n\n通过 CocoaPods 安装
\n如果您使用 CocoaPods,请在 Podfile 中添加:
platform :ios, '13.0'\nuse_frameworks!\n\ntarget 'YourApp' do\n pod 'R.swift', '~> 7.0'\nend\n\n然后执行命令:
\npod install\n\n\n配置 Build Phase(必须!)
\n安装后,您需要在目标的 Build Phases 中添加一个 Run Script Phase:
\n- \n
- 转到您目标的 Build Phases。 \n
- 点击 + 并选择 New Run Script Phase。 \n
- 将此阶段拖放到 Compile Sources 阶段 之前 执行。 \n
- 在脚本字段中粘贴以下内容: \n
"$PODS_ROOT/R.swift/rswift" generate "$SRCROOT/R.generated.swift"\n\n如果您使用 SPM,脚本将如下所示:
\n"${BUILD_DIR%/Build/*}/SourcePackages/checkouts/R.swift/rswift" generate "$SRCROOT/R.generated.swift"\n\n项目构建后,将生成文件 图书馆中也有