mirror of
https://github.com/SideStore/SideStore.git
synced 2026-02-12 00:03:27 +01:00
Compare commits
15 Commits
feature/Da
...
l10n_devel
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
337d26333e | ||
|
|
ebb64d255b | ||
|
|
7dcb199f68 | ||
|
|
4334e887de | ||
|
|
4e84dc4cc8 | ||
|
|
1a1ed072bf | ||
|
|
ae457f07c4 | ||
|
|
00095942c3 | ||
|
|
d1caa5fc21 | ||
|
|
813e2f97ac | ||
|
|
bcb5a90f5e | ||
|
|
020a1a3149 | ||
|
|
c4d649ec58 | ||
|
|
c02cf2c284 | ||
|
|
c30afd042e |
8
.github/workflows/beta.yml
vendored
8
.github/workflows/beta.yml
vendored
@@ -41,12 +41,18 @@ jobs:
|
||||
- name: Convert to IPA
|
||||
run: make ipa
|
||||
|
||||
- name: Upload Artifact
|
||||
- name: Upload SideStore.ipa Artifact
|
||||
uses: actions/upload-artifact@v3.1.0
|
||||
with:
|
||||
name: SideStore.ipa
|
||||
path: SideStore.ipa
|
||||
|
||||
- name: Upload *.dSYM Artifact
|
||||
uses: actions/upload-artifact@v3.1.0
|
||||
with:
|
||||
name: SideStore-dSYM
|
||||
path: ./*.dSYM/
|
||||
|
||||
- name: Get version
|
||||
id: version
|
||||
run: echo "version=$(grep MARKETING_VERSION Build.xcconfig | sed -e "s/MARKETING_VERSION = //g")" >> $GITHUB_OUTPUT
|
||||
|
||||
13
.github/workflows/danger.yml
vendored
13
.github/workflows/danger.yml
vendored
@@ -1,13 +0,0 @@
|
||||
name: "Danger Swift"
|
||||
on: [pull_request]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
name: Danger JS
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v1
|
||||
- name: Danger Swift
|
||||
uses: danger/swift@2.0.3
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
8
.github/workflows/nightly.yml
vendored
8
.github/workflows/nightly.yml
vendored
@@ -50,12 +50,18 @@ jobs:
|
||||
- name: Convert to IPA
|
||||
run: make ipa
|
||||
|
||||
- name: Upload Artifact
|
||||
- name: Upload SideStore.ipa Artifact
|
||||
uses: actions/upload-artifact@v3.1.0
|
||||
with:
|
||||
name: SideStore.ipa
|
||||
path: SideStore.ipa
|
||||
|
||||
- name: Upload *.dSYM Artifact
|
||||
uses: actions/upload-artifact@v3.1.0
|
||||
with:
|
||||
name: SideStore-dSYM
|
||||
path: ./*.dSYM/
|
||||
|
||||
- name: Get version
|
||||
id: version
|
||||
run: echo "version=$(grep MARKETING_VERSION Build.xcconfig | sed -e "s/MARKETING_VERSION = //g")" >> $GITHUB_OUTPUT
|
||||
|
||||
8
.github/workflows/pr.yml
vendored
8
.github/workflows/pr.yml
vendored
@@ -39,8 +39,14 @@ jobs:
|
||||
- name: Convert to IPA
|
||||
run: make ipa
|
||||
|
||||
- name: Upload Artifact
|
||||
- name: Upload SideStore.ipa Artifact
|
||||
uses: actions/upload-artifact@v3.1.0
|
||||
with:
|
||||
name: SideStore.ipa
|
||||
path: SideStore.ipa
|
||||
|
||||
- name: Upload *.dSYM Artifact
|
||||
uses: actions/upload-artifact@v3.1.0
|
||||
with:
|
||||
name: SideStore-dSYM
|
||||
path: ./*.dSYM/
|
||||
|
||||
8
.github/workflows/stable.yml
vendored
8
.github/workflows/stable.yml
vendored
@@ -41,12 +41,18 @@ jobs:
|
||||
- name: Convert to IPA
|
||||
run: make ipa
|
||||
|
||||
- name: Upload Artifact
|
||||
- name: Upload SideStore.ipa Artifact
|
||||
uses: actions/upload-artifact@v3.1.0
|
||||
with:
|
||||
name: SideStore.ipa
|
||||
path: SideStore.ipa
|
||||
|
||||
- name: Upload *.dSYM Artifact
|
||||
uses: actions/upload-artifact@v3.1.0
|
||||
with:
|
||||
name: SideStore-dSYM
|
||||
path: ./*.dSYM/
|
||||
|
||||
- name: Get version
|
||||
id: version
|
||||
run: echo "version=$(grep MARKETING_VERSION Build.xcconfig | sed -e "s/MARKETING_VERSION = //g")" >> $GITHUB_OUTPUT
|
||||
|
||||
4
.gitignore
vendored
4
.gitignore
vendored
@@ -35,10 +35,10 @@ xcuserdata
|
||||
## AppCode specific
|
||||
.idea/
|
||||
|
||||
.build
|
||||
|
||||
Payload/
|
||||
SideStore.ipa
|
||||
*.dSYM
|
||||
|
||||
Dependencies/.*-prebuilt-fetch-*
|
||||
Dependencies/minimuxer/*
|
||||
Dependencies/em_proxy/*
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
#include "Build.xcconfig"
|
||||
|
||||
PRODUCT_BUNDLE_IDENTIFIER = $(ORG_PREFIX).$(PRODUCT_NAME)
|
||||
PRODUCT_BUNDLE_IDENTIFIER = $(PRODUCT_BUNDLE_IDENTIFIER)
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
<key>ALTPairingFile</key>
|
||||
<string><insert pairing file here></string>
|
||||
<key>ALTAnisetteURL</key>
|
||||
<string>https://sideloadly.io/anisette/irGb3Quww8zrhgqnzmrx</string>
|
||||
<string>https://ani.sidestore.io</string>
|
||||
<key>CFBundleDevelopmentRegion</key>
|
||||
<string>$(DEVELOPMENT_LANGUAGE)</string>
|
||||
<key>CFBundleDocumentTypes</key>
|
||||
|
||||
@@ -120,45 +120,45 @@ enum OperationError: LocalizedError
|
||||
|
||||
func minimuxer_to_operation(code: Int32) -> OperationError {
|
||||
switch code {
|
||||
case -1:
|
||||
case 1:
|
||||
return OperationError.noDevice
|
||||
case -2:
|
||||
case 2:
|
||||
return OperationError.createService(name: "debug")
|
||||
case -3:
|
||||
case 3:
|
||||
return OperationError.createService(name: "instproxy")
|
||||
case -4:
|
||||
case 4:
|
||||
return OperationError.getFromDevice(name: "installed apps")
|
||||
case -5:
|
||||
case 5:
|
||||
return OperationError.getFromDevice(name: "path to the app")
|
||||
case -6:
|
||||
case 6:
|
||||
return OperationError.getFromDevice(name: "bundle path")
|
||||
case -7:
|
||||
case 7:
|
||||
return OperationError.setArgument(name: "max packet")
|
||||
case -8:
|
||||
case 8:
|
||||
return OperationError.setArgument(name: "working directory")
|
||||
case -9:
|
||||
case 9:
|
||||
return OperationError.setArgument(name: "argv")
|
||||
case -10:
|
||||
case 10:
|
||||
return OperationError.getFromDevice(name: "launch success")
|
||||
case -11:
|
||||
case 11:
|
||||
return OperationError.detach
|
||||
case -12:
|
||||
case 12:
|
||||
return OperationError.functionArguments
|
||||
case -13:
|
||||
case 13:
|
||||
return OperationError.createService(name: "AFC")
|
||||
case -14:
|
||||
case 14:
|
||||
return OperationError.afc
|
||||
case -15:
|
||||
case 15:
|
||||
return OperationError.install
|
||||
case -16:
|
||||
case 16:
|
||||
return OperationError.uninstall
|
||||
case -17:
|
||||
case 17:
|
||||
return OperationError.createService(name: "misagent")
|
||||
case -18:
|
||||
case 18:
|
||||
return OperationError.profileInstall
|
||||
case -19:
|
||||
case 19:
|
||||
return OperationError.profileInstall
|
||||
case -20:
|
||||
case 20:
|
||||
return OperationError.noConnection
|
||||
default:
|
||||
return OperationError.unknown
|
||||
|
||||
@@ -16,15 +16,13 @@
|
||||
<key>Key</key>
|
||||
<string>customAnisetteURL</string>
|
||||
<key>DefaultValue</key>
|
||||
<string>http://ani.sidestore.io</string>
|
||||
<string>https://ani.sidestore.io</string>
|
||||
<key>Titles</key>
|
||||
<array>
|
||||
<string>SideStore</string>
|
||||
<string>Macley (US)</string>
|
||||
<string>Macley (DE)</string>
|
||||
<string>DrPudding</string>
|
||||
<string>jkcoxson (AltServer)</string>
|
||||
<string>jkcoxson (Provision)</string>
|
||||
<string>Sideloadly</string>
|
||||
<string>Nick</string>
|
||||
<string>Jawshoeadan</string>
|
||||
@@ -32,12 +30,10 @@
|
||||
</array>
|
||||
<key>Values</key>
|
||||
<array>
|
||||
<string>http://ani.sidestore.io</string>
|
||||
<string>https://ani.sidestore.io</string>
|
||||
<string>http://us1.sternserv.tech</string>
|
||||
<string>http://de1.sternserv.tech</string>
|
||||
<string>https://sign.rheaa.xyz</string>
|
||||
<string>http://jkcoxson.com:2095</string>
|
||||
<string>http://jkcoxson.com:2052</string>
|
||||
<string>https://sideloadly.io/anisette/irGb3Quww8zrhgqnzmrx</string>
|
||||
<string>http://45.33.29.114</string>
|
||||
<string>https://anisette.jawshoeadan.me</string>
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
// Configuration settings file format documentation can be found at:
|
||||
// https://help.apple.com/xcode/#/dev745c5c974
|
||||
|
||||
MARKETING_VERSION = 0.3.0
|
||||
CURRENT_PROJECT_VERSION = 3020
|
||||
MARKETING_VERSION = 0.3.2
|
||||
CURRENT_PROJECT_VERSION = 3050
|
||||
|
||||
// Vars to be overwritten by `CodeSigning.xcconfig` if exists
|
||||
DEVELOPMENT_TEAM = S32Z3HMYVQ
|
||||
|
||||
137
Dangerfile.swift
137
Dangerfile.swift
@@ -1,137 +0,0 @@
|
||||
import Danger
|
||||
import Foundation
|
||||
// import SwiftLint
|
||||
|
||||
let danger = Danger()
|
||||
|
||||
// fileImport: DangerfileExtensions/ChangelogCheck.swift
|
||||
// checkChangelog()
|
||||
|
||||
// Add a CHANGELOG entry for app changes
|
||||
let hasChangelog = danger.git.modifiedFiles.contains("Changelog.md")
|
||||
let isTrivial = (danger.github.pullRequest.body + danger.github.pullRequest.title).contains("#trivial")
|
||||
|
||||
if (!hasChangelog && !isTrivial) {
|
||||
warn("Please add a changelog entry for your changes.")
|
||||
}
|
||||
|
||||
// PR Too large
|
||||
if danger.git.createdFiles.count + danger.git.modifiedFiles.count - danger.git.deletedFiles.count > 600 {
|
||||
warn("Big PR, try to keep changes smaller if you can")
|
||||
}
|
||||
|
||||
// Check copyright
|
||||
let swiftFilesWithCopyright = danger.git.createdFiles.filter {
|
||||
$0.fileType == .swift
|
||||
&& danger.utils.readFile($0).contains("// Created by")
|
||||
}
|
||||
|
||||
if !swiftFilesWithCopyright.isEmpty {
|
||||
let files = swiftFilesWithCopyright.joined(separator: ", ")
|
||||
warn("In Danger JS we don't include copyright headers, found them in: \(files)")
|
||||
}
|
||||
|
||||
// # This is swiftlint plugin. More info: https://github.com/ashfurrow/danger-swiftlint
|
||||
// #
|
||||
// # This lints all Swift files and leave comments in PR if
|
||||
// # there is any issue with linting
|
||||
let filesToLint = (danger.git.modifiedFiles + danger.git.createdFiles) // .filter { !$0.contains("Documentation/") }
|
||||
|
||||
SwiftLint.lint(.files(filesToLint), inline: true)
|
||||
|
||||
// Support running via `danger local`
|
||||
if danger.github != nil {
|
||||
// These checks only happen on a PR
|
||||
if danger.github.pullRequest.title.contains("WIP") {
|
||||
warn("PR is classed as Work in Progress")
|
||||
}
|
||||
}
|
||||
|
||||
if github.pr_title.contains("WIP") {
|
||||
warn("PR is classed as Work in Progress")
|
||||
}
|
||||
|
||||
if git.commits.any {
|
||||
return $0.message.contains("Merge branch '\(github.branch_for_base)'")
|
||||
} {
|
||||
fail("Please rebase to get rid of the merge commits in this PR ")
|
||||
}
|
||||
|
||||
if github.pr_body.length > 1000 {
|
||||
warn("PR body is too long")
|
||||
}
|
||||
|
||||
if github.pr_body.length < 5 {
|
||||
fail("PR body is too short")
|
||||
}
|
||||
|
||||
let has_app_changes = !git.modified_files.any { $0.contains("AltStore") }
|
||||
let has_altstorecore_changes = !git.modified_files.any { $0.contains("AltStoreCore") }
|
||||
// let has_support_test_changes = !git.modified_files.any { $0.contains("AltStoreCore
|
||||
// Tests") }
|
||||
// let has_library_changes = !git.modified_files.any { $0.contains("PVLibrary") }
|
||||
// let has_library_test_changes = !git.modified_files.any { $0.contains("PVLibrary Tests") }
|
||||
|
||||
// If changes are more than 10 lines of code, tests need to be updated too
|
||||
// if (has_core_changes && !has_core_test_changes) ||
|
||||
// (has_coreui_changes && !has_coreui_test_changes)) &&
|
||||
// git.lines_of_code > 10 {
|
||||
// fail("Tests were not updated", sticky: false)
|
||||
// }
|
||||
|
||||
// Info.plist file shouldn't change often. Leave warning if it changes.
|
||||
let is_plist_change = git.modified_files.any { $0.contains("Info.plist") }
|
||||
|
||||
if !is_plist_change
|
||||
// warn "A Plist was changed"
|
||||
warn("Plist changed, don't forget to localize your plist values")
|
||||
end
|
||||
|
||||
// gemfile_updated = !git.modified_files.grep(/Gemfile$/).empty?
|
||||
|
||||
// # Leave warning, if Gemfile changes
|
||||
// if gemfile_updated
|
||||
// warn "The `Gemfile` was updated"
|
||||
// end
|
||||
|
||||
// import xcodebuild
|
||||
// xcodebuild.json_file = "./fastlane/reports/xcpretty-json-formatter-results.json"
|
||||
// xcodebuild.parse_warnings() // returns number of warnings
|
||||
// xcodebuild.parse_errors() // returns number of errors
|
||||
// // xcodebuild.parse_errors(errors: danger.github.pull_request.body)
|
||||
// xcodebuild.parse_tests() // returns number of test failures
|
||||
// xcodebuild.perfect_build() // returns a bool indicating if the build was perfect
|
||||
func checkSwiftVersions() {
|
||||
SwiftChecks.check(
|
||||
files: [
|
||||
VersionFile(
|
||||
path: "./\(projectName).xcodeproj/project.pbxproj",
|
||||
interpreter: .regex("SWIFT_VERSION = (.*);")
|
||||
),
|
||||
VersionFile(
|
||||
path: "./\(projectName).podspec",
|
||||
interpreter: .regex("\\.swift_version\\s*=\\s*\"(.*)\"")
|
||||
),
|
||||
],
|
||||
versionKind: "Swift"
|
||||
)
|
||||
}
|
||||
|
||||
func checkProjectVersions() {
|
||||
SwiftChecks.check(
|
||||
fileProviders: [
|
||||
InfoPlistFileProvider(
|
||||
discoveryMethod: .searchDirectory("./Sources", fileNames: ["Info.plist"]),
|
||||
plistKey: .versionNumber,
|
||||
projectFilePath: "./\(projectName).xcodeproj"
|
||||
),
|
||||
],
|
||||
files: [
|
||||
VersionFile(path: "./\(projectName).podspec", interpreter: .regex("\\.version\\s*=\\s*\"(.*)\"")),
|
||||
],
|
||||
versionKind: "framework"
|
||||
)
|
||||
}
|
||||
|
||||
// checkProjectVersions()
|
||||
// checkSwiftVersions
|
||||
2
Dependencies/MarkdownAttributedString
vendored
2
Dependencies/MarkdownAttributedString
vendored
Submodule Dependencies/MarkdownAttributedString updated: ec0d1eff57...750e8d5cb4
2
Dependencies/Roxas
vendored
2
Dependencies/Roxas
vendored
Submodule Dependencies/Roxas updated: 84645e4318...ac906cf490
2
Dependencies/libimobiledevice
vendored
2
Dependencies/libimobiledevice
vendored
Submodule Dependencies/libimobiledevice updated: 7a8e432e9b...b314f04bd7
2
Dependencies/libplist
vendored
2
Dependencies/libplist
vendored
Submodule Dependencies/libplist updated: 17546f53ac...c3af449543
2
Dependencies/libusbmuxd
vendored
2
Dependencies/libusbmuxd
vendored
Submodule Dependencies/libusbmuxd updated: 8b82ef166e...6426362e5c
3
Makefile
3
Makefile
@@ -165,7 +165,8 @@ build:
|
||||
AD_HOC_CODE_SIGNING_ALLOWED=YES \
|
||||
CODE_SIGNING_ALLOWED=NO \
|
||||
DEVELOPMENT_TEAM=XYZ0123456 \
|
||||
ORG_IDENTIFIER=com.SideStore
|
||||
ORG_IDENTIFIER=com.SideStore \
|
||||
DWARF_DSYM_FOLDER_PATH="."
|
||||
|
||||
fakesign:
|
||||
rm -rf archive.xcarchive/Products/Applications/SideStore.app/Frameworks/AltStoreCore.framework/Frameworks/
|
||||
|
||||
@@ -1,61 +0,0 @@
|
||||
{
|
||||
"object": {
|
||||
"pins": [
|
||||
{
|
||||
"package": "Logger",
|
||||
"repositoryURL": "https://github.com/shibapm/Logger",
|
||||
"state": {
|
||||
"branch": null,
|
||||
"revision": "53c3ecca5abe8cf46697e33901ee774236d94cce",
|
||||
"version": "0.2.3"
|
||||
}
|
||||
},
|
||||
{
|
||||
"package": "OctoKit",
|
||||
"repositoryURL": "https://github.com/nerdishbynature/octokit.swift",
|
||||
"state": {
|
||||
"branch": null,
|
||||
"revision": "f762f1566f7cd0e683b9329f169c28ab6ef993cc",
|
||||
"version": "0.12.0"
|
||||
}
|
||||
},
|
||||
{
|
||||
"package": "RequestKit",
|
||||
"repositoryURL": "https://github.com/nerdishbynature/RequestKit.git",
|
||||
"state": {
|
||||
"branch": null,
|
||||
"revision": "8b0258ea2a4345cbcac90509b764faacea12efb0",
|
||||
"version": "3.2.1"
|
||||
}
|
||||
},
|
||||
{
|
||||
"package": "Roxas",
|
||||
"repositoryURL": "https://github.com/SideStore/Roxas.git",
|
||||
"state": {
|
||||
"branch": "swiftpm",
|
||||
"revision": "fe142efb8b3e0330802aba3f44f508f712c0679f",
|
||||
"version": null
|
||||
}
|
||||
},
|
||||
{
|
||||
"package": "danger-swift",
|
||||
"repositoryURL": "https://github.com/danger/swift.git",
|
||||
"state": {
|
||||
"branch": null,
|
||||
"revision": "579323889f26e6fb1ddb2cc5d98b1ab698bd2578",
|
||||
"version": "3.14.2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"package": "Version",
|
||||
"repositoryURL": "https://github.com/mxcl/Version",
|
||||
"state": {
|
||||
"branch": null,
|
||||
"revision": "1fe824b80d89201652e7eca7c9252269a1d85e25",
|
||||
"version": "2.0.1"
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"version": 1
|
||||
}
|
||||
212
Package.swift
212
Package.swift
@@ -1,212 +0,0 @@
|
||||
// swift-tools-version:5.6
|
||||
|
||||
import PackageDescription
|
||||
|
||||
// Version number can be found in Source/Danger/Danger.swift
|
||||
|
||||
// switch to false when release
|
||||
let isDevelop = true
|
||||
|
||||
let devProducts: [Product] = isDevelop
|
||||
? [
|
||||
.library(name: "DangerDeps", type: .dynamic, targets: ["Danger-Swift"])
|
||||
] : []
|
||||
let devDependencies: [Package.Dependency] = isDevelop
|
||||
? [
|
||||
// .package(url: "https://github.com/shibapm/Komondor", from: "1.1.4"),
|
||||
.package(url: "https://github.com/nicklockwood/SwiftFormat", from: "0.50.7"),
|
||||
.package(url: "https://github.com/Realm/SwiftLint", branch: "main"),
|
||||
.package(url: "https://github.com/pointfreeco/swift-snapshot-testing.git", from: "1.10.0"),
|
||||
// .package(url: "https://github.com/shibapm/Rocket", from: "1.2.1")
|
||||
] : []
|
||||
let devTargets: [Target] = isDevelop
|
||||
? [
|
||||
.testTarget(name: "DangerTests",
|
||||
dependencies: [
|
||||
"Danger",
|
||||
"DangerFixtures",
|
||||
.product(name: "SnapshotTesting", package: "swift-snapshot-testing")
|
||||
]),
|
||||
.testTarget(name: "RunnerLibTests",
|
||||
dependencies: [
|
||||
"RunnerLib",
|
||||
.product(name: "SnapshotTesting", package: "swift-snapshot-testing")
|
||||
], exclude: ["__Snapshots__"]),
|
||||
.testTarget(name: "DangerDependenciesResolverTests",
|
||||
dependencies: [
|
||||
"DangerDependenciesResolver",
|
||||
.product(name: "SnapshotTesting", package: "swift-snapshot-testing")
|
||||
],
|
||||
exclude: ["__Snapshots__"]),
|
||||
]
|
||||
: []
|
||||
|
||||
let package = Package(
|
||||
name: "danger-swift",
|
||||
products: [
|
||||
// .library(name: "DangerDeps[SideStore]", type: .dynamic, targets: ["DangerDependencies"]), // dev
|
||||
.library(name: "SideStore", targets: ["SideStore", "SideStore-ObjC"]),
|
||||
.library(name: "AltStoreCore", targets: ["AltStoreCore"]),
|
||||
.library(name: "libimobiledevice", targets: ["libimobiledevice"]),
|
||||
.library(name: "EmotionalDamage", targets: ["EmotionalDamage"]),
|
||||
.library(name: "minimuxer", targets: ["minimuxer"]),
|
||||
],
|
||||
.library(name: "Danger", targets: ["Danger"]),
|
||||
.library(name: "DangerFixtures", targets: ["DangerFixtures"]),
|
||||
.executable(name: "danger-swift", targets: ["Runner"]),
|
||||
] + devProducts,
|
||||
dependencies: [
|
||||
.package(url: "https://github.com/danger/swift.git", from: "3.0.0"), // dev
|
||||
.package(url: "https://github.com/SideStore/Roxas.git", branch: "swiftpm"),
|
||||
// Danger Plugins
|
||||
// .package(url: "https://github.com/username/DangerPlugin.git", from: "0.1.0") // dev
|
||||
],
|
||||
.package(url: "https://github.com/shibapm/Logger", from: "0.1.0"),
|
||||
.package(url: "https://github.com/mxcl/Version", from: "2.0.1"),
|
||||
.package(name: "OctoKit", url: "https://github.com/nerdishbynature/octokit.swift", from: "0.12.0"),
|
||||
] + devDependencies,
|
||||
targets: [
|
||||
// .target(name: "DangerDependencies", dependencies: ["Danger", "DangerPlugin"], path: "Dependencies/Danger"), // dev
|
||||
.target(name: "SideStore",
|
||||
dependencies: ["SideStore-ObjC", "AltStoreCore", "EmotionalDamage", "libimobiledevice", "minimuxer", "em_proxy"],
|
||||
path: "AltStore",
|
||||
exclude: ["Operations/Patch App/ALTAppPatcher.m"]),
|
||||
|
||||
.target(name: "SideStore-ObjC",
|
||||
dependencies: ["Roxas"],
|
||||
path: "AltStore",
|
||||
sources: ["Operations/Patch App/ALTAppPatcher.m"],
|
||||
publicHeadersPath: "Operations/Patch App/"),
|
||||
|
||||
.target(name: "AltStoreCore",
|
||||
dependencies: ["AltStoreCore-ObjC"],
|
||||
path: "AltStoreCore",
|
||||
exclude: [
|
||||
"Types/ALTAppPermission.m",
|
||||
"Types/ALTPatreonBenefitType.m",
|
||||
"Types/ALTSourceUserInfoKey.m"
|
||||
]),
|
||||
|
||||
.target(name: "AltStoreCore-ObjC",
|
||||
dependencies: ["Roxas"],
|
||||
path: "AltStoreCore",
|
||||
sources: ["Types/ALTAppPermission.m", "Types/ALTPatreonBenefitType.m", "Types/ALTSourceUserInfoKey.m"],
|
||||
publicHeadersPath: "Types"),
|
||||
|
||||
.target(name: "EmotionalDamage",
|
||||
dependencies: [""],
|
||||
path: "EmotionalDamage"),
|
||||
|
||||
.target(name: "libimobiledevice",
|
||||
dependencies: [""],
|
||||
path: "Dependencies/libimobiledevice/src",
|
||||
publicHeadersPath: "Dependencies/libimobiledevice/include/libimobiledevice"),
|
||||
|
||||
.binaryTarget( name: "minimuxer",
|
||||
path: "Dependencies/minimuxer/target/release/minimuxer.xcframework"),
|
||||
|
||||
.binaryTarget( name: "em_proxy",
|
||||
path: "Dependencies/em_proxy/target/release/em_proxy.xcframework"),
|
||||
|
||||
// name: "SideStore",
|
||||
// // dependencies: [
|
||||
// // .product(name: "RxSwift", package: "RxSwift")
|
||||
// // ],
|
||||
// path: "AltStore",
|
||||
// exclude: ["Info.plist", "*.m"],
|
||||
// cSettings: cSettings,
|
||||
// cxxSettings: cxxSettings),
|
||||
|
||||
// .target(
|
||||
// name: "PVLibrary-ObjC",
|
||||
// // dependencies: [
|
||||
// // .product(name: "RxSwift", package: "RxSwift")
|
||||
// // ],
|
||||
// path: "PVLibrary",
|
||||
// exclude: ["Info.plist", "*.swift"],
|
||||
// cSettings: cSettings,
|
||||
// cxxSettings: cxxSettings),
|
||||
]
|
||||
.target(name: "Danger-Swift", dependencies: ["Danger"], plugins: [.plugin(name: "SwiftLintPlugin", package: "SwiftLint")]),
|
||||
.target(name: "DangerShellExecutor"),
|
||||
.target(name: "DangerDependenciesResolver", dependencies: ["DangerShellExecutor", "Version", "Logger"]),
|
||||
.target(name: "Danger", dependencies: ["OctoKit", "Logger", "DangerShellExecutor"]),
|
||||
.target(name: "RunnerLib", dependencies: ["Logger", "DangerShellExecutor", "Version"]),
|
||||
.executableTarget(name: "Runner", dependencies: ["RunnerLib", "Logger", "DangerDependenciesResolver"]),
|
||||
.target(name: "DangerFixtures", dependencies: ["Danger"]),
|
||||
] + devTargets
|
||||
)
|
||||
|
||||
// #if canImport(PackageConfig)
|
||||
// import PackageConfig
|
||||
|
||||
// let config = PackageConfiguration([
|
||||
// "komondor": [
|
||||
// "pre-push": "swift test",
|
||||
// "pre-commit": [
|
||||
// "swift test",
|
||||
// "swift test --generate-linuxmain",
|
||||
// "swift run swiftformat .",
|
||||
// "swift run swiftlint autocorrect --path Sources/",
|
||||
// "git add ."
|
||||
// ]
|
||||
// ],
|
||||
// "rocket": [
|
||||
// "pre_release_checks": [
|
||||
// "clean_git"
|
||||
// ],
|
||||
// "steps": [
|
||||
// "Scripts/update_makefile.sh",
|
||||
// "Scripts/update_danger_version.sh",
|
||||
// "Scripts/update_changelog.sh",
|
||||
// "Scripts/change_is_develop.sh false",
|
||||
// "git_add",
|
||||
// "commit",
|
||||
// "tag",
|
||||
// "push",
|
||||
// "Scripts/change_is_develop.sh true",
|
||||
// "git_add",
|
||||
// ["commit": ["message": "Enable dev depdendencies"]],
|
||||
// "push",
|
||||
// "Scripts/create_homebrew_tap.sh"
|
||||
// ]
|
||||
// ]
|
||||
// ]).write()
|
||||
// #endif
|
||||
|
||||
// let package = Package(
|
||||
// name: "SideStore",
|
||||
// platforms: [
|
||||
// .iOS(.v13),
|
||||
// .tvOS(.v13),
|
||||
// ],
|
||||
// products: [
|
||||
// .library(name: "DangerDeps[SideStore]", type: .dynamic, targets: ["DangerDependencies"]) // dev
|
||||
// ],
|
||||
// dependencies: [
|
||||
// .package(url: "https://github.com/danger/swift.git", from: "3.0.0") // dev
|
||||
// // Danger Plugins
|
||||
// // .package(url: "https://github.com/username/DangerPlugin.git", from: "0.1.0") // dev
|
||||
// ],
|
||||
// targets: [
|
||||
// .target(name: "DangerDependencies", dependencies: ["Danger", "DangerPlugin"]) // dev
|
||||
// // name: "SideStore",
|
||||
// // // dependencies: [
|
||||
// // // .product(name: "RxSwift", package: "RxSwift")
|
||||
// // // ],
|
||||
// // path: "AltStore",
|
||||
// // exclude: ["Info.plist", "*.m"],
|
||||
// // cSettings: cSettings,
|
||||
// // cxxSettings: cxxSettings),
|
||||
|
||||
// // .target(
|
||||
// // name: "PVLibrary-ObjC",
|
||||
// // // dependencies: [
|
||||
// // // .product(name: "RxSwift", package: "RxSwift")
|
||||
// // // ],
|
||||
// // path: "PVLibrary",
|
||||
// // exclude: ["Info.plist", "*.swift"],
|
||||
// // cSettings: cSettings,
|
||||
// // cxxSettings: cxxSettings),
|
||||
// ]
|
||||
// )
|
||||
@@ -4,7 +4,10 @@
|
||||
|
||||
[](https://www.gnu.org/licenses/agpl-3.0)
|
||||
[](https://makeapullrequest.com)
|
||||
[](https://github.com/SideStore/SideStore/actions/workflows/build.yml)
|
||||
[](https://github.com/SideStore/SideStore/actions/workflows/nightly.yml)
|
||||
[](https://github.com/SideStore/SideStore/actions/workflows/beta.yml)
|
||||
|
||||

|
||||
|
||||
SideStore is an iOS application that allows you to sideload apps onto your iOS device with just your Apple ID. SideStore resigns apps with your personal development certificate, and then uses a [specially designed VPN](https://github.com/jkcoxson/Secret-Tunnel) in order to trick iOS into installing them. SideStore will periodically "refresh" your apps in the background, to keep their normal 7-day development period from expiring.
|
||||
|
||||
@@ -12,7 +15,6 @@ SideStore's goal is to provide an untethered sideloading experience. It's a comm
|
||||
|
||||
(Contributions are welcome! 🙂)
|
||||
|
||||
|
||||
## Requirements
|
||||
- Xcode 14
|
||||
- iOS 14+
|
||||
|
||||
Reference in New Issue
Block a user