![]() * APPLEMAIL-45: APPLEMAIL-45 Add undo xpc call. APPLEMAIL-45 Add xpc calls for trust and mistrust. Add confirm trust and deny trust xpc calls. APPLEMAIL-45 Add reset key xpc call. APPLEMAIL-45 Add trustwords call. APPLEMAIL-45 Add update and rateIdentity in XPC connection. |
||
---|---|---|
Scripts | ||
Subprojects | ||
pEpMacOSAdapter | ||
pEpMacOSAdapter.xcodeproj | ||
pEpMacOSAdapter.xcworkspace | ||
.gitignore | ||
LICENSE | ||
README.md |
README.md
p≡p macOS Desktop adapter
This adapter sports three main features:
- p≡p API via Apple XPC
- p≡p Update Client
Missing Features
- p≡p API via p≡p JSON adapter (still provided by miniadapter)
Deployment
PER_MACHINE_DIRECTORY="/Library/Application Support/pEp"
PER_USER_DIRECTORY=$HOME/.pEp
This software is supporting macOS 10.10 and later.
Required Tools
For building the engine, you need a working python3 environment and all dependencies:
sudo port install git
sudo port install gmake
sudo port install autoconf
sudo port install libtool
sudo port install automake
sudo port install wget
sudo port install gsed
pushd ~
git clone https://gitea.pep.foundation/fdik/yml2
popd
curl https://sh.rustup.rs -sSf | sh
add this to ~/.profile (create if it doesn't exist):
source $HOME/.cargo/env
export PATH="$HOME/.cargo/bin:$PATH"
restart your Console (!)
sudo port install pkgconfig
rustup update
Install Xcode (if not installed already)
Apple IDs & Certificates
Apple ID
You need to have an Apple ID (connected to pEp team account) configured in Xcode . Ask #service
, if you want to be added to the team account.
Build Dependencies
mkdir src_pEpMacOSAdapter
cd src_pEpMacOSAdapter
git clone https://gitea.pep.foundation/buff/common-dependency-build-helpers-4-apple-hardware.git
git clone http://pep-security.lu/gitlab/iOS/pep-toolbox.git
git clone https://pep-security.lu/gitlab/iOS/CocoaLumberjack
git clone https://pep-security.lu/gitlab/misc/libetpan.git
git clone https://pep-security.lu/gitlab/misc/sqlite.git
git clone https://gitea.pep.foundation/pEp.foundation/pEpEngine
git clone https://gitea.pep.foundation/pep.foundation/pEpObjCAdapter.git
git clone https://gitea.pep.foundation/fdik/pEpMacOSAdapter.git
Build
Using Xcode UI
open pEpMacOSAdapter/pEpMacOSAdapter.xcworkspace/
Build scheme "All" of pEpMacOSAdapter.xcworkspace
Using terminal
xcodebuild -workspace "pEpMacOSAdapter.xcworkspace" -scheme "All" -configuration RELEASE
(or DEBUG)
Build Dir & Build Artefacts
You can find the build artefacts in the build
folder odf the project or the used submodules:
src_pEpMacOSAdapter/pEpMacOSAdapter/build/foundation.pEp.adapter.macOS.xpc src_pEpMacOSAdapter/pEpMacOSAdapter/Submodules/pEpNotifications/build/p≡p updates.app
Implementation
The implementation is split in to parts:
- the working code is in pEpMacOSAdapter; the implementation is in Objective C
- the User Interface is in pEpNotifications; the implementation is in Swift
PEPMacOSAdapterProtocol, implemented with XPC
see pEpMacOSAdapter/PEPMacOSAdapterProtocol.h
This protocol is provided to the User Interface to get informed when a download was happening. When a subscription is active updateNow() can be used to search for immediate updates.