Skip to content

Commit

Permalink
[Valet 4.0] Development Branch (#199)
Browse files Browse the repository at this point in the history
* Do not build branch build on every push on PR branches

* Update cocoapods

* Start validating podspec on Xcode 11

* Drop Xcode 9 and 10 support

* Swift version to 5.0

* Bump minor version of osx_image on .travis.yml in order to access simulators for older OSes

* Bump destination for iOS 11 to get CI working

* Update tests to reflext iOS 13 simulator's inability to store items that require a passcode to be set

* Enable running CI on iOS 10, tvOS 10, and watchOS 3

* Allow kSecAttrService to be a customer-friendly string on Mac

* Add a section to the README on choosing the best identifier on a Mac

* Update README documentation on choosing a user-friendly identifier

* Add ObjC compat layer for new initializers

* Remove Always accessibility specifier

* Ensure test environment is signed before testing shared access keychain

* Add migration helper methods

* Use throws rather than return types to indicate error.

* Get rid of ErrorHandler

* couldNotReadKeychain -> .couldNotAccessKeychain

* Make Objective-C bridging methods for accessing values with prompt redundant

* Swift 5 updates

* Bring API in line with Apple's naming guidelines

* Adopt Swift 5 syntax, and enable support for SinglePromptSecureEnclaveValet on tvOS

* Fix migrateObjectsFromAlwaysAccessible methods

* Fix warning introduced by merge

* Bump version to 4.0.0

* Get new migration methods working with Catalina

* Update README

* Set up code coverage

* Run more tests on a single machine

* Standardize method naming

* Run test coverage on every target

* Modernize doc comments

* Remove returns

* Use SeeAlso

* Modernize doc comments

* Add Warning

* Add objc example

* findOrCreate(explicitlySet must use a key that combines service, configuration, accessibility, and sharedAccessGroup to prevent returning the wrong Valet

* Utilize testEnvironmentIsSigned before using shared keychains

* Use explicitlySetSharedAccessGroupIdentifier when dealing with shared access groups

* removeAllObjects() to avoid collisions in tests

* Fail test on setup failure

* Update whitespace

* containsObject(forKey should throw in Swift

* Introduce Throws doc comment

* Catch closer to the source

* Add simple Objective-C compatibility layer tests

* Update copyright

* Fixup whitespace

* try? less in tests

* If deleting items throws, then we should surface the failure.

* Remove runtime assert, since we will throw the error anyways

* Update Mac tests to use try on containsObject

* Add description to KeychainError

* Fix macOS tests after throwing on removeAllObjects in setUp

* Increase test coverage of error files

* Use permutation valet rather than vanillaValet multiple times

* Indentation and test separation

* Add comment re why we're checking for errSecInteractionNotAllowed

* Better comment formatting

* Use Throws rather than Note

* Add final to test classes

* Rename internal containsObject methods to performCopy

* [Valet 4.0] Add explicit tests for CloudAccessibility (#210)

* [Valet 4.0] Get SinglePromptSecureEnclaveIntegrationTests running on tvOS (#209)

* Get SinglePromptSecureEnclaveIntegrationTests running on tvOS

* Make SinglePromptSecureEnclaveValet available on tvOS 11, not tvOS 10

* [Valet 4.0] Add explicit tests for Configuration (#211)

* Use CaseIterable instead of allValues where possible (#212)

* Get ValetTouchIDTest building again

* Require that App ID Prefix be explicitly passed into Shared Access Group Valets (#218)

* Require that App ID Prefix be explicitly passed into Shared Access Group Valets

* Add App ID prefix to tests

* Create and adopt SharedAccessGroupIdentifier

* Update documentation

* [Valet 4.0] Update migration guide (#221)

* Update migration guide for Valet 4.0

* NickEntin feedback

Co-Authored-By: Nick Entin <[email protected]>

* Remove version from Package.swift (#223)

* Add headerdoc comment for removing an object from the keychain

* Update headerdoc comments for parameters of type SharedAccessGroupIdentifier

* Update headerdoc comment for migration method

* Update headerdoc comments for objc compatibility methods

* Rename MigrationError cases with `InQueryResult` to `ToMigrate` (#227)

* Rename InQueryResult -> ToMigrate

* Update comments

* Fix typo in README (#229)

* Create 'Changing an Accessibility Value After Persisting Data' section in README (#232)

* Use correct Valet name in README example

* Create Changing an Accessibility Value After Persisting Data section

* Get watchOS tests running locally (#233)

* Support sharing keychain items using App Groups (#230)

* Add App Group group.valet.test

* Update syntax for Swift 5

* Enable SharedAccessGroup code to semantically handle AppGroups. Rename SharedAccessGroup -> SharedGroup

* README updates

* Add sharedAppGroupIdentifier tests to Valet

* Add sharedAppGroupIdentifier test to SecureEnclave

* Add sharedAppGroupIdentifier test to SinglePromptSecureEnclave

* Add objective-c compatibility layer
  • Loading branch information
dfed authored Jun 13, 2020
1 parent e58ecab commit dfcf1fd
Show file tree
Hide file tree
Showing 53 changed files with 3,583 additions and 1,801 deletions.
51 changes: 23 additions & 28 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,37 +6,32 @@ script:
- ./Scripts/ci.sh
matrix:
include:
- osx_image: xcode11
env: ACTION="swift-package";PLATFORMS="iOS_13,tvOS_13,macOS_10_15,watchOS_6";
- osx_image: xcode11
env: ACTION="xcode";PLATFORMS="iOS_13,tvOS_13,macOS_10_15,watchOS_6";
- osx_image: xcode11.3
env: ACTION="xcode";PLATFORMS="iOS_10,tvOS_10,watchOS_3";
after_success:
- bash <(curl -s https://codecov.io/bash) -J '^Valet$' -D .build/derivedData/iOS_13 -t 5165deef-da9c-443d-90ea-bb0620bffe44
- bash <(curl -s https://codecov.io/bash) -J '^Valet$' -D .build/derivedData/tvOS_13 -t 5165deef-da9c-443d-90ea-bb0620bffe44
- bash <(curl -s https://codecov.io/bash) -J '^Valet$' -D .build/derivedData/macOS_10_15 -t 5165deef-da9c-443d-90ea-bb0620bffe44
- osx_image: xcode11
env: ACTION="carthage"

- osx_image: xcode10.2
env: ACTION="xcode";PLATFORMS="iOS_12,tvOS_12,macOS_10_14,watchOS_5";
- bash <(curl -s https://codecov.io/bash) -J '^Valet$' -D .build/derivedData/iOS_10 -t 5165deef-da9c-443d-90ea-bb0620bffe44
- bash <(curl -s https://codecov.io/bash) -J '^Valet$' -D .build/derivedData/tvOS_10 -t 5165deef-da9c-443d-90ea-bb0620bffe44
- osx_image: xcode11.3
env: ACTION="xcode";PLATFORMS="iOS_11,tvOS_11,watchOS_4";
after_success:
- bash <(curl -s https://codecov.io/bash) -J '^Valet$' -D .build/derivedData/iOS_12 -t 5165deef-da9c-443d-90ea-bb0620bffe44
- bash <(curl -s https://codecov.io/bash) -J '^Valet$' -D .build/derivedData/tvOS_12 -t 5165deef-da9c-443d-90ea-bb0620bffe44
- bash <(curl -s https://codecov.io/bash) -J '^Valet$' -D .build/derivedData/macOS_10_14 -t 5165deef-da9c-443d-90ea-bb0620bffe44
- osx_image: xcode10.2
env: ACTION="pod-lint";SWIFT_VERSION="5.0"
- osx_image: xcode10.2
env: ACTION="carthage"

- osx_image: xcode9
env: ACTION="xcode";PLATFORMS="iOS_11,tvOS_11,macOS_10_13,watchOS_4";
- bash <(curl -s https://codecov.io/bash) -J '^Valet$' -D .build/derivedData/iOS_11 -t 5165deef-da9c-443d-90ea-bb0620bffe44
- bash <(curl -s https://codecov.io/bash) -J '^Valet$' -D .build/derivedData/tvOS_11 -t 5165deef-da9c-443d-90ea-bb0620bffe44
- osx_image: xcode11.3
env: ACTION="xcode";PLATFORMS="iOS_12,tvOS_12,watchOS_5";
after_success:
- bash <(curl -s https://codecov.io/bash) -J '^Valet$' -D .build/derivedData/iOS_12 -t 5165deef-da9c-443d-90ea-bb0620bffe44
- bash <(curl -s https://codecov.io/bash) -J '^Valet$' -D .build/derivedData/tvOS_12 -t 5165deef-da9c-443d-90ea-bb0620bffe44
- osx_image: xcode11.3
env: ACTION="xcode";PLATFORMS="iOS_13,tvOS_13,macOS_10_15,watchOS_6";
after_success:
- bash <(curl -s https://codecov.io/bash) -J '^Valet$' -D .build/derivedData/iOS_11 -t 5165deef-da9c-443d-90ea-bb0620bffe44
- bash <(curl -s https://codecov.io/bash) -J '^Valet$' -D .build/derivedData/tvOS_11 -t 5165deef-da9c-443d-90ea-bb0620bffe44
- bash <(curl -s https://codecov.io/bash) -J '^Valet$' -D .build/derivedData/macOS_10_13 -t 5165deef-da9c-443d-90ea-bb0620bffe44
- osx_image: xcode9
env: ACTION="pod-lint";SWIFT_VERSION="4.0"
- osx_image: xcode9
- bash <(curl -s https://codecov.io/bash) -J '^Valet$' -D .build/derivedData/iOS_13 -t 5165deef-da9c-443d-90ea-bb0620bffe44
- bash <(curl -s https://codecov.io/bash) -J '^Valet$' -D .build/derivedData/tvOS_13 -t 5165deef-da9c-443d-90ea-bb0620bffe44
- bash <(curl -s https://codecov.io/bash) -J '^Valet$' -D .build/derivedData/macOS_10_15 -t 5165deef-da9c-443d-90ea-bb0620bffe44
- osx_image: xcode11.3
env: ACTION="swift-package";PLATFORMS="iOS_13,tvOS_13,macOS_10_15,watchOS_6";
- osx_image: xcode11.3
env: ACTION="pod-lint";SWIFT_VERSION="5.0"
- osx_image: xcode11.3
env: ACTION="carthage"

branches:
Expand Down
2 changes: 1 addition & 1 deletion Gemfile
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
source 'https://rubygems.org' do
gem 'cocoapods', '~> 1.7.0'
gem 'cocoapods', '~> 1.8.0'
end
35 changes: 21 additions & 14 deletions Gemfile.lock
Original file line number Diff line number Diff line change
@@ -1,56 +1,63 @@
GEM
remote: https://rubygems.org/
specs:
CFPropertyList (3.0.0)
CFPropertyList (3.0.1)
activesupport (4.2.11.1)
i18n (~> 0.7)
minitest (~> 5.1)
thread_safe (~> 0.3, >= 0.3.4)
tzinfo (~> 1.1)
algoliasearch (1.27.1)
httpclient (~> 2.8, >= 2.8.3)
json (>= 1.5.1)
atomos (0.1.3)
claide (1.0.2)
cocoapods (1.7.0)
claide (1.0.3)
cocoapods (1.8.4)
activesupport (>= 4.0.2, < 5)
claide (>= 1.0.2, < 2.0)
cocoapods-core (= 1.7.0)
cocoapods-core (= 1.8.4)
cocoapods-deintegrate (>= 1.0.3, < 2.0)
cocoapods-downloader (>= 1.2.2, < 2.0)
cocoapods-plugins (>= 1.0.0, < 2.0)
cocoapods-search (>= 1.0.0, < 2.0)
cocoapods-stats (>= 1.0.0, < 2.0)
cocoapods-trunk (>= 1.3.1, < 2.0)
cocoapods-trunk (>= 1.4.0, < 2.0)
cocoapods-try (>= 1.1.0, < 2.0)
colored2 (~> 3.1)
escape (~> 0.0.4)
fourflusher (>= 2.2.0, < 3.0)
fourflusher (>= 2.3.0, < 3.0)
gh_inspector (~> 1.0)
molinillo (~> 0.6.6)
nap (~> 1.0)
ruby-macho (~> 1.4)
xcodeproj (>= 1.8.2, < 2.0)
cocoapods-core (1.7.0)
xcodeproj (>= 1.11.1, < 2.0)
cocoapods-core (1.8.4)
activesupport (>= 4.0.2, < 6)
algoliasearch (~> 1.0)
concurrent-ruby (~> 1.1)
fuzzy_match (~> 2.0.4)
nap (~> 1.0)
cocoapods-deintegrate (1.0.4)
cocoapods-downloader (1.2.2)
cocoapods-downloader (1.3.0)
cocoapods-plugins (1.0.0)
nap
cocoapods-search (1.0.0)
cocoapods-stats (1.1.0)
cocoapods-trunk (1.3.1)
cocoapods-trunk (1.4.1)
nap (>= 0.8, < 2.0)
netrc (~> 0.11)
cocoapods-try (1.1.0)
colored2 (3.1.2)
concurrent-ruby (1.1.5)
escape (0.0.4)
fourflusher (2.2.0)
fourflusher (2.3.1)
fuzzy_match (2.0.4)
gh_inspector (1.1.3)
httpclient (2.8.3)
i18n (0.9.5)
concurrent-ruby (~> 1.0)
minitest (5.11.3)
json (2.2.0)
minitest (5.13.0)
molinillo (0.6.6)
nanaimo (0.2.6)
nap (1.1.0)
Expand All @@ -59,7 +66,7 @@ GEM
thread_safe (0.3.6)
tzinfo (1.2.5)
thread_safe (~> 0.1)
xcodeproj (1.9.0)
xcodeproj (1.13.0)
CFPropertyList (>= 2.3.3, < 4.0)
atomos (~> 0.1.3)
claide (>= 1.0.2, < 2.0)
Expand All @@ -70,7 +77,7 @@ PLATFORMS
ruby

DEPENDENCIES
cocoapods (~> 1.7.0)!
cocoapods (~> 1.8.0)!

BUNDLED WITH
1.17.3
3 changes: 1 addition & 2 deletions Package.swift
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,5 @@ let package = Package(
name: "Valet",
dependencies: []),
],
swiftLanguageVersions: [.v4, .v4_2, .v5]
swiftLanguageVersions: [.v5]
)
let version = Version(3, 2, 8)
Loading

0 comments on commit dfcf1fd

Please sign in to comment.