Private
Public Access
1
0

4 Commits
v0.1.1 ... main

Author SHA1 Message Date
cdc40774c4 fix(ci): switch to signed IPA build via APPLE_SIGNING group
Replace unsigned CODE_SIGNING_ALLOWED=NO build with proper ad-hoc
signed archive using keychain, certificate, and provisioning profile.
Update xtool.yml schema to match current xtool v1 format.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-09 13:27:54 +01:00
5847294a80 feat(sidestore): add SilverLABS anisette server list 2026-04-07 20:21:51 +00:00
343481d053 chore(altstore): remove stale empty-version entry from failed build 2026-04-06 22:27:00 +01:00
13a3dc4890 chore(altstore): update source for v0.1.1 2026-04-06 21:22:42 +00:00
4 changed files with 61 additions and 36 deletions

View File

@@ -11,7 +11,7 @@
"name": "SilverApple", "name": "SilverApple",
"bundleIdentifier": "uk.silverlabs.silverapple", "bundleIdentifier": "uk.silverlabs.silverapple",
"developerName": "SilverLABS", "developerName": "SilverLABS",
"downloadURL": "https://git.silverlabs.uk/SilverLABS/SilverApple/releases/download//SilverApple.ipa", "downloadURL": "https://git.silverlabs.uk/SilverLABS/SilverApple/releases/download/v0.1.1/SilverApple.ipa",
"subtitle": "Privacy companion for iOS", "subtitle": "Privacy companion for iOS",
"localizedDescription": "SilverApple integrates your device with the SilverLABS ecosystem — MDM enrollment, privacy hardening checks, and Passport authentication.", "localizedDescription": "SilverApple integrates your device with the SilverLABS ecosystem — MDM enrollment, privacy hardening checks, and Passport authentication.",
"iconURL": "https://git.silverlabs.uk/SilverLABS/SilverApple/raw/branch/main/SilverApple/Assets.xcassets/AppIcon.appiconset/Icon-60@2x.png", "iconURL": "https://git.silverlabs.uk/SilverLABS/SilverApple/raw/branch/main/SilverApple/Assets.xcassets/AppIcon.appiconset/Icon-60@2x.png",
@@ -19,12 +19,12 @@
"category": "utilities", "category": "utilities",
"versions": [ "versions": [
{ {
"version": "", "version": "0.1.1",
"buildVersion": "", "buildVersion": "0.1.1",
"date": "2026-04-06T21:09:48Z", "date": "2026-04-06T21:22:41Z",
"localizedDescription": "See release notes.", "localizedDescription": "See release notes.",
"downloadURL": "https://git.silverlabs.uk/SilverLABS/SilverApple/releases/download//SilverApple.ipa", "downloadURL": "https://git.silverlabs.uk/SilverLABS/SilverApple/releases/download/v0.1.1/SilverApple.ipa",
"sha256": "30e7d3cdd5f5c6e88fbf16cfe20cf646f4ced79e84a8b321702861182744b83e", "sha256": "fa2004dee56567a11b134461bc3736417a2f84f015bf2944e6872fda020e0399",
"size": 91467 "size": 91467
} }
] ]

View File

@@ -15,6 +15,7 @@ workflows:
xcode: latest xcode: latest
groups: groups:
- SLABS - SLABS
- APPLE_SIGNING
vars: vars:
BUNDLE_ID: uk.silverlabs.silverapple BUNDLE_ID: uk.silverlabs.silverapple
GITEA_REPO: SilverLABS/SilverApple GITEA_REPO: SilverLABS/SilverApple
@@ -26,7 +27,26 @@ workflows:
brew install xcodegen brew install xcodegen
xcodegen generate --spec project.yml xcodegen generate --spec project.yml
- name: Build (unsigned) - name: Initialize keychain
script: keychain initialize
- name: Install signing certificate
script: |
echo $CM_CERTIFICATE | base64 --decode > /tmp/cert.p12
keychain add-certificates \
--certificate /tmp/cert.p12 \
--certificate-password $CM_CERTIFICATE_PASSWORD
- name: Install provisioning profile
script: |
echo $CM_PROVISIONING_PROFILE | base64 --decode > /tmp/profile.mobileprovision
mkdir -p ~/Library/MobileDevice/Provisioning\ Profiles
cp /tmp/profile.mobileprovision ~/Library/MobileDevice/Provisioning\ Profiles/
- name: Configure Xcode signing
script: xcode-project use-profiles
- name: Build (signed)
script: | script: |
xcodebuild archive \ xcodebuild archive \
-project SilverApple.xcodeproj \ -project SilverApple.xcodeproj \
@@ -34,26 +54,28 @@ workflows:
-destination "generic/platform=iOS" \ -destination "generic/platform=iOS" \
-configuration Release \ -configuration Release \
-archivePath "$CM_BUILD_DIR/SilverApple.xcarchive" \ -archivePath "$CM_BUILD_DIR/SilverApple.xcarchive" \
CODE_SIGNING_ALLOWED=NO \ DEVELOPMENT_TEAM="$APPLE_TEAM_ID" \
CODE_SIGNING_REQUIRED=NO \ CODE_SIGN_STYLE=Manual
CODE_SIGN_IDENTITY="" \
PROVISIONING_PROFILE=""
- name: Package IPA - name: Export signed IPA
script: | script: |
cd "$CM_BUILD_DIR" cat > /tmp/ExportOptions.plist << 'EOF'
APP=$(find SilverApple.xcarchive/Products -name "*.app" -type d | head -1) <?xml version="1.0" encoding="UTF-8"?>
if [ -z "$APP" ]; then <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
echo "ERROR: No .app found in xcarchive. Contents:" <plist version="1.0">
find SilverApple.xcarchive -type d | head -30 <dict>
exit 1 <key>method</key>
fi <string>ad-hoc</string>
echo "Packaging: $APP" <key>signingStyle</key>
mkdir -p Payload <string>manual</string>
cp -r "$APP" Payload/ </dict>
zip -r SilverApple.ipa Payload/ </plist>
rm -rf Payload EOF
echo "IPA size: $(du -sh SilverApple.ipa | cut -f1)" xcodebuild -exportArchive \
-archivePath "$CM_BUILD_DIR/SilverApple.xcarchive" \
-exportPath "$CM_BUILD_DIR/export" \
-exportOptionsPlist /tmp/ExportOptions.plist
cp "$CM_BUILD_DIR/export/SilverApple.ipa" "$CM_BUILD_DIR/SilverApple.ipa"
- name: Publish to Gitea - name: Publish to Gitea
script: | script: |

8
servers.json Normal file
View File

@@ -0,0 +1,8 @@
{
"servers": [
{
"name": "SilverLABS Anisette",
"address": "https://anisette.silverlabs.uk"
}
]
}

View File

@@ -1,13 +1,8 @@
# xTool configuration — https://xtool.sh # xTool configuration — https://xtool.sh
# Run `xtool configure` once to set up your Apple ID credentials and Darwin SDK. # Run `xtool setup` once to configure your Apple ID credentials and extract the Darwin SDK.
# Then: `xtool run` to build and install directly to a connected device. # Then: `xtool dev` to build and deploy directly to a connected USB device.
targets: version: 1
SilverApple: bundleID: uk.silverlabs.silverapple
bundleIdentifier: uk.silverlabs.silverapple infoPath: SilverApple/Info.plist
# Fill in your Apple Developer Team ID (10-char string from developer.apple.com) entitlementsPath: SilverApple/SilverApple.entitlements
teamID: ""
infoPlist: SilverApple/Info.plist
entitlements: SilverApple/SilverApple.entitlements
deploymentTarget: "16.0"
deviceFamily: [iphone]