Commit graph

234 commits

Author SHA1 Message Date
Bradley Walters
6f5385fe4a
Force weak linking of CryptoTokenKit (#543)
Apple's CryptoTokenKit is only present in iOS 13.0+ however it exports
symbols with availability annotations going back to iOS 10.0.

In the Pass app we have a deployment target of iOS 12.0. Apple's
automatic weak linking system apparently only looks at the
symbol-level availability annotations so it assumes the symbols
we use will always be present (even though they won't pre-iOS-13).

We can work around this issue by forcing weak linking using the
"Optional" framework setting. (Note that this workaround would not
work if CryptoTokenKit was used from a third-party swift package.)

This is necessary to restore iOS 12 support after #533.

For further history see https://github.com/mssun/passforios/issues/539
2022-05-22 22:35:53 -07:00
Mingshen Sun
90f1f54a21 Fix building issue 2022-05-22 21:40:35 -07:00
Danny Moesch
2e951497ad
Update ObjectiveGit to version 0.17-passforios (#545) 2022-02-05 11:01:39 -08:00
Danny Moesch
71260f52aa
Update ObjectivePGP to version 0.99.2 (#544) 2022-02-04 20:54:36 -08:00
Mingshen Sun
955e50c3d3
Initial implementation of using YubiKey for decryption (#533) 2022-01-09 21:38:39 -08:00
Mingshen Sun
13804b79e6 Version bump to 0.13.0 2022-01-07 10:04:40 -08:00
Danny Moesch
819371f55e
Remove unused elements (#530) 2021-12-30 22:35:17 -08:00
Mingshen Sun
ff6a1edf62 Add confirmation prompt for removing keys (fix #491) 2021-12-29 16:19:12 -08:00
Mingshen Sun
c0582c8dba Embed SVProgressHUD framework 2021-12-28 19:28:38 -08:00
Danny Moesch
e5bd678aaa
Consume ObjectiveGit through a binary Swift package (#528) 2021-12-28 15:17:11 -08:00
Danny Moesch
cdedff0d4d
Use SwiftFormat version 0.49.x and enable some new rules (#527) 2021-12-27 17:57:11 -08:00
Mingshen Sun
08ce198334 Update OneTimePassword dependency 2021-12-27 17:19:48 -08:00
Danny Mösch
32b7c9b635
Some cleanup especially regarding method references (#516)
* Remove superfluous method arguments in method references

* Use 'Self' for internal static access

* Convert static to instance field in singleton class

* Remove class name prefix in references to local methods

* Remove nested frameworks in all extensions and frameworks
2021-10-02 20:46:07 -07:00
Danny Mösch
e1cbcb5d7a
Add notification action to copy OTP or just inform about the copied OTP (#513)
* Add notification action to copy OTP or just inform about the copied OTP

The notification either shows the current OTP which can be copied by a notification action or it shows just a hint to inform about the copied OTP. This depends on the new option "autoCopyOTP".

* Extract method

* Set type and style one-time
2021-10-01 10:32:14 -07:00
Mingshen Sun
f2ab400f4b
Support Steam OTP (#505) 2021-09-06 10:47:04 -07:00
Mingshen Sun
228f06a886
Fix Invalid Bundle issues in Swift Package 2021-08-31 18:21:36 -07:00
Mingshen Sun
a01e6116a2
Fix Invalid Bundle issues in Swift Package 2021-08-31 11:32:31 -07:00
Mingshen Sun
2afd533393 Fix CFBundleIdentifier Collision and Invalid Bundle issues when uploading to App Store Connect 2021-08-31 00:32:17 -07:00
Danny Mösch
77ca3ff383
Remove duplicate bundles from build products (#501)
Due to a bug in Xcode using SPM, dependencies used in internal frameworks are present multiple times in the built product. See for example:

    https://forums.swift.org/t/swift-package-binary-framework-issue/41922/3
    https://stackoverflow.com/questions/40005130/error-itms-90685-cfbundleidentifier-collision-there-is-more-than-one-bundle

This "hack" removes them from the internal framework and only includes all of them in the main application.
2021-08-30 15:00:06 -07:00
Danny Mösch
032436fa70
Move to Swift Package Manager disregarding Cocoapods (#496)
* Build as many dependencies as possible with SPM.
* Xcworkspace is no longer needed.
* Collecting coverage information does unfortunately cause linking errors in Base32. So it is disabled for now.
2021-08-30 09:41:29 -07:00
Danny Moesch
942f462db8 Move class to own file 2021-08-27 22:03:00 -07:00
Danny Moesch
93954f3bec Use ProtonMail's GopenPGP library
This allows for a simpler setup and the usage of a recent version of Go. The library provides a build script which creates an XCFramework containing binaries for multiple target architectures. The gnu-dummy.patch is taken from mssun/gopenpgp. The forks are not needed anymore.
2021-06-20 12:30:14 +02:00
Danny Moesch
867931ab89 Update project settings by running 'pod install' 2021-04-27 23:21:22 +02:00
Danny Moesch
a2facbd51d Make sure that extensions only access extension APIs
This otherwise cause an error on Xcode 12.5.
2021-04-27 23:18:03 +02:00
Danny Moesch
0f2d7639c9 Ignore 'umbrella header for module ... does not include header ...' warning 2021-03-07 16:42:08 -08:00
Mingshen Sun
68077bf04c
Rewrite PasswordViewController 2021-01-17 19:49:05 -08:00
Mingshen Sun
8e66b2905b
Version bump to 0.12.0 2021-01-11 12:34:31 -08:00
Mingshen Sun
776884e894
Refactor and merge code of extensions 2021-01-10 13:40:17 -08:00
Mingshen Sun
3ecb35e701
Use PasswordTableViewCell for all password entries 2021-01-05 20:54:51 -08:00
Mingshen Sun
a8facbdb6b
Version bump to 0.11.0 2021-01-05 14:47:44 -08:00
Mingshen Sun
29d74c48e5
Support selects a credential identity from the QuickType bar 2021-01-03 15:08:15 -08:00
Mingshen Sun
40ac070232
Rewrite AutoFill extension 2020-12-31 21:46:50 -08:00
Danny Moesch
7c558a893a Apply recommended Xcode settings 2020-12-23 19:59:26 -08:00
Danny Moesch
e688c1bdd9 Get rid of warning
The warning is "warning: linking against dylib not safe for use in application extensions". It should be safe in our case.
2020-09-19 18:52:27 -07:00
Danny Moesch
8459af4196 Use correct bundle ID for extensions in beta app 2020-09-06 20:44:46 -07:00
Danny Moesch
6044098278 Refactor GitCredential to simplify it and to add tests 2020-09-06 20:12:36 -07:00
Danny Moesch
56b7b24fce Move Crypto functionality back to passKit 2020-09-06 17:59:55 -07:00
Danny Moesch
078503f249 Combine key scanning logic in one class 2020-08-31 14:05:19 -07:00
Danny Moesch
9b38cc0437 Skip SwiftLint and SwiftFormat runs on CI build
Unfortunately, there seems to be no simpler way to tell a script in Xcode that it runs on CI.
2020-08-28 16:42:30 -07:00
Danny Moesch
ea304f963c Remove passTest target as it is empty now 2020-08-28 16:42:30 -07:00
Danny Moesch
3197ef39a3 Use SwiftLint version 0.40.x 2020-08-28 16:42:30 -07:00
Danny Moesch
77216abe14 Enable SwiftLint rule 'nesting' and fix all violations 2020-08-28 16:42:30 -07:00
Danny Moesch
f139f45370 Enable SwiftLint rule 'empty_xctest_method' and fix all violations 2020-08-28 16:42:30 -07:00
Danny Moesch
bd64c7078a Add SwiftLint config which does not cause any violations 2020-08-28 16:42:30 -07:00
Danny Moesch
7f9f0e43b2 Format code with SwiftFormat automatically in every build 2020-08-25 15:10:13 -07:00
Mingshen Sun
a92940e610
Add beta distrubution channel 2020-07-19 18:25:21 -07:00
Danny Moesch
4c2693e2c7 Name classes/structs consistently 2020-04-19 13:42:41 -07:00
Mingshen Sun
fcc8961e46
Fix fail-safe mechanism for other decryption scenarios 2020-04-18 22:42:25 -07:00
Mingshen Sun
3e114daca1
Implement fail-safe mechanism if key id is not found 2020-04-17 23:56:14 -07:00
Mingshen Sun
84b1c07f64 Update to gopengpg v2.0.0 2020-04-12 20:15:49 -07:00