Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/SDWebImage/libjxl-Xcode

A wrapper for libjxl (JPEG-XL) with Xcode project. Support Carthage && CocoaPods && SwiftPM.
https://github.com/SDWebImage/libjxl-Xcode

ios jpeg jpeg-xl swift-package-manager tvos visionos watchos

Last synced: 17 days ago
JSON representation

A wrapper for libjxl (JPEG-XL) with Xcode project. Support Carthage && CocoaPods && SwiftPM.

Awesome Lists containing this project

README

        

# libjxl + Xcode

A wrapper for [libjxl](https://github.com/libjxl/libjxl) + Xcode project.

This enables Carthage support.

This also contains the Swift Package Manager support.

[![Carthage compatible](https://img.shields.io/badge/Carthage-compatible-4BC51D.svg?style=flat)](https://github.com/SDWebImage/libjxl-Xcode)
[![SwiftPM compatible](https://img.shields.io/badge/SwiftPM-compatible-brightgreen.svg)](https://swift.org/package-manager/)

## Platforms

+ iOS 9+
+ macOS 10.11+
+ tvOS 9.0+
+ watchOS 2.0+
+ visionOS 1.0+

## Notes

1. v0.10.0 will compile failed on watchOS simulator because of missing C++ thread_local(See: https://github.com/libjxl/libjxl/issues/3345). Build watchOS armv7k/arm64_32 and test on device instead.

## Installation

#### CocoaPods

libjxl is available through [CocoaPods](http://cocoapods.org). To install it, simply add the following line to your Podfile:

```ruby
pod 'libjxl'
```

### Carthage

libjxl is (via this repo) available through [Carthage](https://github.com/Carthage/Carthage).

```
github "SDWebImage/libjxl-Xcode"
```

### SwiftPM

Libjxl is available through [Swift Package Manager](https://swift.org/documentation/package-manager/).

```swift
let package = Package(
dependencies: [
.package(url: "https://github.com/SDWebImage/libjxl-Xcode", from: "0.10.0")
],
// ...
)
```

## Usage

Use libjxl as you would normally, this is just a repo that adds an Xcode proj.

For Swift Package Manager user, it's recommended to use the modular import instead of C headers.

+ Objective-C

```objective-c
@import libjxl;
// or if you don't use module
#import
#import
```

+ Swift

```swift
import libjxl
```

## License

libjxl is available under the BSD 3-Clause license. See [the LICENSE file](https://github.com/libjxl/libjxl/blob/main/LICENSE) for more info.