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.
Andreas Buff 37a1b0a399 IOSAD-218 rm needless header search path 1 year ago
Submodules/pEpNotifications IOSAD-218 rm needless header search path 1 year ago
pEpMacOSAdapter IOSAD-218 Fixes: messy include. 1 year ago
pEpMacOSAdapter.xcodeproj IOSAD-218 makes sure to use correct downloadclient.a 1 year ago
pEpMacOSAdapter.xcworkspace uses download client repo again. Donwloadclient will be used by other products too (future linux & Windows updater) 2 years ago
pEpNotifications/pEpNotifications Translated using Weblate (Ukrainian) 2 years ago
.gitignore connect 2 years ago
LICENSE Initial commit 2 years ago IOSAD-218 updates readme 1 year ago

p≡p macOS Desktop adapter

This adapter will sport three main features:

  • p≡p API via Apple XPC (not yet implemented)
  • p≡p API via p≡p JSON adapter (still provided by miniadapter)
  • p≡p Update Client


This software is supporting macOS 10.10 and later.

Required Tools

sudo port install git
sudo port install mercurial
sudo port install gmake
sudo port install autoconf
sudo port install libtool
sudo port install automake
sudo port install wget

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


Using Xcode UI

open pEpMacOSAdapter/pEpMacOSAdapter.xcworkspace/

Build scheme "All" of pEpMacOSAdapter.xcworkspace

Using terminal

xcodebuild -workspace "pEpMacOSAdapter.xcworkspace" -scheme "All" -configuration [RELEASE|DEBUG]

Build Dir & Build Artefacts

You can find the build artefacts in the build folder of 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:

  • 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 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.