2021-11-22 14:17:03 -08:00
# bdk-swift
2022-11-21 12:59:09 -06:00
This project builds a Swift package that provides [Swift] language bindings for the
[`bdk` ] library. The Swift language bindings are created by the [`bdk-ffi` ] project which is included as a module of this repository.
2021-11-24 14:27:07 -08:00
## How to Use
2022-11-21 12:59:09 -06:00
To use the Swift language bindings for [`bdk` ] in your [Xcode] iOS or MacOS project add
the github repository https://github.com/bitcoindevkit/bdk-swift and select one of the
release versions. You may then import and use the `BitcoinDevKit` library in your Swift
2021-11-24 14:57:41 -08:00
code. For example:
2021-11-24 14:27:07 -08:00
```swift
import BitcoinDevKit
...
2022-11-21 12:59:09 -06:00
```
Note: the Swift Package Manager package for `bdk-swift` is located in it's own repository (https://github.com/bitcoindevkit/bdk-swift), and that is where releases are created for it. But the code that generates the bindings is located in the https://github.com/bitcoindevkit/bdk-ffi repo in the `bdk-swift/` directory.
### How to test
```shell
swift test
2021-11-24 14:27:07 -08:00
```
2022-03-02 20:17:11 -08:00
### Example Projects
2022-11-21 12:59:09 -06:00
* TBD
2022-03-02 20:17:11 -08:00
2021-11-24 14:27:07 -08:00
## How to Build and Publish
2022-11-21 12:59:09 -06:00
If you are a maintainer of this project or want to build and publish this project to your
own Github repository use the following steps:
If you are a maintainer of this project or want to build and publish this project to your
2021-11-24 14:57:41 -08:00
own Github repository use the following steps:
2021-11-24 14:27:07 -08:00
2022-11-21 12:59:09 -06:00
1. If it doesn't already exist, create a new `release/0.MINOR` branch from the `master` branch.
2. Add a tag `v0.MINOR.0` .
3. Run the `publish-spm` workflow on Github from the `bdk-swift` repo for version `0.MINOR.0` .
2021-11-24 14:27:07 -08:00
2021-11-24 14:57:41 -08:00
[Swift]: https://developer.apple.com/swift/
[Xcode]: https://developer.apple.com/documentation/Xcode