Commit Graph

182 Commits

Author SHA1 Message Date
Davide De Rosa 7d2ece0256 Share ProductManager in Core with conditionals
In order to share purchase review logic.

Refactor verification of product eligibility
2021-02-04 14:03:47 +01:00
Davide De Rosa 21e9f5c8cc Integrate new in-app purchases
- Share iOS bundle identifier with macOS
- Remove unused macOS donations (reuse iOS if needed)
- Add platform-specific "Full version"
- Skip fetching of legacy providers IAP
2021-02-04 14:03:47 +01:00
Davide De Rosa dd3cac40c6 Bundle macOS app with iOS 2021-02-02 21:25:59 +01:00
Davide De Rosa 5978705aa9 Enable testing on app targets 2021-01-28 19:39:32 +01:00
Davide De Rosa 8e1c2aea32 Add it macOS translation 2021-01-26 18:05:56 +01:00
Davide De Rosa 9fa40f6ec6 Share configuration l10n in Descriptible 2021-01-13 08:20:10 +01:00
Davide De Rosa 5f83313b79 Bump base build number 2021-01-06 18:01:28 +01:00
Davide De Rosa 8d31bdc22f Fix Xcode version in CI
Xcode was 12 instead of 12.2 and therefore OpenSSL was failing on
Apple Silicon arch (MacOSX arm64).
2021-01-06 17:36:00 +01:00
Davide De Rosa 4c1fe20160 Upgrade Xcode project 2021-01-03 22:28:08 +01:00
Davide De Rosa d4b7d47498 Merge macOS app and Core into repository
Temporarily drop env and fastlane.
2021-01-03 22:28:07 +01:00
Davide De Rosa ed0b12cd24 Use environment for testing full version 2020-12-27 16:56:59 +01:00
Davide De Rosa 1213212332 Move ProductManager to Core 2020-12-27 16:56:25 +01:00
Davide De Rosa 6b2b3fc59f Drop stale schemes 2020-11-23 18:15:09 +01:00
Davide De Rosa 6b07e7eb9e Fix wrong deployment target (14.2 -> 12.0) 2020-11-21 19:05:29 +01:00
Davide De Rosa 2f42099bd0 Update project and deprecated APIs 2020-11-15 22:21:31 +01:00
Davide De Rosa 267119b0fd Fix overridden deployment targets 2020-11-15 17:42:21 +01:00
Davide De Rosa 4887c27816 Update TunnelKit with VPN manager 2020-06-23 09:54:39 +02:00
Davide De Rosa c033c208bd Upgrade project 2020-05-23 17:59:53 +02:00
Davide De Rosa c51e578e53 Upgrade Xcode project 2020-02-28 17:28:18 +01:00
Davide De Rosa 6159221d0b Add/update translations
Legitimate:

- es
- fr
- it
- pl
- ru
- zh-Hans
2019-12-11 12:28:03 +01:00
Davide De Rosa 28a7dcdcf7 Update providers via web service
Reload products after update. Always re-list products!

Had to fix web services in Convenience, completion handler not
invoked from main queue.
2019-11-28 11:34:01 +01:00
Davide De Rosa 97f458385c Update to API v3
- Dynamic providers
- Add index.json to API
2019-11-28 09:57:34 +01:00
Davide De Rosa 1fd2d18653 Refactor trusted networks code 2019-11-21 09:15:24 +01:00
Davide De Rosa 70783f9dda Reuse Credits from Convenience 2019-11-20 23:14:19 +01:00
Davide De Rosa 99da23de8e Simulate full version through scheme arguments 2019-11-19 23:38:04 +01:00
Davide De Rosa 41030d2d17 Prepare Info.plist for localization 2019-11-02 12:18:44 +01:00
Davide De Rosa a9065bf9b7 Move Flags from Core to app 2019-11-02 11:18:43 +01:00
Davide De Rosa 1e6c5ba91b Design purchase screen
- Required product
- Full version
- Restore purchases
2019-11-01 16:17:30 +01:00
Davide De Rosa e99cc3669d Add stubs for purchase screen
With macro for presenting it everywhere.
2019-10-31 09:36:08 +01:00
Davide De Rosa e62aae16fc Add new in-app purchases
- Rename Donation to Product accordingly
- Infer product from provider name
2019-10-30 15:21:37 +01:00
Davide De Rosa 5f3ebfd9fe Drop VersionViewController
Reuse from Convenience.
2019-10-28 09:53:32 +01:00
Davide De Rosa e0a9fadac4 Add server network screen 2019-10-23 11:59:30 +02:00
Davide De Rosa 68da29474b Refactor import logic into HostImporter
Cover the parsing steps + passphrase. Leave name and credentials
as is.
2019-10-22 23:03:46 +02:00
Davide De Rosa 1c537727cb Enforce 64-bit archs
Work around "Too many symbol files" warning.
2019-10-11 14:37:27 +02:00
Davide De Rosa aef0201b00 Revert strip symbols (who touched it?)
Raises "Too many symbols" issue when uploading to App Store Connect.
2019-10-11 13:38:12 +02:00
Davide De Rosa 2cd6677e16 Replace with Convenience entities
- About
- Alerts
- Dialogs
- InApp
- Reviewer
- SingleOptionViewController
- StrongTableModel
2019-10-11 12:43:05 +02:00
Davide De Rosa 4e6b9b358b Revert "Temporarily use automatic signing"
This reverts commit f3a8e4ae25.
2019-09-22 20:58:23 +02:00
Davide De Rosa f3a8e4ae25 Temporarily use automatic signing 2019-09-11 10:03:48 +02:00
Davide De Rosa c9f807babd Upgrade project to Xcode 11
Disable code signing for frameworks.
2019-09-11 10:03:48 +02:00
Davide De Rosa 3c62a967c9 Use TunnelKit 2.0.3
Had to update CocoaPods 1.6.0 to 1.7.5
2019-09-07 00:14:01 +02:00
Davide De Rosa f90a84f1a4 Reuse Issue from Core 2019-09-05 22:50:56 +02:00
Davide De Rosa 3b9e3879ca Move InAppHelper to Core 2019-08-16 00:24:05 +02:00
Davide De Rosa 2c3e19eec1 Add zh-Hans to project localizations
Forgotten as usual!
2019-08-11 16:01:10 +02:00
Davide De Rosa 57c23085fb Add Settings bundle to leverage language selector
New in iOS 13.

