UI: iOS: remove donation link

Apple forbids us from having a simple link to wireguard.com/donations/
in the version info window, citing the existence of this link as a form
of payment outside of their in-app purchase framework that requires 30%.
The link had been there for around two years. After rejecting an app
update for a critical networking regression unrelated to this, they
wrote:

    Dec 17, 2020 at 8:35 PM
    From Apple

    3.1.1 - Business - Payments - In-App Purchase

    We noticed that your app allows users to contribute donations to the
    development of your app with a mechanism other than the in-app
    purchase API, which is not appropriate for the App Store.

    Next Steps

    To resolve this issue, please revise your app to use the in-app
    purchase API to pay for this type of transaction. Please note that
    even though tipping another individual is optional, the tip is
    connected to or associated with the receipt of digital content or
    services in your app and must be purchased through in-app purchase
    in accordance with guideline 3.1.1 of the App Store Review
    Guidelines.

    Please see attached screenshot for details.

Trying to appeal this or reason with Apple is not going to be a fruitful
endeavor, so instead we simply cut our losses and remove the donation
link entirely. The goal, anyway, is to get a timely critical update into
the hands of users, and encouraging Apple to block that further would be
a disservice.

Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
This commit is contained in:
Jason A. Donenfeld 2020-12-16 00:03:34 +01:00
parent 9269c7c1c1
commit a4fc0f64b8
2 changed files with 2 additions and 13 deletions

View File

@ -1,2 +1,2 @@
VERSION_NAME = 1.0.11 VERSION_NAME = 1.0.11
VERSION_ID = 20 VERSION_ID = 21

View File

@ -11,7 +11,6 @@ class SettingsTableViewController: UITableViewController {
case goBackendVersion case goBackendVersion
case exportZipArchive case exportZipArchive
case viewLog case viewLog
case donateLink
var localizedUIString: String { var localizedUIString: String {
switch self { switch self {
@ -19,13 +18,12 @@ class SettingsTableViewController: UITableViewController {
case .goBackendVersion: return tr("settingsVersionKeyWireGuardGoBackend") case .goBackendVersion: return tr("settingsVersionKeyWireGuardGoBackend")
case .exportZipArchive: return tr("settingsExportZipButtonTitle") case .exportZipArchive: return tr("settingsExportZipButtonTitle")
case .viewLog: return tr("settingsViewLogButtonTitle") case .viewLog: return tr("settingsViewLogButtonTitle")
case .donateLink: return tr("donateLink")
} }
} }
} }
let settingsFieldsBySection: [[SettingsFields]] = [ let settingsFieldsBySection: [[SettingsFields]] = [
[.iosAppVersion, .goBackendVersion, .donateLink], [.iosAppVersion, .goBackendVersion],
[.exportZipArchive], [.exportZipArchive],
[.viewLog] [.viewLog]
] ]
@ -169,15 +167,6 @@ extension SettingsTableViewController {
self?.presentLogView() self?.presentLogView()
} }
return cell return cell
} else if field == .donateLink {
let cell: ButtonCell = tableView.dequeueReusableCell(for: indexPath)
cell.buttonText = field.localizedUIString
cell.onTapped = {
if let url = URL(string: "https://www.wireguard.com/donations/"), UIApplication.shared.canOpenURL(url) {
UIApplication.shared.open(url, options: [:])
}
}
return cell
} }
fatalError() fatalError()
} }