{"id":29193182,"url":"https://github.com/ironcorelabs/ironoxide-swift","last_synced_at":"2025-07-02T02:08:27.864Z","repository":{"id":59252610,"uuid":"254454961","full_name":"IronCoreLabs/ironoxide-swift","owner":"IronCoreLabs","description":"IronCore Labs SDK for Swift Applications","archived":false,"fork":false,"pushed_at":"2022-11-11T17:41:40.000Z","size":437,"stargazers_count":2,"open_issues_count":1,"forks_count":0,"subscribers_count":6,"default_branch":"main","last_synced_at":"2024-03-26T05:03:42.356Z","etag":null,"topics":["cryptography","proxy-re-encryption","swift","transform-encryption"],"latest_commit_sha":null,"homepage":"https://ironcorelabs.com/docs","language":"Swift","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/IronCoreLabs.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-04-09T18:59:45.000Z","updated_at":"2024-03-26T05:03:42.357Z","dependencies_parsed_at":"2023-01-22T19:45:42.535Z","dependency_job_id":null,"html_url":"https://github.com/IronCoreLabs/ironoxide-swift","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"purl":"pkg:github/IronCoreLabs/ironoxide-swift","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IronCoreLabs%2Fironoxide-swift","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IronCoreLabs%2Fironoxide-swift/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IronCoreLabs%2Fironoxide-swift/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IronCoreLabs%2Fironoxide-swift/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/IronCoreLabs","download_url":"https://codeload.github.com/IronCoreLabs/ironoxide-swift/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IronCoreLabs%2Fironoxide-swift/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263061404,"owners_count":23407606,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cryptography","proxy-re-encryption","swift","transform-encryption"],"created_at":"2025-07-02T02:08:26.948Z","updated_at":"2025-07-02T02:08:27.832Z","avatar_url":"https://github.com/IronCoreLabs.png","language":"Swift","funding_links":[],"categories":[],"sub_categories":[],"readme":"# IronOxide Swift\n\nSwift SDK for using IronCore Labs from your iOS mobile applications.\n\n## Setup (iOS)\n\n- Install `libironoxide` via Homebrew with `brew install IronCoreLabs/ironcore/ironoxide`.\n- Within XCode, go to `File \u003e Swift Packages \u003e Add Package Dependency`. Put in the URL for this GitHub repo and select the latest version to use. Then go to your build target `Build Phases \u003e Dependencies` and select `IronOxide` from the list. Then you'll be able to `import IronOxide` into your XCode project.\n\n## SDK Documentation\n\nDocumentation for the latest GitHub tag can be viewed at https://ironcorelabs.github.io/ironoxide-swift/.\n\n## Version Compatibility\n\nThe following table shows the compatibility between the version of this Swift library and the required version of the `ironoxide` Homebrew library.\n\n| ironoxide-swift | Homebrew `ironoxide` |\n| --------------- | -------------------- |\n| 0.16.x          | 0.15.0               |\n| 0.15.0          | 0.14.7               |\n| 0.14.0          | 0.14.2               |\n| 0.13.2          | 0.13.2               |\n\n## Building and Testing on MacOS/Linux\n\nBuilding and testing this library to run on MacOS/Linux varies pretty heavily depending on what architecture you are building for.\n\n- Install Swift via the [recommended method](https://swift.org/getting-started/#installing-swift). You should have at least Swift 5.2 installed.\n- This repo requires artifacts from building the [IronOxide Swig Bindings repo](https://github.com/IronCoreLabs/ironoxide-swig-bindings) so you'll need to have that repo checked out.\n- Build the C/C++ bindings within your `ironoxide-swig-bindings/cpp` checkout. This will generate a bunch of C/C++ header files in a `sdk/generated` folder as well as generate a library binary in the `ironoxide-swig-bindings/target/release/` directory.\n  - `cargo build --release`\n- Add a symlink in your `/usr/local/lib` directory to point to the `.dylib` or `.so` created above.\n  - `ln -s /path/to/ironoxide-swig-bindings/target/release/libironoxide.dylib libironoxide.dylib` (or to `libironoxide.so` for Linux).\n- Add a symlink in your `/usr/local/include/` directory to point to the C header files directory above.\n  - `ln -s /path/to/ironoxide-swig-bindings/cpp/generated/sdk ironoxide`\n- Copy `ironoxide.pc.in` to your `/usr/local/lib/pkgconfig` (or `/usr/lib/pkgconfig` on Linux) directory.\n  - `cp /path/to/ironoxide-swig-bindings/cpp/ironoxide.pc.in ironoxide.pc`\n- Replace `%PREFIX%` in `ironoxide.pc` from previous step with `/usr/local`\n  - `sed -i 's/%PREFIX%/\\/usr\\/local/' ironoxide.pc`\n- Now you can compile this project via `swift build`. If successful this should generate a `.build` directory. You should also be able to run the tests via `swift test` as well (Linux users will need to run `swift test --enable-test-discovery`).\n\n## VSCode Setup\n\n- Install [SwiftLint](https://github.com/realm/SwiftLint) and [SwiftFormat](https://github.com/nicklockwood/SwiftFormat) binaries.\n- Install the [SwiftLint](https://marketplace.visualstudio.com/items?itemName=vknabel.vscode-swiftlint) and [SwiftFormat](https://marketplace.visualstudio.com/items?itemName=vknabel.vscode-swiftformat) extensions. If you don't have it enabled already, enable the `Format on Save` option in VSCode.\n- Clone the [sourcekit-lsp extension](https://github.com/apple/sourcekit-lsp). Then follow the [instructions](https://github.com/apple/sourcekit-lsp/tree/master/Editors/vscode) for how to build and install the extension into VSCode. In order for this extension to work you'll need to have the `sourcekit-lsp` binary that came with your Swift installation in your path.\n\n## Generating Docs\n\nWe use [jazzy](https://github.com/realm/jazzy) to generate an HTML version of our API docs. Jazzy requires Ruby and can be installed with `[sudo] gem install jazzy`.\nOn a Mac, the docs can be generated simply by running `jazzy --module IronOxide` from the root of the repository. This will generate a `docs/` folder that contains the html files. To run jazzy on Linux, additional steps for installing and running can be found [here](https://github.com/realm/jazzy#linux). Documentation for this library is automatically updated via a GitHub action that runs when a new tag is pushed. The docs are hosted via GitHub Pages via the `gh-pages` branch of this repo.\n\nCopyright (c) 2021 IronCore Labs, Inc. All rights reserved.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fironcorelabs%2Fironoxide-swift","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fironcorelabs%2Fironoxide-swift","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fironcorelabs%2Fironoxide-swift/lists"}