Fixes #90
2019-07-27 10:01:59 +02:00
Davide De Rosa 2e362bf553 Reuse Core extensions
- NetworkChoice.choices()
- OpenVPN.* available options
- ConnectionProfile.clientNetworkSettings
2019-06-23 00:17:37 +02:00
Davide De Rosa 282728ae1e Move app-related strings in
Move Core strings to app target.

SwiftGen uses same bundle by default. No problem because Core
does not (and should not) any string internally.
2019-06-23 00:11:56 +02:00
Davide De Rosa 0bb5f1d9c0 Remove again spurious pt-br 2019-06-19 15:12:42 +02:00
Davide De Rosa c6e54de869 Fix strict pt localization 2019-06-13 10:19:07 +02:00
Davide De Rosa 08b3230b2c Work around Xcode breaking l10n
Localized intents are imported incorrectly, with .strings
files separate from the .intentdefinition. HARD TO BELIEVE (not
so much with such a broken IDE), when this happens, everything
breaks, including Localizable.strings. For some obscure reason,
the English strings are still reachable.

Workaround:

- Import Intents.intentdefinition
- Remove Intents.strings from project (reference only)
- Re-enable each localization for Intents.intentdefinition
- When asked, select "Use file"

See dc2de46327
2019-05-28 08:41:24 +02:00
Davide De Rosa ff57e4fd2c Remove Core test target 2019-05-28 08:41:24 +02:00
Davide De Rosa 04a00fdb98 Remove spurious macOS framework 2019-05-28 08:41:24 +02:00
Davide De Rosa ef300e07d2 Fix Swift version globally 2019-05-28 07:01:49 +02:00
Davide De Rosa 0a21237a47 Fix missing es localization
Delete stale directory.
2019-05-28 06:54:04 +02:00
Davide De Rosa 0bdfc2313b Update pods 2019-05-27 00:15:51 +02:00
Davide De Rosa 6ef7a97098 Symlink to submodules
Easier to switch to other directories.
2019-05-27 00:14:14 +02:00
Davide De Rosa 6ec7785d31 Isolate future submodules
- API
- Core

Prepend API version prefix to bundle path.
2019-05-27 00:14:14 +02:00
Davide De Rosa dc2de46327 Reimport Passepartout Resources
Normalize localized intents.
2019-05-27 00:14:13 +02:00
Davide De Rosa 84eb9d09c4 Rename Core targets
Fix import in Core umbrella header.
2019-05-27 00:13:33 +02:00
Davide De Rosa e50ed97b3f Translate es application 2019-05-27 00:06:49 +02:00
Davide De Rosa 190eab152c Translate es intents 2019-05-26 21:52:05 +02:00
Davide De Rosa 641890f4ab Integrate fr localization 2019-05-26 08:35:43 +02:00
Davide De Rosa 60b967ee3a Make provisioning ids dynamic via .xcconfig 2019-05-25 18:29:10 +02:00
Davide De Rosa 4197a33ec8 Integrate sv localization 2019-05-25 10:02:09 +02:00
Davide De Rosa 2dd8e5613a Integrate el localization
Shorten app subtitle for char limit.
2019-05-21 15:35:11 +02:00
Davide De Rosa 98f8b04f39 Integrate nl localization
Copy missing files from en-US.

