Sideload KDE Connect iOS
For general audience, please use the official App Store/TestFlight releases.
This is intended for contributors outside of K Desktop Environment e.V. development group to test their code on a physical device before opening a merge request. This process should theoretically work even if you don’t have a paid Apple Developer account, though I’ve never tested.
THE INSTRUCTION IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE INSTRUCTION OR THE USE OR OTHER DEALINGS IN THE INSTRUCTION.
- Download KDE Connect iOS source code from GitHub mirror/KDE Invent
- Open
KDE Connect.xcodeproj
in Xcode- In
Build Settings
for targetKDE Connect
, deleteCode Signing Entitlements
(but do not delete the entitlements file) - In
Singing & Capabilities
for targetKDE Connect
, change theTeam
andBundle Identifier
so the project builds forAny iOS Device
. - In
Products
folder, right click onKDE Connect
(which shouldn’t be red) and selectShow In Finder
- In
- In terminal, navigate to the folder containing
KDE Connect.xcodeproj
- In terminal, type the following commands line by line (other than comments starting with
#
). See References section about what each of these lines do:1
2
3
4
5
6
7
8build=#drag the KDE Connect.app here from Finder
security cms -D -i "$build/embedded.mobileprovision" > provision.plist
name=$(basename "`pwd`")
/usr/libexec/PlistBuddy -x -c 'Print:Entitlements' provision.plist > entitlements.plist
# Note that extra ' is added because name contains whitespace in path
/usr/libexec/PlistBuddy -x -c "Merge '$name/$name.entitlements'" entitlements.plist
# Replace `YOUR NAME (TEAM)` with the actual value of your Apple Development Certificate name (found in KeyChain Access)
codesign -d --entitlements entitlements.plist -f -s "Apple Development: YOUR NAME (TEAM)" $build - Place the
KDE Connect.app
in a folder namedPayload
, zip thePayload
folder, and (re)name itKDE Connect.ipa
- Install self-signed
KDE Connect.ipa
on your own physical device for testing (requires jailbreaking or apps like Sideloadly)