Initial commit
This commit is contained in:
7
XOLDX_fastlane/Appfile
Normal file
7
XOLDX_fastlane/Appfile
Normal file
@@ -0,0 +1,7 @@
|
||||
app_identifier "com.zoxcore.Antidote" # The bundle identifier of your app
|
||||
apple_id "d@dvor.me" # Your Apple email address
|
||||
|
||||
team_id "NHVF8NSG3J" # Developer Portal Team ID
|
||||
|
||||
# you can even provide different app identifiers, Apple IDs and team names per lane:
|
||||
# More information: https://github.com/fastlane/fastlane/blob/master/fastlane/docs/Appfile.md
|
||||
10
XOLDX_fastlane/Deliverfile
Normal file
10
XOLDX_fastlane/Deliverfile
Normal file
@@ -0,0 +1,10 @@
|
||||
###################### More Options ######################
|
||||
# If you want to have even more control, check out the documentation
|
||||
# https://github.com/fastlane/fastlane/blob/master/deliver/Deliverfile.md
|
||||
|
||||
|
||||
###################### Automatically generated ######################
|
||||
# Feel free to remove the following line if you use fastlane (which you should)
|
||||
|
||||
app_identifier "org.zoxcore.Antidote" # The bundle identifier of your app
|
||||
username "d@dvor.me" # your Apple ID user
|
||||
70
XOLDX_fastlane/Fastfile
Normal file
70
XOLDX_fastlane/Fastfile
Normal file
@@ -0,0 +1,70 @@
|
||||
fastlane_version "1.106.2"
|
||||
|
||||
default_platform :ios
|
||||
|
||||
platform :ios do
|
||||
before_all do
|
||||
end
|
||||
|
||||
desc "Runs all the tests"
|
||||
lane :test do
|
||||
cocoapods
|
||||
scan(
|
||||
scheme: "Antidote",
|
||||
device: "iPhone 8",
|
||||
clean: true
|
||||
)
|
||||
end
|
||||
|
||||
desc "Create screenshots"
|
||||
lane :shots do
|
||||
snapshot
|
||||
# frameit
|
||||
end
|
||||
|
||||
desc "Submit a new Beta Build to Apple TestFlight"
|
||||
desc "This will also make sure the profile is up to date"
|
||||
lane :beta do
|
||||
changelog = prompt(
|
||||
text: "Changelog: ",
|
||||
multi_line_end_keyword: "END"
|
||||
)
|
||||
|
||||
changelog += "
|
||||
|
||||
# See full changelog at GitHub http://bit.ly/1MsDgUX
|
||||
|
||||
# You can help to translate Antidote to your language. See more information here http://bit.ly/1UqDDBX"
|
||||
|
||||
increment_build_number
|
||||
cocoapods
|
||||
cert
|
||||
sigh
|
||||
gym(
|
||||
scheme: "Antidote",
|
||||
include_symbols: true,
|
||||
include_bitcode: false
|
||||
)
|
||||
|
||||
testflight(changelog: changelog,
|
||||
skip_submission: false,
|
||||
distribute_external: true)
|
||||
end
|
||||
|
||||
desc "Release app to the App Store"
|
||||
lane :release do
|
||||
appstore(
|
||||
force: false,
|
||||
skip_binary_upload: true,
|
||||
skip_screenshots: true,
|
||||
submit_for_review: true,
|
||||
automatic_release: true
|
||||
)
|
||||
end
|
||||
|
||||
after_all do |lane|
|
||||
end
|
||||
|
||||
error do |lane, exception|
|
||||
end
|
||||
end
|
||||
60
XOLDX_fastlane/README.md
Normal file
60
XOLDX_fastlane/README.md
Normal file
@@ -0,0 +1,60 @@
|
||||
fastlane documentation
|
||||
================
|
||||
# Installation
|
||||
|
||||
Make sure you have the latest version of the Xcode command line tools installed:
|
||||
|
||||
```
|
||||
xcode-select --install
|
||||
```
|
||||
|
||||
## Choose your installation method:
|
||||
|
||||
<table width="100%" >
|
||||
<tr>
|
||||
<th width="33%"><a href="http://brew.sh">Homebrew</a></td>
|
||||
<th width="33%">Installer Script</td>
|
||||
<th width="33%">Rubygems</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="33%" align="center">macOS</td>
|
||||
<td width="33%" align="center">macOS</td>
|
||||
<td width="33%" align="center">macOS or Linux with Ruby 2.0.0 or above</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="33%"><code>brew cask install fastlane</code></td>
|
||||
<td width="33%"><a href="https://download.fastlane.tools">Download the zip file</a>. Then double click on the <code>install</code> script (or run it in a terminal window).</td>
|
||||
<td width="33%"><code>sudo gem install fastlane -NV</code></td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
# Available Actions
|
||||
## iOS
|
||||
### ios test
|
||||
```
|
||||
fastlane ios test
|
||||
```
|
||||
Runs all the tests
|
||||
### ios shots
|
||||
```
|
||||
fastlane ios shots
|
||||
```
|
||||
Create screenshots
|
||||
### ios beta
|
||||
```
|
||||
fastlane ios beta
|
||||
```
|
||||
Submit a new Beta Build to Apple TestFlight
|
||||
|
||||
This will also make sure the profile is up to date
|
||||
### ios release
|
||||
```
|
||||
fastlane ios release
|
||||
```
|
||||
Release app to the App Store
|
||||
|
||||
----
|
||||
|
||||
This README.md is auto-generated and will be re-generated every time [fastlane](https://fastlane.tools) is run.
|
||||
More information about fastlane can be found on [fastlane.tools](https://fastlane.tools).
|
||||
The documentation of fastlane can be found on [docs.fastlane.tools](https://docs.fastlane.tools).
|
||||
20
XOLDX_fastlane/Snapfile
Normal file
20
XOLDX_fastlane/Snapfile
Normal file
@@ -0,0 +1,20 @@
|
||||
devices([
|
||||
"iPad Air",
|
||||
"iPad Pro (12.9 inch)",
|
||||
"iPhone 4s",
|
||||
"iPhone 5",
|
||||
"iPhone 6",
|
||||
"iPhone 6 Plus"
|
||||
])
|
||||
|
||||
languages([
|
||||
"en-US",
|
||||
"fr",
|
||||
"da",
|
||||
])
|
||||
|
||||
scheme "AntidoteScreenshots"
|
||||
reinstall_app true
|
||||
clear_previous_screenshots true
|
||||
number_of_retries 4
|
||||
stop_after_first_error true
|
||||
138
XOLDX_fastlane/SnapshotHelper.swift
Normal file
138
XOLDX_fastlane/SnapshotHelper.swift
Normal file
@@ -0,0 +1,138 @@
|
||||
//
|
||||
// SnapshotHelper.swift
|
||||
// Example
|
||||
//
|
||||
// Created by Felix Krause on 10/8/15.
|
||||
// Copyright © 2015 Felix Krause. All rights reserved.
|
||||
//
|
||||
|
||||
import Foundation
|
||||
import XCTest
|
||||
|
||||
var deviceLanguage = ""
|
||||
var locale = ""
|
||||
|
||||
@available(*, deprecated, message: "use setupSnapshot: instead")
|
||||
func setLanguage(_ app: XCUIApplication) {
|
||||
setupSnapshot(app)
|
||||
}
|
||||
|
||||
func setupSnapshot(_ app: XCUIApplication) {
|
||||
Snapshot.setupSnapshot(app)
|
||||
}
|
||||
|
||||
func snapshot(_ name: String, waitForLoadingIndicator: Bool = true) {
|
||||
Snapshot.snapshot(name, waitForLoadingIndicator: waitForLoadingIndicator)
|
||||
}
|
||||
|
||||
open class Snapshot: NSObject {
|
||||
|
||||
open class func setupSnapshot(_ app: XCUIApplication) {
|
||||
setLanguage(app)
|
||||
setLocale(app)
|
||||
setLaunchArguments(app)
|
||||
}
|
||||
|
||||
class func setLanguage(_ app: XCUIApplication) {
|
||||
guard let prefix = pathPrefix() else {
|
||||
return
|
||||
}
|
||||
|
||||
let path = prefix.appendingPathComponent("language.txt")
|
||||
|
||||
do {
|
||||
let trimCharacterSet = CharacterSet.whitespacesAndNewlines
|
||||
deviceLanguage = try NSString(contentsOfFile: path, encoding: String.Encoding.utf8.rawValue).trimmingCharacters(in: trimCharacterSet) as String
|
||||
app.launchArguments += ["-AppleLanguages", "(\(deviceLanguage))"]
|
||||
} catch {
|
||||
print("Couldn't detect/set language...")
|
||||
}
|
||||
}
|
||||
|
||||
class func setLocale(_ app: XCUIApplication) {
|
||||
guard let prefix = pathPrefix() else {
|
||||
return
|
||||
}
|
||||
|
||||
let path = prefix.appendingPathComponent("locale.txt")
|
||||
|
||||
do {
|
||||
let trimCharacterSet = CharacterSet.whitespacesAndNewlines
|
||||
locale = try NSString(contentsOfFile: path, encoding: String.Encoding.utf8.rawValue).trimmingCharacters(in: trimCharacterSet) as String
|
||||
} catch {
|
||||
print("Couldn't detect/set locale...")
|
||||
}
|
||||
if locale.isEmpty {
|
||||
locale = Locale(identifier: deviceLanguage).identifier
|
||||
}
|
||||
app.launchArguments += ["-AppleLocale", "\"\(locale)\""]
|
||||
}
|
||||
|
||||
class func setLaunchArguments(_ app: XCUIApplication) {
|
||||
guard let prefix = pathPrefix() else {
|
||||
return
|
||||
}
|
||||
|
||||
let path = prefix.appendingPathComponent("snapshot-launch_arguments.txt")
|
||||
app.launchArguments += ["-FASTLANE_SNAPSHOT", "YES", "-ui_testing"]
|
||||
|
||||
do {
|
||||
let launchArguments = try NSString(contentsOfFile: path, encoding: String.Encoding.utf8.rawValue) as String
|
||||
let regex = try NSRegularExpression(pattern: "(\\\".+?\\\"|\\S+)", options: [])
|
||||
let matches = regex.matches(in: launchArguments, options: [], range: NSRange(location:0, length:launchArguments.characters.count))
|
||||
let results = matches.map { result -> String in
|
||||
(launchArguments as NSString).substring(with: result.range)
|
||||
}
|
||||
app.launchArguments += results
|
||||
} catch {
|
||||
print("Couldn't detect/set launch_arguments...")
|
||||
}
|
||||
}
|
||||
|
||||
open class func snapshot(_ name: String, waitForLoadingIndicator: Bool = true) {
|
||||
if waitForLoadingIndicator {
|
||||
waitForLoadingIndicatorToDisappear()
|
||||
}
|
||||
|
||||
print("snapshot: \(name)") // more information about this, check out https://github.com/fastlane/fastlane/tree/master/snapshot#how-does-it-work
|
||||
|
||||
sleep(1) // Waiting for the animation to be finished (kind of)
|
||||
|
||||
#if os(tvOS)
|
||||
XCUIApplication().childrenMatchingType(.Browser).count
|
||||
#else
|
||||
XCUIDevice.shared.orientation = .unknown
|
||||
#endif
|
||||
}
|
||||
|
||||
class func waitForLoadingIndicatorToDisappear() {
|
||||
#if os(tvOS)
|
||||
return
|
||||
#endif
|
||||
|
||||
let query = XCUIApplication().statusBars.children(matching: .other).element(boundBy: 1).children(matching: .other)
|
||||
|
||||
while (0..<query.count).map({ query.element(boundBy: $0) }).contains(where: { $0.isLoadingIndicator }) {
|
||||
sleep(1)
|
||||
print("Waiting for loading indicator to disappear...")
|
||||
}
|
||||
}
|
||||
|
||||
class func pathPrefix() -> NSString? {
|
||||
if let path = ProcessInfo().environment["SIMULATOR_HOST_HOME"] as NSString? {
|
||||
return path.appendingPathComponent("Library/Caches/tools.fastlane") as NSString?
|
||||
}
|
||||
print("Couldn't find Snapshot configuration files at ~/Library/Caches/tools.fastlane")
|
||||
return nil
|
||||
}
|
||||
}
|
||||
|
||||
extension XCUIElement {
|
||||
var isLoadingIndicator: Bool {
|
||||
return self.frame.size == CGSize(width: 10, height: 20)
|
||||
}
|
||||
}
|
||||
|
||||
// Please don't remove the lines below
|
||||
// They are used to detect outdated configuration files
|
||||
// SnapshotHelperVersion [1.2]
|
||||
140
XOLDX_fastlane/SnapshotHelper2-3.swift
Normal file
140
XOLDX_fastlane/SnapshotHelper2-3.swift
Normal file
@@ -0,0 +1,140 @@
|
||||
//
|
||||
// SnapshotHelper.swift
|
||||
// Example
|
||||
//
|
||||
// Created by Felix Krause on 10/8/15.
|
||||
// Copyright © 2015 Felix Krause. All rights reserved.
|
||||
//
|
||||
|
||||
// This file should be used if your UI Tests are written in Swift 2.3
|
||||
|
||||
import Foundation
|
||||
import XCTest
|
||||
|
||||
var deviceLanguage = ""
|
||||
var locale = ""
|
||||
|
||||
@available(*, deprecated, message="use setupSnapshot: instead")
|
||||
func setLanguage(app: XCUIApplication) {
|
||||
setupSnapshot(app)
|
||||
}
|
||||
|
||||
func setupSnapshot(app: XCUIApplication) {
|
||||
Snapshot.setupSnapshot(app)
|
||||
}
|
||||
|
||||
func snapshot(name: String, waitForLoadingIndicator: Bool = true) {
|
||||
Snapshot.snapshot(name, waitForLoadingIndicator: waitForLoadingIndicator)
|
||||
}
|
||||
|
||||
public class Snapshot: NSObject {
|
||||
|
||||
public class func setupSnapshot(app: XCUIApplication) {
|
||||
setLanguage(app)
|
||||
setLocale(app)
|
||||
setLaunchArguments(app)
|
||||
}
|
||||
|
||||
class func setLanguage(app: XCUIApplication) {
|
||||
guard let prefix = pathPrefix() else {
|
||||
return
|
||||
}
|
||||
|
||||
let path = prefix.stringByAppendingPathComponent("language.txt")
|
||||
|
||||
do {
|
||||
let trimCharacterSet = NSCharacterSet.whitespaceAndNewlineCharacterSet()
|
||||
deviceLanguage = try NSString(contentsOfFile: path, encoding: NSUTF8StringEncoding).stringByTrimmingCharactersInSet(trimCharacterSet) as String
|
||||
app.launchArguments += ["-AppleLanguages", "(\(deviceLanguage))"]
|
||||
} catch {
|
||||
print("Couldn't detect/set language...")
|
||||
}
|
||||
}
|
||||
|
||||
class func setLocale(app: XCUIApplication) {
|
||||
guard let prefix = pathPrefix() else {
|
||||
return
|
||||
}
|
||||
|
||||
let path = prefix.stringByAppendingPathComponent("locale.txt")
|
||||
|
||||
do {
|
||||
let trimCharacterSet = NSCharacterSet.whitespaceAndNewlineCharacterSet()
|
||||
locale = try NSString(contentsOfFile: path, encoding: NSUTF8StringEncoding).stringByTrimmingCharactersInSet(trimCharacterSet) as String
|
||||
} catch {
|
||||
print("Couldn't detect/set locale...")
|
||||
}
|
||||
if locale.isEmpty {
|
||||
locale = NSLocale(localeIdentifier: deviceLanguage).localeIdentifier
|
||||
}
|
||||
app.launchArguments += ["-AppleLocale", "\"\(locale)\""]
|
||||
}
|
||||
|
||||
class func setLaunchArguments(app: XCUIApplication) {
|
||||
guard let prefix = pathPrefix() else {
|
||||
return
|
||||
}
|
||||
|
||||
let path = prefix.stringByAppendingPathComponent("snapshot-launch_arguments.txt")
|
||||
app.launchArguments += ["-FASTLANE_SNAPSHOT", "YES", "-ui_testing"]
|
||||
|
||||
do {
|
||||
let launchArguments = try NSString(contentsOfFile: path, encoding: NSUTF8StringEncoding) as String
|
||||
let regex = try NSRegularExpression(pattern: "(\\\".+?\\\"|\\S+)", options: [])
|
||||
let matches = regex.matchesInString(launchArguments, options: [], range: NSRange(location:0, length:launchArguments.characters.count))
|
||||
let results = matches.map { result -> String in
|
||||
(launchArguments as NSString).substringWithRange(result.range)
|
||||
}
|
||||
app.launchArguments += results
|
||||
} catch {
|
||||
print("Couldn't detect/set launch_arguments...")
|
||||
}
|
||||
}
|
||||
|
||||
public class func snapshot(name: String, waitForLoadingIndicator: Bool = true) {
|
||||
if waitForLoadingIndicator {
|
||||
waitForLoadingIndicatorToDisappear()
|
||||
}
|
||||
|
||||
print("snapshot: \(name)") // more information about this, check out https://github.com/fastlane/fastlane/tree/master/snapshot#how-does-it-work
|
||||
|
||||
sleep(1) // Waiting for the animation to be finished (kind of)
|
||||
|
||||
#if os(tvOS)
|
||||
XCUIApplication().childrenMatchingType(.Browser).count
|
||||
#else
|
||||
XCUIDevice.sharedDevice().orientation = .Unknown
|
||||
#endif
|
||||
}
|
||||
|
||||
class func waitForLoadingIndicatorToDisappear() {
|
||||
#if os(tvOS)
|
||||
return
|
||||
#endif
|
||||
|
||||
let query = XCUIApplication().statusBars.childrenMatchingType(.Other).elementBoundByIndex(1).childrenMatchingType(.Other)
|
||||
|
||||
while (0..<query.count).map({ query.elementBoundByIndex($0) }).contains({ $0.isLoadingIndicator }) {
|
||||
sleep(1)
|
||||
print("Waiting for loading indicator to disappear...")
|
||||
}
|
||||
}
|
||||
|
||||
class func pathPrefix() -> NSString? {
|
||||
if let path = NSProcessInfo().environment["SIMULATOR_HOST_HOME"] as NSString? {
|
||||
return path.stringByAppendingPathComponent("Library/Caches/tools.fastlane")
|
||||
}
|
||||
print("Couldn't find Snapshot configuration files at ~/Library/Caches/tools.fastlane")
|
||||
return nil
|
||||
}
|
||||
}
|
||||
|
||||
extension XCUIElement {
|
||||
var isLoadingIndicator: Bool {
|
||||
return self.frame.size == CGSize(width: 10, height: 20)
|
||||
}
|
||||
}
|
||||
|
||||
// Please don't remove the lines below
|
||||
// They are used to detect outdated configuration files
|
||||
// SnapshotHelperVersion [1.2]
|
||||
BIN
XOLDX_fastlane/metadata/app_icon.png
Normal file
BIN
XOLDX_fastlane/metadata/app_icon.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 32 KiB |
1
XOLDX_fastlane/metadata/copyright.txt
Normal file
1
XOLDX_fastlane/metadata/copyright.txt
Normal file
@@ -0,0 +1 @@
|
||||
2014 Dmytro Vorobiov
|
||||
1
XOLDX_fastlane/metadata/default/marketing_url.txt
Normal file
1
XOLDX_fastlane/metadata/default/marketing_url.txt
Normal file
@@ -0,0 +1 @@
|
||||
|
||||
1
XOLDX_fastlane/metadata/default/name.txt
Normal file
1
XOLDX_fastlane/metadata/default/name.txt
Normal file
@@ -0,0 +1 @@
|
||||
Antidote for Tox
|
||||
1
XOLDX_fastlane/metadata/default/privacy_url.txt
Normal file
1
XOLDX_fastlane/metadata/default/privacy_url.txt
Normal file
@@ -0,0 +1 @@
|
||||
|
||||
3
XOLDX_fastlane/metadata/default/release_notes.txt
Normal file
3
XOLDX_fastlane/metadata/default/release_notes.txt
Normal file
@@ -0,0 +1,3 @@
|
||||
<Placeholder>
|
||||
|
||||
Have feedback? Contact us at feedback@antidote.im
|
||||
1
XOLDX_fastlane/metadata/default/support_url.txt
Normal file
1
XOLDX_fastlane/metadata/default/support_url.txt
Normal file
@@ -0,0 +1 @@
|
||||
https://github.com/Zoxcore/Antidote
|
||||
29
XOLDX_fastlane/metadata/en-US/description.txt
Normal file
29
XOLDX_fastlane/metadata/en-US/description.txt
Normal file
@@ -0,0 +1,29 @@
|
||||
Antidote is a free Tox client for iOS.
|
||||
|
||||
Whether it's corporations or governments, digital surveillance today is widespread. Antidote is easy-to-use software that connects you with friends and family without anyone else listening in. While other services may require you to pay for features, Antidote is completely free and comes without advertising.
|
||||
|
||||
|
||||
INSTANT MESSAGING: Chat instantly across the globe with Antidote's secure messages.
|
||||
|
||||
VOICE: Keep in touch with friends and family using Antidote's completely free and encrypted voice calls.
|
||||
|
||||
VIDEO: Catch up face to face, over Antidote's secure video calls.
|
||||
|
||||
FILE SHARING: Trade files, with no artificial limits or caps.
|
||||
|
||||
ENCRYPTED: Everything you do with Antidote is encrypted using open-source libraries. The only people who can see your conversations are the people you're talking with.
|
||||
|
||||
DISTRIBUTED: Antidote has no central servers that can be raided, shut down, or forced to turn over data — the network is made up of its users. Say goodbye to server outages!
|
||||
|
||||
OPEN SOURCE: Antidote is an open source software. You can find source code at https://github.com/Antidote-for-Tox/Antidote
|
||||
|
||||
|
||||
What makes Antidote different?
|
||||
|
||||
Antidote is made by the people who use it — people fed up with the existing options that spy on us, track us, censor us, and keep us from innovating.
|
||||
|
||||
There are no corporate interests, and no hidden agendas. Just the simplicity and functionality that are set free when people truly want to connect.
|
||||
|
||||
If you have any questions or feedback you can email us at feedback@antidote.im.
|
||||
|
||||
This text is a derivative of text from https://tox.chat/, is licensed under CC BY-SA 4.0.
|
||||
1
XOLDX_fastlane/metadata/en-US/keywords.txt
Normal file
1
XOLDX_fastlane/metadata/en-US/keywords.txt
Normal file
@@ -0,0 +1 @@
|
||||
messenger,message,tox,itox,secure,private,calls,video,audio,privacy,security,p2p,encrypted,encrypt
|
||||
29
XOLDX_fastlane/metadata/fr-FR/description.txt
Normal file
29
XOLDX_fastlane/metadata/fr-FR/description.txt
Normal file
@@ -0,0 +1,29 @@
|
||||
Antidote est un client Tox libre et gratuit pour iOS.
|
||||
|
||||
Que ce soit des sociétés ou des gouvernements, la surveillance numérique est aujourd'hui très répandue. Antidote est un logiciel facile à utiliser qui vous connecte avec vos amis et votre famille, sans que personne d'autre ne sache ce que vous dites. Tandis que les autres grosses entreprises vous demandent de payer pour des fonctionnalités, Antidote est complètement gratuit et sans pub — pour toujours !
|
||||
|
||||
|
||||
MESSAGERIE INSTANTANÉE: Discutez instantanément à travers le monde en profitant des messages sécurisés d'Antidote.
|
||||
|
||||
APPELS AUDIOS: Restez en contact avec vos amis et votre famille en utilisant les appels audio chiffrés et complètement gratuits que vous propose Antidote.
|
||||
|
||||
APPELS VIDÉOS: Partagez en face à face grâce aux appels sécurisés d'Antidote.
|
||||
|
||||
TRANSFERTS DE FICHIERS: Envoyez des fichiers, sans aucune limite artificielle avec une sécurité accrue.
|
||||
|
||||
CHIFFRÉ: Tout ce que vous faites avec Antidote est chiffré avec des librairies open-source. La seule personne qui peut voir vos conversations est celle avec qui vous échangez.
|
||||
|
||||
DISTRIBUÉ: Antidote n'a pas de serveurs qui peuvent être attaqués, arrêtés ou obligés de révéler vos données privées — le réseau est composé de ses utilisateurs. Dites adieu aux pannes de serveur !
|
||||
|
||||
OPEN SOURCE: Antidote est un logiciel libre. Vous pouvez trouver le code source à l'adresse https://github.com/Antidote-for-Tox/Antidote
|
||||
|
||||
|
||||
Qu'est-ce qui rend Antidote différent ?
|
||||
|
||||
Antidote est conçu par les personnes qui l'utilise — des personnes qui en ont marre des solutions existantes qui nous espionnent, nous traquent, nous censurent et nous empêche d'innover.
|
||||
|
||||
Il n'y a aucun intérêts commerciaux, et pas d'intentions cachées. Seulement la simplicité et la fonctionnalité pour les personnes qui souhaitent vraiment se connecter.
|
||||
|
||||
Si vous avez des questions ou des avis vous pouvez nous envoyer un mail à l'adresse feedback@antidote.im
|
||||
|
||||
Ce texte est dérivé du texte de https://tox.chat/ et est sous license CC BY-SA 4.0.
|
||||
1
XOLDX_fastlane/metadata/fr-FR/keywords.txt
Normal file
1
XOLDX_fastlane/metadata/fr-FR/keywords.txt
Normal file
@@ -0,0 +1 @@
|
||||
chat,message,tox,itox,sécurisé,privé,appels,vidéo,audio,vie privée,sécurité,p2p,chiffré,chiffrer
|
||||
1
XOLDX_fastlane/metadata/primary_category.txt
Normal file
1
XOLDX_fastlane/metadata/primary_category.txt
Normal file
@@ -0,0 +1 @@
|
||||
MZGenre.SocialNetworking
|
||||
1
XOLDX_fastlane/metadata/primary_first_sub_category.txt
Normal file
1
XOLDX_fastlane/metadata/primary_first_sub_category.txt
Normal file
@@ -0,0 +1 @@
|
||||
|
||||
1
XOLDX_fastlane/metadata/primary_second_sub_category.txt
Normal file
1
XOLDX_fastlane/metadata/primary_second_sub_category.txt
Normal file
@@ -0,0 +1 @@
|
||||
|
||||
1
XOLDX_fastlane/metadata/secondary_category.txt
Normal file
1
XOLDX_fastlane/metadata/secondary_category.txt
Normal file
@@ -0,0 +1 @@
|
||||
|
||||
1
XOLDX_fastlane/metadata/secondary_first_sub_category.txt
Normal file
1
XOLDX_fastlane/metadata/secondary_first_sub_category.txt
Normal file
@@ -0,0 +1 @@
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
|
||||
Reference in New Issue
Block a user