Skip to content

Commit

Permalink
Update references to moved Apple Developer Forums thread (#336)
Browse files Browse the repository at this point in the history
  • Loading branch information
dfed authored Feb 19, 2025
1 parent 838b010 commit 6edf988
Show file tree
Hide file tree
Showing 2 changed files with 2 additions and 2 deletions.
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -206,7 +206,7 @@ Valet guarantees that reading and writing operations will succeed as long as wri
1. Initializing a Valet with shared access group Valet when the shared access group identifier is not in your entitlements file.
1. Using `SecureEnclaveValet` on an iOS device that doesn’t have a Secure Enclave. The Secure Enclave was introduced with the [A7 chip](https://www.apple.com/business/docs/iOS_Security_Guide.pdf), which [first appeared](https://en.wikipedia.org/wiki/Apple_A7#Products_that_include_the_Apple_A7) in the iPhone 5S, iPad Air, and iPad Mini 2.
1. Running your app in DEBUG from Xcode. Xcode sometimes does not properly sign your app, which causes a [failure to access keychain](https://github.com/square/Valet/issues/10#issuecomment-114408954) due to entitlements. If you run into this issue, just hit Run in Xcode again. This signing issue will not occur in properly signed (not DEBUG) builds.
1. Running your app on device or in the simulator with a debugger attached may also [cause an entitlements error](https://forums.developer.apple.com/thread/4743) to be returned when reading from or writing to the keychain. To work around this issue on device, run the app without the debugger attached. After running once without the debugger attached the keychain will usually behave properly for a few runs with the debugger attached before the process needs to be repeated.
1. Running your app on device or in the simulator with a debugger attached may also [cause an entitlements error](https://forums.developer.apple.com/forums/thread/4743) to be returned when reading from or writing to the keychain. To work around this issue on device, run the app without the debugger attached. After running once without the debugger attached the keychain will usually behave properly for a few runs with the debugger attached before the process needs to be repeated.
1. Running your app or unit tests without the application-identifier entitlement. Xcode 8 introduced a requirement that all schemes must be signed with the application-identifier entitlement to access the keychain. To satisfy this requirement when running unit tests, your unit tests must be run inside of a host application.
1. Attempting to write data larger than 4kb. The Keychain is built to securely store small secrets – writing large blobs is not supported by Apple's Security daemon.
Expand Down
2 changes: 1 addition & 1 deletion Sources/Valet/KeychainError.swift
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ public enum KeychainError: Int, CaseIterable, CustomStringConvertible, Error, Eq
case itemNotFound
/// The application does not have the proper entitlements to perform the requested action.
/// This may be due to an Apple Keychain bug. As a workaround try running on a device that is not attached to a debugger.
/// - SeeAlso: https://forums.developer.apple.com/thread/4743
/// - SeeAlso: https://forums.developer.apple.com/forums/thread/4743
case missingEntitlement
/// The key provided is empty.
case emptyKey
Expand Down

0 comments on commit 6edf988

Please sign in to comment.