Skip to content

Commit

Permalink
Fix: Fatal Error: try! (#7)
Browse files Browse the repository at this point in the history
  • Loading branch information
MalcolmnDEV committed Sep 22, 2021
1 parent b5ab550 commit 370366e
Show file tree
Hide file tree
Showing 5 changed files with 19 additions and 8 deletions.
7 changes: 7 additions & 0 deletions .swiftpm/xcode/package.xcworkspace/contents.xcworkspacedata

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 5 additions & 1 deletion CHANGELOG.md
Expand Up @@ -18,4 +18,8 @@

# 1.0.3
### Added
- Added `setRawObject(_:forKey)`
- Added `setRawObject(_:forKey)`

# 1.0.6
### Fixed
- Crash with `fatal error: 'try!' expression unexpectedly raised`
4 changes: 2 additions & 2 deletions README.md
Expand Up @@ -96,7 +96,7 @@ pod 'SecureDefaults', '1.0.0' # Swift 4.2
Add this to `Cartfile`

```ruby
github "vpeschenkov/SecureDefaults" == 1.0.5 # Swift 5.0
github "vpeschenkov/SecureDefaults" == 1.0.6 # Swift 5.0
github "vpeschenkov/SecureDefaults" == 1.0.0 # Swift 4.2
```

Expand All @@ -116,7 +116,7 @@ import PackageDescription
let package = Package(
name: "YourProject",
dependencies: [
.package(url: "https://github.com/vpeschenkov/SecureDefaults", "1.0.4")
.package(url: "https://github.com/vpeschenkov/SecureDefaults", "1.0.6")
],
targets: [
.target(name: "YourProject", dependencies: ["SecureDefaults"])
Expand Down
2 changes: 1 addition & 1 deletion SecureDefaults.podspec
@@ -1,6 +1,6 @@
Pod::Spec.new do |s|
s.name = 'SecureDefaults'
s.version = '1.0.5'
s.version = '1.0.6'
s.summary = 'A lightweight wrapper over UserDefaults/NSUserDefaults with an extra AES-256 encryption layer'
s.homepage = 'https://github.com/vpeschenkov/SecureDefaults'
s.license = { :type => 'MIT', :file => 'LICENSE' }
Expand Down
8 changes: 4 additions & 4 deletions Sources/SecureDefaults/SecureDefaults.swift
Expand Up @@ -211,11 +211,11 @@ public class SecureDefaults: UserDefaults {
private var suitename: String?

private lazy var decrypter = {
return try! AES256(key: self.key, iv: self.IV)
return try? AES256(key: self.key, iv: self.IV)
}()

private lazy var encrypter = {
return try! AES256(key: self.key, iv: self.IV)
return try? AES256(key: self.key, iv: self.IV)
}()

private var _key: Data? {
Expand Down Expand Up @@ -261,7 +261,7 @@ public class SecureDefaults: UserDefaults {
private func secretObject(forKey defaultName: String) -> Any? {
let object = super.object(forKey: defaultName)
if let object = object {
let decrypted = try! decrypter.decrypt(object as! Data)
guard let decrypted = try? decrypter?.decrypt(object as! Data) else { return nil }
let data = NSKeyedUnarchiver.unarchiveObject(with: decrypted)
return data
}
Expand All @@ -271,7 +271,7 @@ public class SecureDefaults: UserDefaults {
private func setSecret(_ value: Any?, forKey defaultName: String) {
if let value = value {
let data = NSKeyedArchiver.archivedData(withRootObject: value)
super.set(try! encrypter.encrypt(data), forKey: defaultName)
super.set(try? encrypter?.encrypt(data), forKey: defaultName)
return
}
super.set(nil, forKey: defaultName)
Expand Down

0 comments on commit 370366e

Please sign in to comment.