LZMA for iOS and Mac OS X (Intel & Apple Silicon M1) - arm64 / x86_64
支持的版本:5.4.5
此仓库提供构建用于 iOS 和 macOS 应用的静态 liblzma 库的通用脚本。实际的库版本来自https://github.com/tukaani-project/xz,标签为 'v5.4.5'。
原因
当前 MacOSX SDK 包含 liblzma.tbd 以及与 tukaani-project/xz 产品相关的一些头文件集。但这组头文件并不完整。缺少一些头文件,在 tbd 中也缺少相应的功能(例如 lzma_str_to_filters() 函数)。但最糟糕的是,无法将此 tbd 嵌入到苹果商店分发项目中的 iOS 项目中。苹果公司认为该库的所有定义都是“非公开符号”并拒绝了提交。
先决条件
- 必须安装 Xcode,因为 xcodebuild 用于创建 xcframeworks。
xcode-select -p
必须指向Xcode应用的开发者目录(默认情况下例如:/Applications/Xcode.app/Contents/Developer)。如果它指向CommandLineTools目录,则应执行:sudo xcode-select --reset
或sudo xcode-select -s /Applications/Xcode.app/Contents/Developer
- CMake(至少版本3.13)必须安装(例如,通过brew install cmake安装)
如何构建?
- 手动
# clone the repo
git clone -b 5.4.5 https://github.com/apotocki/lzma-iosx
# build libraries
cd lzma-iosx
scripts/build.sh
# have fun, the result artifacts will be located in 'frameworks' folder.
- 使用cocoapods。将以下行添加到您的Podfile中
use_frameworks!
pod 'lzma-iosx', '~> 5.4.5'
# or optionally more precisely
# pod 'lzma-iosx', :git => 'https://github.com/apotocki/lzma-iosx', :tag => '5.4.5.0'
安装新依赖项
pod install --verbose
作为一则广告…
该项目构建的LZMA XCFramework正在我的iOS应用(App Store上的应用)中使用
PotoHEX 十六进制文件查看器与编辑器 | |
此应用程序旨在以字节或字符级别查看和编辑文件;计算不同的散列值,编码/解码,以及压缩/解压缩所需的字节区域。
您可以通过尝试应用来支持我的开源开发。
欢迎反馈!