Conversation
2801566 to
4d75109
Compare
|
Maybe forgot to mark as a shared scheme? |
1482857 to
82f5a6e
Compare
.travis.yml
Outdated
| @@ -1,10 +1,9 @@ | |||
| language: objective-c | |||
| osx_image: xcode6.4 | |||
| osx_image: xcode7.3 | |||
There was a problem hiding this comment.
since we're going to be using Swift 3, we'll need to go to xcode8
Gemfile
Outdated
| source 'https://rubygems.org' | ||
|
|
||
| gem 'cocoapods', '0.39.0' | ||
| gem 'cocoapods', '1.0.1' |
There was a problem hiding this comment.
you'll need 1.1.0.rc.2 at a minimum to support Swift 3
|
After a way-too-long hiatus, Eric and I are back and working on this PR. There's a lot to do, but we're starting with getting our Swift Valet tests up and running on Xcode 9 GM Seed using Swift 3.2. Once we're building with Swift 3.2, we'll likely change the tests to Swift 4. Our high-level plan is still the same as we outlined in #84. |
7586397 to
a08298f
Compare
522b3e1 to
bf651bc
Compare
| import Foundation | ||
|
|
||
|
|
||
| public enum SynchronizableAccessibility: CustomStringConvertible { |
There was a problem hiding this comment.
possible to protocolize instead?
There was a problem hiding this comment.
also, possibly better spot (maybe not): internal enums to the two classes where we can only expose a subset like this? (synchronizable, secureenclave)
Valet/SynchronizableValet.swift
Outdated
| import Foundation | ||
|
|
||
|
|
||
| @available(iOS 7.0.3, macOS 10.9, *) |
Valet/SynchronizableValet.swift
Outdated
|
|
||
|
|
||
| @available(iOS 7.0.3, macOS 10.9, *) | ||
| /// Reads and writes keychain elements that are synchronized with iCloud (supported on devices on iOS 7.0.3 and later). |
There was a problem hiding this comment.
comment also outdated 😂
Valet/SynchronizableValet.swift
Outdated
|
|
||
| @available(iOS 7.0.3, macOS 10.9, *) | ||
| /// Reads and writes keychain elements that are synchronized with iCloud (supported on devices on iOS 7.0.3 and later). | ||
| public final class SynchronizableValet: NSObject, KeychainQueryConvertible { |
There was a problem hiding this comment.
devil's advocate - could we de-duplicate some of this?
There was a problem hiding this comment.
now that we've done this, subclass feels more valid. or.... base Valet but with a different flavor/accessibility
ValetTests/SynchronizableTests.swift
Outdated
| // The iPhone simulator fakes entitlements, allowing us to test the iCloud Keychain (VALSynchronizableValet) code without writing a signed host app. | ||
| #if (arch(i386) || arch(x86_64)) && os(iOS) | ||
| // Until we can write a signed host app on macOS, we can only test the iCloud Keychain (SynchronizableValet) code on iOS. | ||
| #if os(iOS) |
There was a problem hiding this comment.
I'm a bit nervous about removal of the simulator #if logic here - e.g. I think unit tests can be run on device and these will fail unless the build is signed
a5c41ca to
3bc4eb7
Compare
6e4396a to
9d359e9
Compare
7ca2678 to
d233d39
Compare
Tests/ValetTests.swift
Outdated
| } | ||
| } | ||
|
|
||
| class func iCloudPermutations(_ identifier: Identifier, shared: Bool = false) -> [Valet] { |
There was a problem hiding this comment.
would use with identifier rather than just _ identifier. Unnamed vars confuse me
Tests/SynchronizableTests.swift
Outdated
| valet.removeAllObjects() | ||
| let identifier = SynchronizableTests.identifier | ||
| let allPermutations = Valet.iCloudPermutations(identifier) + Valet.iCloudPermutations(identifier, shared: true) | ||
| _ = allPermutations.map { testValet in testValet.removeAllObjects() } |
|
🎉 ✨ 🕺 |
|
🎈🎉🔒 |
The one where emuller flails around making things Schwifty

cc @dfed @emish @brianpartridge
#84