RSDKUtils 4.2.0

RSDKUtils 4.2.0

RInAppMessagingRakuten MAG 维护。



RSDKUtils 4.2.0

  • Rakuten Ecosystem Mobile

Build Status Quality Gate Status

RSDKUtils

Rakuten SDK 团队内部实用工具模块

RSDKUtils 模块包含在 SDK 开发中使用的有用工具、扩展和常见类。

RSDKUtils 由 4 个子模块组成

  • 主模块 - 包含用于各种目的(如网络、数据存储和标准类扩展)的最常用工具。
  • TestHelpers - 包含有用的模拟和 XCTest 扩展。
  • Nimble - 添加了额外的 Nimble 期望,如 toAfterTimeout
  • RLogger - 用于管理您的日志消息的工具。

此模块支持以下操作系统

  • iOS 12.0 及以上版本(包括扩展上下文)
  • watchOS 6.0 及以上版本
  • macOS 10.13 及以上版本

此模块已在 iOS 12.0 及以上版本上进行测试。

要求

Xcode 12.5.x 或 Xcode 13+

支持 Swift >= 5.4。

注意:SDK 可能可以在较早版本的 Xcode 上构建,但未正式支持或测试。

如何安装

使用 CocoaPods 安装

要使用其基本配置中的模块,你的 Podfile 应包含

# Defined also as 'RSDKUtils/Main'
pod 'RSDKUtils', :git => '~> 4.0.0'

要使用其他功能,请将这些相应的子规范添加到你的 Podfile

pod 'RSDKUtils/TestHelpers', '~> 4.0.0'
pod 'RSDKUtils/Nimble', '~> 4.0.0'
pod 'RSDKUtils/RLogger', '~> 4.0.0'

运行 pod install 安装模块。
有关安装 pods 的更多信息:https://guides.cocoapods.org.cn/using/getting-started.html

使用 Swift Package Manager 安装

在 Xcode 中打开你的项目设置,然后在 'Swift Packages' 选项卡中添加一个新的包

  • 仓库 URL:https://github.com/rakutentech/ios-sdkutils.git
  • 版本设置:分支 master 或 4.0.0 "Up to Next Major"

为你的目标选择以下产品之一

  • RSDKUtilsMain
  • RSDKUtilsTestHelpers
  • RSDKUtilsNimble
  • RLogger

使用 SDK

为了使用可用的实用工具,你需要在源文件中添加 import 语句

用 Cocoapods 安装

import RSDKUtils

用 SPM 安装

根据您要使用的产品,添加一个或多个 import

import RSDKUtilsMain
import RSDKUtilsNimble
import RSDKUtilsTestHelpers
import RLogger

测试模块

您可以将模块作为 Swift Package 和 Cocoapod 进行测试。

测试 Cocoapod

运行 pod install,然后打开 RSDKUtils.xcworkspace 并运行 Tests 目标。

测试 Swift Package

在 Xcode 中打开 Package.swift,选择 iOS 模拟器和运行 Tests 目标。

⚠️ 警告:由于漏洞 https://bugs.swift.org/browse/SR-13773,目前无法使用命令行测试。

swift package clean
swift test -Xswiftc "-sdk" -Xswiftc `xcrun --sdk iphonesimulator --show-sdk-path` -Xswiftc "-target" -Xswiftc "x86_64-apple-ios14.5-simulator"

故障排除

  • 在运行测试时出现 dyld: Symbol not found: 错误(Cocoapods 版本)

这通常发生在 TestHelpersNimble 子规范仅链接到测试目标的情况下,而宿主应用目标同时链接到同一 RSDKUtils 子规范。更多信息可以在这里找到:[CocoaPods/CocoaPods#7195](https://github.com/CocoaPods/CocoaPods/issues/7195)
解决方案是将 TestHelpersNimble 规范显式链接到宿主应用目标,或者作为 testspecs 链接。

target 'HostAppTarget'
  pod 'RSDKUtils', '~> 4.0.0', :testspecs => ['Nimble', 'TestHelpers']
end