├── .github └── icons8-archive-80.png ├── .gitignore ├── .travis.yml ├── Configs.xcconfig ├── Makefile ├── Package.resolved ├── Package.swift ├── README.md └── Sources ├── Unxip ├── Runner.swift └── main.swift └── UnxipKit ├── UnxipKit.m └── include ├── PKSignedContainer.h └── UnxipKit.h /.github/icons8-archive-80.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thii/Unxip/1e344e3d7e9d3932d5aaa3cd9a077f21c7ef75e5/.github/icons8-archive-80.png -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | /build 3 | /.build 4 | /Packages 5 | /Unxip.xcodeproj 6 | 7 | ### https://raw.github.com/github/gitignore/3d1f3fa52ae4f9c924ac2f57641d770b5548d005/Global/Xcode.gitignore 8 | 9 | # Xcode 10 | # 11 | # gitignore contributors: remember to update Global/Xcode.gitignore, Objective-C.gitignore & Swift.gitignore 12 | 13 | ## User settings 14 | xcuserdata/ 15 | 16 | ## compatibility with Xcode 8 and earlier (ignoring not required starting Xcode 9) 17 | *.xcscmblueprint 18 | *.xccheckout 19 | 20 | ## compatibility with Xcode 3 and earlier (ignoring not required starting Xcode 4) 21 | build/ 22 | DerivedData/ 23 | *.moved-aside 24 | *.pbxuser 25 | !default.pbxuser 26 | *.mode1v3 27 | !default.mode1v3 28 | *.mode2v3 29 | !default.mode2v3 30 | *.perspectivev3 31 | !default.perspectivev3 32 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | language: objective-c 2 | osx_image: xcode9.4.1 3 | script: 4 | - set -o pipefail 5 | - make package 6 | notifications: 7 | email: false 8 | -------------------------------------------------------------------------------- /Configs.xcconfig: -------------------------------------------------------------------------------- 1 | FRAMEWORK_SEARCH_PATHS = "$(inherited)$(SYSTEM_LIBRARY_DIR)/PrivateFrameworks" 2 | OTHER_LDFLAGS = -framework PackageKit 3 | 4 | // SwiftPM doesn't seem to pick the executable name specified in Package.swift 5 | // when generating Xcode project 6 | PRODUCT_NAME = unxip 7 | -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- 1 | PREFIX?=/usr/local 2 | 3 | CD=cd 4 | CP=$(shell whereis cp) -Rf 5 | MKDIR=$(shell whereis mkdir) -p 6 | RM=$(shell whereis rm) -rf 7 | SWIFT=$(shell whereis swift) 8 | ZIP=$(shell whereis zip) -r 9 | 10 | TARGET_PLATFORM=x86_64-apple-macosx10.10 11 | 12 | BINARY_DIRECTORY=$(PREFIX)/bin 13 | BINARY_NAME=unxip 14 | 15 | BUILD_DIRECTORY=$(shell pwd)/.build/$(TARGET_PLATFORM)/release 16 | OUTPUT_EXECUTABLE=$(BUILD_DIRECTORY)/$(BINARY_NAME) 17 | INSTALL_EXECUTABLE_PATH=$(BINARY_DIRECTORY)/$(BINARY_NAME) 18 | 19 | .PHONY: build 20 | build: 21 | $(SWIFT) build -c release -Xswiftc -static-stdlib -Xswiftc -target -Xswiftc $(TARGET_PLATFORM) -Xlinker -F/System/Library/PrivateFrameworks -Xlinker -framework -Xlinker PackageKit 22 | 23 | .PHONY: install 24 | install: build 25 | $(CP) "$(OUTPUT_EXECUTABLE)" "$(BINARY_DIRECTORY)" 26 | 27 | .PHONY: package 28 | package: build 29 | $(CD) "$(BUILD_DIRECTORY)" && $(ZIP) "$(BINARY_NAME).zip" "$(BINARY_NAME)" 30 | 31 | .PHONY: generate-xcodeproj 32 | generate-xcodeproj: 33 | $(SWIFT) package generate-xcodeproj --xcconfig-overrides Configs.xcconfig 34 | 35 | .PHONY: uninstall 36 | uninstall: 37 | $(RM) "$(BINARY_DIRECTORY)/$(BINARY_NAME)" 38 | 39 | .PHONY: clean 40 | clean: 41 | $(SWIFT) package clean 42 | $(RM) Unxip.xcodeproj 43 | -------------------------------------------------------------------------------- /Package.resolved: -------------------------------------------------------------------------------- 1 | { 2 | "object": { 3 | "pins": [ 4 | 5 | ] 6 | }, 7 | "version": 1 8 | } 9 | -------------------------------------------------------------------------------- /Package.swift: -------------------------------------------------------------------------------- 1 | // swift-tools-version:4.0 2 | // The swift-tools-version declares the minimum version of Swift required to build this package. 3 | 4 | import PackageDescription 5 | 6 | let package = Package( 7 | name: "Unxip", 8 | products: [ 9 | .executable( 10 | name: "unxip", 11 | targets: ["Unxip"]), 12 | .library( 13 | name: "UnxipKit", 14 | targets: ["UnxipKit"]), 15 | ], 16 | dependencies: [ 17 | ], 18 | targets: [ 19 | .target( 20 | name: "Unxip", 21 | dependencies: ["UnxipKit"]), 22 | .target( 23 | name: "UnxipKit", 24 | dependencies: []), 25 | ] 26 | ) 27 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 |
2 |
3 |
4 |
5 |