pEp macOS Desktop adapter
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
David Alarcon 65c228a215 APPLEMAIL-63 Unlink objc types static library. 9 months ago
Scripts Add install script to pepMacOSAdapter. Delete unused scripts in PEPObjCAdapterXPCService. 1 year ago
Subprojects APPLEMAIL-63 Unlink objc types static library. 9 months ago
pEpMacOSAdapter Fixes: Undefined Symbols caused by ObjC Foundation stuff not bridged to Swift. 1 year ago
pEpMacOSAdapter.xcodeproj IOSAD-214 Update scheme. 9 months ago
pEpMacOSAdapter.xcworkspace APPLEMAIL-51 Rename pEpNotifications folder. 1 year ago
.gitignore Fix modulemap ignored. 1 year ago
LICENSE Initial commit 2 years ago IOSAD-218-again-for-master updated readme 10 months ago

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)


PER_MACHINE_DIRECTORY="/Library/Application Support/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
curl -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
git clone
git clone
git clone
git clone
git clone
git clone
git clone


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


The implementation is split in to parts:

  1. the working code is in pEpMacOSAdapter; the implementation is in Objective C
  2. 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.