-
Dariusz Rybicki authoredDariusz Rybicki authored
XXClient-quick-start-guide.md 2.14 KiB
XXClient Quick Start Guide
Add XXClient
library as a dependency to your project using Swift Package Manager.
▶️ Instantiating cMix
You can use a convenient CMixManager
wrapper to manage cMix stored on disk:
let cMixManager: CMixManager = .live(
passwordStorage: .init(
save: { password in
// securely save provided password
},
load: {
// load securely stored password
}
)
)
let cMix: CMix
if cMixManager.hasStorage() {
cMix = try cMixManager.load()
} else {
cMix = try cMixManager.create()
}
Check out included example iOS application for the PasswordStorage
implementation that uses the iOS keychain.
▶️ Connecting to the network
Start network follower:
try cMix.startNetworkFollower(timeoutMS: 10_000)
Wait until connected:
let isNetworkHealthy = try cMix.waitForNetwork(timeoutMS: 30_000)
▶️ Making a new reception identity
Use the cMix to make a new reception identity:
let myIdentity = try cMix.makeReceptionIdentity()
▶️ Create new E2E
let login: Login = .live
let e2e = try login(
cMixId: cMix.getId(),
identity: myIdentity
)
▶️ Connecting to remote
Perform auth key negotiation with the given recipient to get the Connection
:
let connection = try cMix.connect(
withAuthentication: false,
e2eId: e2e.getId(),
recipientContact: ...
)
Pass true
for the withAuthentication
parameter if you want to prove id ownership to remote as well.