Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: Exclude macOS-only Keychain symbol for iOS compatibility #204

Merged
merged 1 commit into from
May 8, 2024

Conversation

gezihuzi
Copy link
Contributor

@gezihuzi gezihuzi commented May 8, 2024

Inclusion of the kSecMatchSubjectWholeString symbol when compiling for iOS, which is not supported according to Apple's documentation, is prevented. Conditional compilation directives are added to ensure that builds targeted for iOS do not use macOS exclusive Keychain functionalities.

This adjustment resolves a compilation failure encountered following an update of the 'rust-security-framework' dependency, thereby enhancing the cross-platform compatibility of the SDK.

Inclusion of the `kSecMatchSubjectWholeString` symbol when compiling for iOS, which is not supported according to Apple's documentation, is prevented. Conditional compilation directives are added to ensure that builds targeted for iOS do not use macOS exclusive Keychain functionalities.

This adjustment resolves a compilation failure encountered following an update of the 'rust-security-framework' dependency, thereby enhancing the cross-platform compatibility of the SDK.
@gezihuzi
Copy link
Contributor Author

gezihuzi commented May 8, 2024

This PR resolves #203

@kornelski kornelski merged commit f27b7f3 into kornelski:main May 8, 2024
dani-garcia added a commit to bitwarden/sdk that referenced this pull request Jun 3, 2024
## 📔 Objective

I'm having compile errors running the iOS build, caused by the latest
version of the `security-framework` crate including some MacOS symbols
into the iOS binary.

The bug is [fixed
upstream](kornelski/rust-security-framework#204)
but there haven't been any releases since then, so for now the best
course of action is to pin the crate to the previous working version.

## ⏰ Reminders before review

- Contributor guidelines followed
- All formatters and local linters executed and passed
- Written new unit and / or integration tests where applicable
- Protected functional changes with optionality (feature flags)
- Used internationalization (i18n) for all UI strings
- CI builds passed
- Communicated to DevOps any deployment requirements
- Updated any necessary documentation (Confluence, contributing docs) or
informed the documentation
  team

## 🦮 Reviewer guidelines

<!-- Suggested interactions but feel free to use (or not) as you desire!
-->

- 👍 (`:+1:`) or similar for great changes
- 📝 (`:memo:`) or ℹ️ (`:information_source:`) for notes or general info
- ❓ (`:question:`) for questions
- 🤔 (`:thinking:`) or 💭 (`:thought_balloon:`) for more open inquiry
that's not quite a confirmed
  issue and could potentially benefit from discussion
- 🎨 (`:art:`) for suggestions / improvements
- ❌ (`:x:`) or ⚠️ (`:warning:`) for more significant problems or
concerns needing attention
- 🌱 (`:seedling:`) or ♻️ (`:recycle:`) for future improvements or
indications of technical debt
- ⛏ (`:pick:`) for minor or nitpick changes
@pablogeek
Copy link

pablogeek commented Jun 13, 2024

when is this going to be released?

This pull request was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants