Skip to content

Commit 706ac1f

Browse files
committed
Merge branch 'develop' into feature/sharepoint-integration
2 parents 054a90c + ceb5eae commit 706ac1f

File tree

85 files changed

+367
-386
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

85 files changed

+367
-386
lines changed

Cryptomator.xcodeproj/project.pbxproj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3345,7 +3345,7 @@
33453345
GCC_WARN_UNUSED_FUNCTION = YES;
33463346
GCC_WARN_UNUSED_VARIABLE = YES;
33473347
IPHONEOS_DEPLOYMENT_TARGET = 14.0;
3348-
MARKETING_VERSION = 2.6.4;
3348+
MARKETING_VERSION = 2.6.5;
33493349
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
33503350
MTL_FAST_MATH = YES;
33513351
ONLY_ACTIVE_ARCH = YES;
@@ -3407,7 +3407,7 @@
34073407
GCC_WARN_UNUSED_FUNCTION = YES;
34083408
GCC_WARN_UNUSED_VARIABLE = YES;
34093409
IPHONEOS_DEPLOYMENT_TARGET = 14.0;
3410-
MARKETING_VERSION = 2.6.4;
3410+
MARKETING_VERSION = 2.6.5;
34113411
MTL_ENABLE_DEBUG_INFO = NO;
34123412
MTL_FAST_MATH = YES;
34133413
OTHER_SWIFT_FLAGS = "-Xfrontend -warn-long-expression-type-checking=200 -Xfrontend -warn-long-function-bodies=200";

Cryptomator/AddVault/AddVaultSuccessViewController.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ private class VaultSuccessFooterView: UITableViewHeaderFooterView {
6868

6969
let text = NSMutableAttributedString(string: LocalizedString.getValue("addVault.success.footer"), attributes: [NSAttributedString.Key.foregroundColor: UIColor.secondaryLabel])
7070
text.append(NSAttributedString(string: " "))
71-
let learnMoreLink = NSAttributedString(string: LocalizedString.getValue("common.footer.learnMore"), attributes: [NSAttributedString.Key.link: URL(string: "https://docs.cryptomator.org/en/latest/ios/access-vault/#enable-cryptomator-in-files-app")!])
71+
let learnMoreLink = NSAttributedString(string: LocalizedString.getValue("common.footer.learnMore"), attributes: [NSAttributedString.Key.link: URL(string: "https://docs.cryptomator.org/ios/access-vault/#enable-cryptomator-in-files-app")!])
7272
text.append(learnMoreLink)
7373
textView.attributedText = text
7474
textView.isUserInteractionEnabled = true

Cryptomator/AddVault/LocalVault/LocalFileSystemAuthenticationViewModel.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -132,7 +132,7 @@ class LocalFileSystemAuthenticationInfoFooterViewModel: AttributedTextHeaderFoot
132132
let infoText = LocalizedString.getValue("localFileSystemAuthentication.info.footer")
133133
let text = NSMutableAttributedString(string: infoText)
134134
text.append(NSAttributedString(string: " "))
135-
let learnMoreLink = NSAttributedString(string: LocalizedString.getValue("common.footer.learnMore"), attributes: [NSAttributedString.Key.link: URL(string: "https://docs.cryptomator.org/en/latest/ios/cloud-management/#other-file-provider")!])
135+
let learnMoreLink = NSAttributedString(string: LocalizedString.getValue("common.footer.learnMore"), attributes: [NSAttributedString.Key.link: URL(string: "https://docs.cryptomator.org/ios/cloud-management/#other-file-provider")!])
136136
text.append(learnMoreLink)
137137
super.init(attributedText: text)
138138
}

Cryptomator/MainCoordinator.swift

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -78,15 +78,6 @@ class MainCoordinator: NSObject, Coordinator, UINavigationControllerDelegate {
7878
rootViewController.showDetailViewController(detailNavigationController, sender: nil)
7979
}
8080

81-
// Temporarily added for December 2024 Sale
82-
func showPurchase() {
83-
let modalNavigationController = BaseNavigationController()
84-
let child = PurchaseCoordinator(navigationController: modalNavigationController)
85-
childCoordinators.append(child)
86-
navigationController.topViewController?.present(modalNavigationController, animated: true)
87-
child.start()
88-
}
89-
9081
// MARK: - UINavigationControllerDelegate
9182

9283
func navigationController(_ navigationController: UINavigationController, didShow viewController: UIViewController, animated: Bool) {
@@ -124,8 +115,6 @@ extension MainCoordinator: StoreObserverDelegate {
124115
switch transaction {
125116
case .fullVersion, .yearlySubscription:
126117
showFullVersionAlert()
127-
// Temporarily added for December 2024 Sale
128-
NotificationCenter.default.post(name: .purchasedFullVersionNotification, object: nil)
129118
case let .freeTrial(expiresOn):
130119
showTrialAlert(expirationDate: expiresOn)
131120
case .unknown:

Cryptomator/Purchase/Cells/PurchaseCell.swift

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@ import UIKit
1212

1313
struct PurchaseCellViewModel: Hashable {
1414
let productName: String
15-
let productDetail: String?
1615
let price: String
1716
let purchaseDetail: String?
1817
let purchaseButtonViewModel = PurchaseButtonViewModel()
@@ -37,7 +36,6 @@ class PurchaseCell: IAPCell {
3736

3837
func configure(with viewModel: PurchaseCellViewModel) {
3938
productTitleLabel.text = viewModel.productName
40-
productDetailLabel.text = viewModel.productDetail
4139
accessory.button.setTitle(viewModel.price, for: .normal)
4240
accessory.detailLabel.text = viewModel.purchaseDetail
4341
accessory.configure(with: viewModel.purchaseButtonViewModel)

Cryptomator/Purchase/PurchaseCoordinator.swift

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -54,8 +54,6 @@ class PurchaseCoordinator: Coordinator {
5454
}
5555
self.unlockedPro()
5656
}
57-
// Temporarily added for December 2024 Sale
58-
NotificationCenter.default.post(name: .purchasedFullVersionNotification, object: nil)
5957
}
6058

6159
func handleRestoreResult(_ result: RestoreTransactionsResult) {

Cryptomator/Purchase/PurchaseViewModel.swift

Lines changed: 0 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -33,23 +33,6 @@ class PurchaseViewModel: BaseIAPViewModel, ProductFetching {
3333
return LocalizedString.getValue("purchase.title")
3434
}
3535

36-
// Temporarily added for December 2024 Sale
37-
override var infoText: NSAttributedString? {
38-
let currentYear = Calendar.current.component(.year, from: Date())
39-
let currentMonth = Calendar.current.component(.month, from: Date())
40-
if currentYear == 2024 && currentMonth == 12 {
41-
return NSAttributedString(
42-
string: "*Note: The discount amount may vary by region.",
43-
attributes: [
44-
.font: UIFont.preferredFont(forTextStyle: .footnote),
45-
.foregroundColor: UIColor.secondaryLabel
46-
]
47-
)
48-
} else {
49-
return nil
50-
}
51-
}
52-
5336
private let cryptomatorSettings: CryptomatorSettings
5437

5538
init(storeManager: IAPStore = StoreManager.shared, iapManager: IAPManager = StoreObserver.shared, cryptomatorSettings: CryptomatorSettings = CryptomatorUserDefaults.shared, minimumDisplayTime: TimeInterval = 1.0) {
@@ -73,7 +56,6 @@ class PurchaseViewModel: BaseIAPViewModel, ProductFetching {
7356
cells.append(.trialCell(TrialCellViewModel(expirationDate: trialExpirationDate)))
7457
} else {
7558
cells.append(.purchaseCell(PurchaseCellViewModel(productName: LocalizedString.getValue("purchase.product.trial"),
76-
productDetail: nil,
7759
price: LocalizedString.getValue("purchase.product.pricing.free"),
7860
purchaseDetail: LocalizedString.getValue("purchase.product.trial.duration"),
7961
productIdentifier: .thirtyDayTrial)))
@@ -83,7 +65,6 @@ class PurchaseViewModel: BaseIAPViewModel, ProductFetching {
8365
private func addSubscriptionItem() {
8466
if let product = products[.yearlySubscription], let localizedPrice = product.localizedPrice {
8567
let viewModel = PurchaseCellViewModel(productName: LocalizedString.getValue("purchase.product.yearlySubscription"),
86-
productDetail: nil,
8768
price: localizedPrice,
8869
purchaseDetail: LocalizedString.getValue("purchase.product.yearlySubscription.duration"),
8970
productIdentifier: .yearlySubscription)
@@ -93,12 +74,7 @@ class PurchaseViewModel: BaseIAPViewModel, ProductFetching {
9374

9475
private func addLifetimeLicenseItem() {
9576
if let product = products[.fullVersion], let localizedPrice = product.localizedPrice {
96-
// Temporarily added for December 2024 Sale
97-
let currentYear = Calendar.current.component(.year, from: Date())
98-
let currentMonth = Calendar.current.component(.month, from: Date())
99-
let productDetail = currentYear == 2024 && currentMonth == 12 ? "🎁 33%* off in December" : nil
10077
let viewModel = PurchaseCellViewModel(productName: LocalizedString.getValue("purchase.product.lifetimeLicense"),
101-
productDetail: productDetail,
10278
price: localizedPrice,
10379
purchaseDetail: LocalizedString.getValue("purchase.product.lifetimeLicense.duration"),
10480
productIdentifier: .fullVersion)

Cryptomator/Purchase/UpgradeViewModel.swift

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,6 @@ class UpgradeViewModel: BaseIAPViewModel, ProductFetching {
3434
func addFreeUpgradeItem() {
3535
guard products[.freeUpgrade] != nil else { return }
3636
let viewModel = PurchaseCellViewModel(productName: LocalizedString.getValue("purchase.product.freeUpgrade"),
37-
productDetail: nil,
3837
price: LocalizedString.getValue("purchase.product.pricing.free"),
3938
purchaseDetail: nil,
4039
productIdentifier: .freeUpgrade)
@@ -44,7 +43,6 @@ class UpgradeViewModel: BaseIAPViewModel, ProductFetching {
4443
func addPaidUpgradeItem() {
4544
if let product = products[.paidUpgrade], let localizedPrice = product.localizedPrice {
4645
let viewModel = PurchaseCellViewModel(productName: LocalizedString.getValue("purchase.product.donateAndUpgrade"),
47-
productDetail: nil,
4846
price: localizedPrice,
4947
purchaseDetail: LocalizedString.getValue("purchase.product.lifetimeLicense.duration"),
5048
productIdentifier: .paidUpgrade)

Cryptomator/Resources/about.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ <h2>Privacy Policy</h2>
2828

2929
<h2>Connect</h2>
3030
<ul>
31-
<li><a href="https://twitter.com/Cryptomator">Twitter @Cryptomator</a></li>
31+
<li><a href="https://mastodon.online/@cryptomator">Mastodon @cryptomator@mastodon.online</a></li>
3232
<li><a href="https://facebook.com/Cryptomator">Facebook /Cryptomator</a></li>
3333
</ul>
3434

@@ -70,6 +70,6 @@ <h2>Disclaimer</h2>
7070
<p>THE SOFTWARE IS PROVIDED &quot;AS IS&quot;, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.</p>
7171

7272
<h2>Copyright</h2>
73-
<p>© 2016 – 2024 Skymatic GmbH. All rights reserved.</p>
73+
<p>© 2016 – 2025 Skymatic GmbH. All rights reserved.</p>
7474
</body>
7575
</html>

Cryptomator/Settings/SettingsCoordinator.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ class SettingsCoordinator: Coordinator {
7070
}
7171

7272
func openShortcutsGuide() {
73-
if let shortcutsGuideURL = URL(string: "https://docs.cryptomator.org/en/latest/ios/shortcuts-guide/") {
73+
if let shortcutsGuideURL = URL(string: "https://docs.cryptomator.org/ios/shortcuts-guide/") {
7474
UIApplication.shared.open(shortcutsGuideURL)
7575
}
7676
}

0 commit comments

Comments
 (0)