mirror of
https://github.com/StikDebug/StikDebug.git
synced 2026-10-15 20:10:30 +00:00
commit
430fdc5acb
3 changed files with 115 additions and 7 deletions
2
.gitignore
vendored
2
.gitignore
vendored
|
|
@ -89,3 +89,5 @@ fastlane/test_output
|
|||
|
||||
iOSInjectionProject/
|
||||
.DS_Store
|
||||
.vscode/settings.json
|
||||
.vscode
|
||||
|
|
|
|||
83
Makefile
Normal file
83
Makefile
Normal file
|
|
@ -0,0 +1,83 @@
|
|||
# StikJIT Makefile
|
||||
# By neoarz
|
||||
|
||||
# Path to code signing tool
|
||||
TARGET_CODESIGN = $(shell which ldid)
|
||||
|
||||
# Build configuration settings
|
||||
PLATFORM = iphoneos
|
||||
NAME = StikJIT
|
||||
SCHEME ?= 'StikJIT'
|
||||
RELEASE = Release-iphoneos
|
||||
CONFIGURATION = Release
|
||||
|
||||
# SDK paths for compilation
|
||||
MACOSX_SYSROOT = $(shell xcrun -sdk macosx --show-sdk-path)
|
||||
TARGET_SYSROOT = $(shell xcrun -sdk $(PLATFORM) --show-sdk-path)
|
||||
|
||||
# Temporary build directories
|
||||
APP_TMP = $(TMPDIR)/$(NAME)
|
||||
STAGE_DIR = $(APP_TMP)/stage
|
||||
APP_DIR = $(APP_TMP)/Build/Products/$(RELEASE)/$(NAME).app
|
||||
|
||||
# Default target
|
||||
all: package
|
||||
|
||||
# Main build target - compiles and packages the application
|
||||
package:
|
||||
# Clean any previous build artifacts
|
||||
@rm -rf $(APP_TMP)
|
||||
|
||||
# Build the app with xcodebuild
|
||||
# Uses parallel jobs to speed up compilation
|
||||
@set -o pipefail; \
|
||||
xcodebuild \
|
||||
-jobs $(shell sysctl -n hw.ncpu) \
|
||||
-project '$(NAME).xcodeproj' \
|
||||
-scheme $(SCHEME) \
|
||||
-configuration $(CONFIGURATION) \
|
||||
-arch arm64 -sdk $(PLATFORM) \
|
||||
-derivedDataPath $(APP_TMP) \
|
||||
CODE_SIGNING_ALLOWED=NO \
|
||||
DSTROOT=$(APP_TMP)/install \
|
||||
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES=NO \
|
||||
ONLY_ACTIVE_ARCH=NO \
|
||||
CODE_SIGN_IDENTITY="" \
|
||||
CODE_SIGNING_REQUIRED=NO \
|
||||
SWIFT_OPTIMIZATION_LEVEL="-Onone" \
|
||||
IPHONEOS_DEPLOYMENT_TARGET=17.4
|
||||
|
||||
# Prepare the directory structure for packaging
|
||||
@rm -rf Payload
|
||||
@rm -rf $(STAGE_DIR)/
|
||||
@mkdir -p $(STAGE_DIR)/Payload
|
||||
@mv $(APP_DIR) $(STAGE_DIR)/Payload/$(NAME).app
|
||||
|
||||
# Debug output - show paths for troubleshooting
|
||||
@echo $(APP_TMP)
|
||||
@echo $(STAGE_DIR)
|
||||
|
||||
# Remove Apple's code signature so we can use our own
|
||||
@rm -rf $(STAGE_DIR)/Payload/$(NAME).app/_CodeSignature
|
||||
|
||||
# Set up symbolic link for packaging
|
||||
@ln -sf $(STAGE_DIR)/Payload Payload
|
||||
|
||||
# Prepare packages directory
|
||||
@rm -rf packages
|
||||
@mkdir -p packages
|
||||
|
||||
# Create standard IPA package
|
||||
# Using max compression level (9) for smaller file size
|
||||
@zip -r9 packages/$(NAME).ipa Payload
|
||||
@rm -rf Payload
|
||||
|
||||
# Clean target - removes all temporary files and build artifacts
|
||||
clean:
|
||||
@rm -rf $(STAGE_DIR)
|
||||
@rm -rf packages
|
||||
@rm -rf out.dmg
|
||||
@rm -rf $(APP_TMP)
|
||||
|
||||
# Phony target declaration
|
||||
.PHONY: apple-include
|
||||
37
README.md
37
README.md
|
|
@ -42,7 +42,7 @@
|
|||
- Native UI for managing JIT-enabling.
|
||||
- No data collection—ensuring full privacy.
|
||||
|
||||
## Compiling Instructions
|
||||
## Building Instructions
|
||||
|
||||
1. **Clone the repository:**
|
||||
```sh
|
||||
|
|
@ -50,13 +50,36 @@
|
|||
cd StikJIT
|
||||
```
|
||||
|
||||
2. **Open in Xcode:**
|
||||
Open `StikJIT.xcodeproj` in Xcode.
|
||||
2. **Build using Makefile:**
|
||||
```sh
|
||||
make package # Build unsigned .ipa
|
||||
```
|
||||
|
||||
3. **Build and Run:**
|
||||
- Connect your iOS device.
|
||||
- Select your device in Xcode.
|
||||
- Build and run the project.
|
||||
3. **Updating:**
|
||||
```sh
|
||||
git pull
|
||||
make clean # Clean previous build
|
||||
make package # Rebuild
|
||||
```
|
||||
> [!WARNING]
|
||||
> The __Makefile__ build creates an unsigned .ipa in the `packages` directory. While this is useful for quick builds, please use Xcode for development and debugging. When submitting pull requests or reporting issues, ensure you've tested your changes thoroughly using Xcode.
|
||||
|
||||
|
||||
|
||||
## Contributing
|
||||
```sh
|
||||
# Clone the repository
|
||||
git clone https://github.com/0-Blu/StikJIT.git
|
||||
cd StikJIT
|
||||
|
||||
# Open in Xcode
|
||||
open StikJIT.xcodeproj
|
||||
```
|
||||
|
||||
Then in Xcode:
|
||||
- Connect your iOS device
|
||||
- Select your device in Xcode
|
||||
- Build and run the project (⌘R)
|
||||
|
||||
## License
|
||||
StikJIT is licensed under **AGPL-3.0**. See [`LICENSE`](LICENSE) for details.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue