Skip to content

Commit 5932ff3

Browse files
committed
Add build workflow and gitignore
1 parent 3ac7a53 commit 5932ff3

File tree

2 files changed

+70
-0
lines changed

2 files changed

+70
-0
lines changed

.github/workflows/build.yml

Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
name: Build IPA with Fake Signing
2+
3+
on:
4+
push:
5+
branches: [main] # Or your default branch
6+
workflow_dispatch: # Allows manual triggering
7+
8+
jobs:
9+
build:
10+
runs-on: macos-latest # Use the latest macOS runner
11+
12+
steps:
13+
- name: Checkout repository
14+
uses: actions/checkout@v4
15+
16+
- name: Install ldid
17+
run: brew install ldid
18+
19+
# - name: Select Xcode version (Optional - Adjust if needed)
20+
# run: sudo xcode-select -s /Applications/Xcode_$(xcodebuild -version | grep Xcode | cut -d' ' -f2).app
21+
22+
- name: Build Xcode Archive
23+
run: |
24+
xcodebuild archive \
25+
-project StosVPN.xcodeproj \
26+
-scheme StosVPN \
27+
-destination 'generic/platform=iOS' \
28+
-archivePath build/StosVPN.xcarchive \
29+
CODE_SIGN_IDENTITY="" \
30+
CODE_SIGNING_REQUIRED=NO \
31+
CODE_SIGNING_ALLOWED=NO
32+
33+
- name: Create Payload directory
34+
run: mkdir -p Payload
35+
36+
- name: Copy App to Payload
37+
run: cp -R build/StosVPN.xcarchive/Products/Applications/StosVPN.app Payload/
38+
39+
- name: Find and Sign App Extension
40+
run: |
41+
APPEX_PATH=$(find Payload/StosVPN.app/PlugIns -name "*.appex" | head -n 1)
42+
if [ -z "$APPEX_PATH" ]; then
43+
echo "Error: App Extension (.appex) not found in PlugIns directory."
44+
exit 1
45+
fi
46+
echo "Found App Extension at: $APPEX_PATH"
47+
# Use the specific entitlements for the extension
48+
ldid -S"${GITHUB_WORKSPACE}/TunnelProv/TunnelProv.entitlements" "$APPEX_PATH/$(basename "$APPEX_PATH" .appex)"
49+
echo "Signed App Extension."
50+
51+
- name: Sign Main App Bundle
52+
run: |
53+
APP_BINARY_PATH="Payload/StosVPN.app/StosVPN"
54+
# Use the specific entitlements for the main app
55+
ldid -S"${GITHUB_WORKSPACE}/StosVPN/StosVPN.entitlements" "$APP_BINARY_PATH"
56+
echo "Signed Main App Bundle."
57+
58+
- name: Create IPA
59+
run: |
60+
cd Payload
61+
zip -r ../StosVPN-fakesigned.ipa .
62+
cd .. # Go back to the root directory
63+
64+
- name: Upload IPA Artifact
65+
uses: actions/upload-artifact@v4
66+
with:
67+
name: StosVPN-IPA.ipa
68+
path: StosVPN-fakesigned.ipa

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
*.ipa
2+
/build

0 commit comments

Comments
 (0)