Had to shorten app subtitle for char limit.
2019-05-20 14:17:45 +02:00
Davide De Rosa ef4bdcafa8 Reorder files 2019-05-17 13:07:18 +02:00
Davide De Rosa c6fbdca342 Move network settings to ad-hoc screen
Can now set gateway/DNS/proxy settings explicitly.

- Read from .ovpn (hosts only)
- Pull from server (PUSH_REPLY)
- Set manually
2019-05-01 23:00:28 +02:00
Davide De Rosa d9a0ebd923 Upgrade API to v2 (entities) 2019-04-25 21:30:43 +02:00
Davide De Rosa 24ea18b7a0 Restore pt-BR localization
Lost in some conflict...
2019-04-25 18:31:26 +02:00
Davide De Rosa 69515ee6a3 Add ru translations 2019-04-23 15:45:56 +02:00
Davide De Rosa c68d6b44cc Add de translation 2019-04-23 14:35:29 +02:00
Davide De Rosa fd9a165817 Use Locale for country names too
I hadn't thought it before!
2019-04-13 18:55:45 +02:00
Davide De Rosa cf8f0984a3 Cache pool models, do not rebuild each time
Invalidate on new infrastructure.
2019-04-11 23:38:16 +02:00
Davide De Rosa e0c8b478bb Unzip NordVPN external resources to cache 2019-04-11 19:11:08 +02:00
Davide De Rosa 35605ba89f Download resource with progress HUD 2019-04-11 19:01:59 +02:00
Davide De Rosa 4add7a695c Migrate to Swift 5
Last time was probably incomplete.
2019-04-11 16:51:12 +02:00
Davide De Rosa bb299335ad Add activity cell 2019-04-08 22:59:24 +02:00
Davide De Rosa 26453f9612 Add donation view controller 2019-04-07 15:29:10 +02:00
Davide De Rosa 895c19328e Add in-app donation identifiers 2019-04-07 15:29:10 +02:00
Davide De Rosa c542722f47 Regroup storyboard implementations 2019-04-07 08:52:16 +02:00
Davide De Rosa 920c704359 Externalize About storyboard 2019-04-07 08:52:16 +02:00
Davide De Rosa 0ba072c6dd Normalize intent localization 2019-04-06 22:46:30 +02:00
Davide De Rosa 97a72c7c02 Create PoolGroup for logical country/area grouping
When multiple nums (#) exist within a group.
2019-04-06 16:20:01 +02:00
Davide De Rosa 805737caea Translate all strings
Use "e-mail" everywhere.
2019-04-05 22:31:04 +02:00
Davide De Rosa e01f95d23b Translate intents 2019-04-05 19:49:20 +02:00
Davide De Rosa cbf6525354 Reorganize project for multiple languages 2019-04-05 19:49:20 +02:00
Davide De Rosa 7d417e14ee Add pool country flags 2019-04-05 11:59:39 +02:00
Davide De Rosa b9de756253 Move provider logos to own assets 2019-04-05 10:17:29 +02:00
Davide De Rosa f97b8447d9 Show provider logos in Organizer and Wizard 2019-04-05 00:52:36 +02:00
Davide De Rosa ab5517dcba Rename ParsingResult to Result
From ConfigurationParser in TunnelKit.
2019-04-04 19:26:08 +02:00
Davide De Rosa 921e57557d Render data count with closest unit
Set a 10% boundary (e.g. 100MB = 0.1GB).
2019-03-30 20:10:04 +01:00
Davide De Rosa 912ae63ead Convert resources to Base l10n
Could this fix the uploader issue with intents localization?
2019-03-30 19:25:06 +01:00
Davide De Rosa ae88fdfad6 Rename shortcut manager vc 2019-03-27 22:09:08 +01:00
Davide De Rosa d5b7a1e576 Show existing Siri shortcuts as first controller 2019-03-27 21:08:51 +01:00
Davide De Rosa 3eb9c6ae98 Localize Pool via country code + area 2019-03-21 22:21:42 +01:00
Davide De Rosa ed79c79df5 XXX: Restore intent definition w/o gen classes
Okay, it's causing "Invalid Siri Support" l10n warnings when
uploading to App Store Connect, but intents don't work without
this.

Back and forth from 5dd02e8 and a471161
2019-03-19 18:05:11 +01:00
Davide De Rosa a471161892 Fix again intent definition glitch 2019-03-18 23:11:41 +01:00
Davide De Rosa 220d1233af Restore intents definition in app target 2019-03-18 22:32:07 +01:00
Davide De Rosa 15602f7dc9 Pick profile/location for connection intent
- Host: ConnectVPN intent
- Provider: requires Pool selection
2019-03-18 22:13:36 +01:00
Davide De Rosa 1ea85ff32e Move shortcuts to separate storyboard 2019-03-18 21:18:40 +01:00