- 1.4.0 and master220.127.116.11.04.2
- 1.4.0 and masteriOSmacOS(Intel)macOS(ARM)LinuxtvOSwatchOS
Manage resources for iOS application
将 app 资源打包加密进行管理。
Package resources to a single file, and access them via file name as key.
ResourcePackage is available through CocoaPods. To install it, simply add the following line to your Podfile:
git clone https://github.com/1Fr3dG/ResourcePackage.git cd ResourcePackage cd packager swift build -c release .build/release/packager
可使用该打包工具将资源目录打包为单个文件供 app 使用。
This tool designed to package a resource folder to a single file, for used by app.
Note: This tool support only gzip as compress algorithm, you can build your own tool to support more.
let _compress: SimpleEncrypter = EncrypterCompress(with: "gzip") let _encrypt: SimpleEncrypter = EncrypterXor(with: "password12345") let _pkgfile: String = "filename" let pkg = ResourcePackage(with: _pkgfile, encrypter: _encrypt, compressor: _compress)
let pkgReader = ResourcePackageReader( withCache: false, useTwoStepLocating: false, autoDeviceCustomization: false, useKeyPrefix: false) pkgReader.packages["pkg1"] = pkg let themePkgReader = ResourcePackageReader(withTheme theme: String, FromThemePackages respkg: ["themePkg1" : themePkg], withBackwardTheme backward: "default")
let stringValue = String(data:pkgReader[keyofString], encoding: .utf8) let imageValue = UIImage(data:pkgReader[keyofImage])
resource package priority is reverse order of package key
pkgReader[key] will looking for resource with following order:
** NOTE: it will ONLY search the package with [key] resource **
for two step locating, sufix will NOT applied for 2nd search, but all packages will be included
uibutton.loadTheme(from: themePkgReader, key: "button1") uilable.setText(from: themePkgReader, key: "labeltext") uiimageview.setImage(from: themePkgReader, key: "image1")
pkgReader.playSound(key: "asound", withVibrate: false) pkgReader.playMusic("bgmusic.mp3", loops: 1, volume: 0.8)
ResourcePackage is available under the MIT license. See the LICENSE file for more info.