├── .gitignore
├── .gitmodules
├── .swiftlint.yml
├── Images.xcassets
├── Contents.json
├── alignment
│ ├── Contents.json
│ ├── a_any.imageset
│ │ ├── Contents.json
│ │ ├── image.png
│ │ ├── image@2x.png
│ │ └── image@3x.png
│ └── a_no.imageset
│ │ ├── Contents.json
│ │ ├── green.png
│ │ ├── green@2x.png
│ │ └── green@3x.png
├── devices
│ ├── Contents.json
│ ├── d_ipad.imageset
│ │ ├── Contents.json
│ │ ├── blue.png
│ │ └── blue@2x.png
│ ├── d_iphone.imageset
│ │ ├── Contents.json
│ │ ├── green.png
│ │ ├── green@2x.png
│ │ └── green@3x.png
│ ├── d_iphone4.imageset
│ │ ├── Contents.json
│ │ ├── green@2x-1.png
│ │ └── green@2x.png
│ ├── d_mac.imageset
│ │ ├── Contents.json
│ │ ├── image.png
│ │ └── image@2x.png
│ ├── d_tv.imageset
│ │ ├── Contents.json
│ │ └── cyan.png
│ ├── d_universal.imageset
│ │ ├── Contents.json
│ │ ├── image.png
│ │ ├── image@2x.png
│ │ └── image@3x.png
│ ├── d_watch.imageset
│ │ ├── Contents.json
│ │ ├── cyan.png
│ │ ├── cyan@2x.png
│ │ └── cyan@3x.png
│ └── mix
│ │ ├── Contents.json
│ │ ├── d_iphone_ipad_mac.imageset
│ │ ├── Contents.json
│ │ ├── blue.png
│ │ ├── blue@2x.png
│ │ ├── green.png
│ │ ├── green@2x.png
│ │ ├── green@3x-1.png
│ │ ├── green@3x.png
│ │ ├── image.png
│ │ └── image@2x.png
│ │ └── d_iphone_ipad_mac_watch.imageset
│ │ ├── Contents.json
│ │ ├── blue.png
│ │ ├── blue@2x.png
│ │ ├── cyan.png
│ │ ├── cyan@2x.png
│ │ ├── cyan@3x.png
│ │ ├── green.png
│ │ ├── green@2x.png
│ │ ├── green@3x-1.png
│ │ ├── green@3x.png
│ │ ├── image.png
│ │ └── image@2x.png
├── graphics
│ ├── Contents.json
│ ├── g_1v2.imageset
│ │ ├── Contents.json
│ │ ├── blue.png
│ │ ├── blue@2x.png
│ │ ├── blue@3x.png
│ │ ├── image.png
│ │ ├── image@2x.png
│ │ └── image@3x.png
│ ├── g_2v2.imageset
│ │ ├── Contents.json
│ │ ├── blue.png
│ │ ├── blue@2x.png
│ │ ├── blue@3x.png
│ │ ├── cyan.png
│ │ ├── cyan@2x.png
│ │ └── cyan@3x.png
│ ├── g_3v1.imageset
│ │ ├── Contents.json
│ │ ├── cyan.png
│ │ ├── cyan@2x.png
│ │ ├── cyan@3x.png
│ │ ├── green.png
│ │ ├── green@2x.png
│ │ └── green@3x.png
│ ├── g_mix.imageset
│ │ ├── Contents.json
│ │ ├── blue.png
│ │ ├── blue@2x.png
│ │ ├── blue@3x.png
│ │ ├── cyan.png
│ │ ├── cyan@2x.png
│ │ ├── cyan@3x.png
│ │ ├── green.png
│ │ ├── green@2x.png
│ │ ├── green@3x.png
│ │ ├── image.png
│ │ ├── image@2x.png
│ │ └── image@3x.png
│ └── g_none.imageset
│ │ ├── Contents.json
│ │ ├── green.png
│ │ ├── green@2x.png
│ │ └── green@3x.png
├── memory
│ ├── Contents.json
│ ├── m_1gb.imageset
│ │ ├── Contents.json
│ │ ├── blue.png
│ │ ├── blue@2x.png
│ │ ├── blue@3x.png
│ │ ├── image.png
│ │ ├── image@2x.png
│ │ └── image@3x.png
│ ├── m_2gb.imageset
│ │ ├── Contents.json
│ │ ├── blue.png
│ │ ├── blue@2x.png
│ │ ├── blue@3x.png
│ │ ├── cyan.png
│ │ ├── cyan@2x.png
│ │ └── cyan@3x.png
│ ├── m_4gb.imageset
│ │ ├── Contents.json
│ │ ├── cyan.png
│ │ ├── cyan@2x.png
│ │ ├── cyan@3x.png
│ │ ├── green.png
│ │ ├── green@2x.png
│ │ └── green@3x.png
│ └── m_no.imageset
│ │ ├── Contents.json
│ │ ├── green.png
│ │ ├── green@2x.png
│ │ └── green@3x.png
├── pdf
│ ├── Contents.json
│ ├── v_device.imageset
│ │ ├── Contents.json
│ │ ├── facebook-1-1-1.pdf
│ │ ├── facebook-1-1.pdf
│ │ ├── facebook-1.pdf
│ │ ├── facebook-2.pdf
│ │ ├── facebook-3.pdf
│ │ ├── facebook-4.pdf
│ │ ├── facebook-5.pdf
│ │ ├── facebook-6.pdf
│ │ └── facebook.pdf
│ ├── v_overrides.imageset
│ │ ├── Contents.json
│ │ ├── blue.png
│ │ ├── blue@2x.png
│ │ ├── blue@3x.png
│ │ ├── cyan.png
│ │ ├── cyan@2x.png
│ │ ├── cyan@3x.png
│ │ ├── facebook-1-1-1.pdf
│ │ ├── facebook-1-1.pdf
│ │ ├── facebook-1.pdf
│ │ ├── facebook-2.pdf
│ │ ├── facebook-3.pdf
│ │ ├── facebook-4.pdf
│ │ ├── facebook-5.pdf
│ │ ├── facebook-6.pdf
│ │ ├── facebook.pdf
│ │ ├── green-1.png
│ │ ├── green-2.png
│ │ ├── green.png
│ │ ├── green@2x-1.png
│ │ ├── green@2x-2.png
│ │ ├── green@2x-3.png
│ │ ├── green@2x.png
│ │ ├── green@3x.png
│ │ └── image.png
│ └── v_universal.imageset
│ │ ├── Contents.json
│ │ └── facebook.pdf
├── render
│ ├── Contents.json
│ ├── r_default.imageset
│ │ ├── Contents.json
│ │ ├── green.png
│ │ ├── green@2x.png
│ │ └── green@3x.png
│ ├── r_original.imageset
│ │ ├── Contents.json
│ │ ├── image.png
│ │ ├── image@2x.png
│ │ └── image@3x.png
│ └── r_template.imageset
│ │ ├── Contents.json
│ │ ├── blue.png
│ │ ├── blue@2x.png
│ │ └── blue@3x.png
├── size class
│ ├── Contents.json
│ ├── sc_h_a&r.imageset
│ │ ├── Contents.json
│ │ ├── green.png
│ │ ├── green@2x.png
│ │ ├── green@3x.png
│ │ ├── image.png
│ │ ├── image@2x.png
│ │ └── image@3x.png
│ ├── sc_w_a&c.imageset
│ │ ├── Contents.json
│ │ ├── green.png
│ │ ├── green@2x.png
│ │ ├── green@3x.png
│ │ ├── image.png
│ │ ├── image@2x.png
│ │ └── image@3x.png
│ └── sc_wh_a&r&c.imageset
│ │ ├── Contents.json
│ │ ├── blue.png
│ │ ├── blue@2x.png
│ │ ├── blue@3x.png
│ │ ├── cyan.png
│ │ ├── cyan@2x.png
│ │ ├── cyan@3x.png
│ │ ├── green.png
│ │ ├── green@2x.png
│ │ ├── green@3x.png
│ │ ├── image.png
│ │ ├── image@2x.png
│ │ └── image@3x.png
└── slices
│ ├── Contents.json
│ ├── s_horizontal.imageset
│ ├── Contents.json
│ ├── image.png
│ ├── image@2x.png
│ └── image@3x.png
│ ├── s_horizontal_vertical.imageset
│ ├── Contents.json
│ ├── cyan.png
│ ├── cyan@2x.png
│ └── cyan@3x.png
│ ├── s_none.imageset
│ ├── Contents.json
│ ├── green.png
│ ├── green@2x.png
│ └── green@3x.png
│ └── s_vertical.imageset
│ ├── Contents.json
│ ├── blue.png
│ ├── blue@2x.png
│ └── blue@3x.png
├── LICENSE
├── Makefile
├── README.md
├── Templates.xcassets
├── Contents.json
├── colors
│ ├── blue.imageset
│ │ ├── Contents.json
│ │ ├── blue.png
│ │ ├── blue@2x.png
│ │ └── blue@3x.png
│ ├── blue_jpeg.imageset
│ │ ├── Contents.json
│ │ ├── blue.jpg
│ │ ├── blue@2x.jpg
│ │ └── blue@3x.jpg
│ ├── cyan.imageset
│ │ ├── Contents.json
│ │ ├── cyan.png
│ │ ├── cyan@2x.png
│ │ └── cyan@3x.png
│ ├── cyan_jpeg.imageset
│ │ ├── Contents.json
│ │ ├── cyan.jpg
│ │ ├── cyan@2x.jpg
│ │ └── cyan@3x.jpg
│ ├── green.imageset
│ │ ├── Contents.json
│ │ ├── green.png
│ │ ├── green@2x.png
│ │ └── green@3x.png
│ ├── green_jpeg.imageset
│ │ ├── Contents.json
│ │ ├── green.jpg
│ │ ├── green@2x.jpg
│ │ └── green@3x.jpg
│ ├── red.imageset
│ │ ├── Contents.json
│ │ ├── image.png
│ │ ├── image@2x.png
│ │ └── image@3x.png
│ └── red_jpeg.imageset
│ │ ├── Contents.json
│ │ ├── image.jpg
│ │ ├── image@2x.jpg
│ │ └── image@3x.jpg
├── old
│ ├── Contents.json
│ ├── v_device.imageset
│ │ ├── Contents.json
│ │ ├── facebook-1-1-1.pdf
│ │ ├── facebook-1-1.pdf
│ │ ├── facebook-1.pdf
│ │ └── facebook.pdf
│ ├── v_device2.imageset
│ │ ├── Contents.json
│ │ ├── cyan.png
│ │ ├── cyan@2x.png
│ │ ├── cyan@3x.png
│ │ ├── facebook-1-1-1.pdf
│ │ ├── facebook-1-1.pdf
│ │ ├── facebook-1.pdf
│ │ ├── facebook.pdf
│ │ ├── green-1.png
│ │ ├── green-2.png
│ │ ├── green.png
│ │ ├── green@2x-1.png
│ │ ├── green@2x-2.png
│ │ ├── green@2x-3.png
│ │ ├── green@2x.png
│ │ └── green@3x.png
│ └── v_universal.imageset
│ │ ├── Contents.json
│ │ └── facebook.pdf
└── vectors
│ ├── Contents.json
│ └── v_universal.imageset
│ ├── Contents.json
│ └── facebook.pdf
├── TestApps
├── MacTestApp
│ ├── AppDelegate.swift
│ ├── Base.lproj
│ │ └── Main.storyboard
│ ├── Info.plist
│ └── ViewController.swift
├── iOSTestApp
│ ├── AppDelegate.swift
│ ├── Base.lproj
│ │ ├── LaunchScreen.xib
│ │ └── Main.storyboard
│ ├── Info.plist
│ └── ViewController.swift
├── tvTestApp
│ ├── AppDelegate.swift
│ ├── Assets.xcassets
│ │ ├── App Icon & Top Shelf Image.brandassets
│ │ │ ├── App Icon - Large.imagestack
│ │ │ │ ├── Back.imagestacklayer
│ │ │ │ │ ├── Content.imageset
│ │ │ │ │ │ └── Contents.json
│ │ │ │ │ └── Contents.json
│ │ │ │ ├── Contents.json
│ │ │ │ ├── Front.imagestacklayer
│ │ │ │ │ ├── Content.imageset
│ │ │ │ │ │ └── Contents.json
│ │ │ │ │ └── Contents.json
│ │ │ │ └── Middle.imagestacklayer
│ │ │ │ │ ├── Content.imageset
│ │ │ │ │ └── Contents.json
│ │ │ │ │ └── Contents.json
│ │ │ ├── App Icon - Small.imagestack
│ │ │ │ ├── Back.imagestacklayer
│ │ │ │ │ ├── Content.imageset
│ │ │ │ │ │ └── Contents.json
│ │ │ │ │ └── Contents.json
│ │ │ │ ├── Contents.json
│ │ │ │ ├── Front.imagestacklayer
│ │ │ │ │ ├── Content.imageset
│ │ │ │ │ │ └── Contents.json
│ │ │ │ │ └── Contents.json
│ │ │ │ └── Middle.imagestacklayer
│ │ │ │ │ ├── Content.imageset
│ │ │ │ │ └── Contents.json
│ │ │ │ │ └── Contents.json
│ │ │ ├── Contents.json
│ │ │ └── Top Shelf Image.imageset
│ │ │ │ └── Contents.json
│ │ ├── Contents.json
│ │ └── LaunchImage.launchimage
│ │ │ └── Contents.json
│ ├── Base.lproj
│ │ └── Main.storyboard
│ ├── Info.plist
│ └── ViewController.swift
├── watchTestApp Extension
│ ├── Assets.xcassets
│ │ └── README__ignoredByTemplate__
│ ├── ExtensionDelegate.swift
│ ├── Info.plist
│ └── InterfaceController.swift
└── watchTestApp
│ ├── Assets.xcassets
│ └── AppIcon.appiconset
│ │ └── Contents.json
│ ├── Base.lproj
│ └── Interface.storyboard
│ └── Info.plist
├── acextract.xcodeproj
├── project.pbxproj
├── project.xcworkspace
│ ├── contents.xcworkspacedata
│ └── xcshareddata
│ │ └── IDEWorkspaceChecks.plist
└── xcshareddata
│ └── xcschemes
│ ├── acextract.xcscheme
│ ├── iOSTestApp.xcscheme
│ ├── macTestApp.xcscheme
│ ├── tvTestApp.xcscheme
│ ├── watchTestApp.xcscheme
│ └── watchTestApp_notification.xcscheme
├── acextract
├── AssetsCatalog.swift
├── CoreUI.h
├── CoreUI_Swift.swift
├── ImageSet.swift
├── Operation.swift
├── PrintInformationOperation.swift
├── acextract-Bridging-Header.h
└── main.swift
└── acextractTests
├── AlignmentTests.swift
├── Assets.swift
├── AssetsCatalogTests.swift
├── CorrectnessTests.swift
├── DeviceTests.swift
├── GraphicalClassTests.swift
├── Info.plist
├── MemoryClassTests.swift
├── SizeClassTests.swift
├── SlicesTests.swift
├── TemplateRenderingTests.swift
├── acextractTests-Bridging-Header.h
└── data
├── assets.car
├── assets_ios.car
├── assets_ipad.car
├── assets_iphone.car
├── assets_mac.car
├── assets_tv.car
├── assets_watch.car
└── fake_assets
/.gitignore:
--------------------------------------------------------------------------------
1 | # Xcode
2 | #
3 | # gitignore contributors: remember to update Global/Xcode.gitignore, Objective-C.gitignore & Swift.gitignore
4 |
5 | ## Build generated
6 | build/
7 | DerivedData/
8 |
9 | ## Various settings
10 | *.pbxuser
11 | !default.pbxuser
12 | *.mode1v3
13 | !default.mode1v3
14 | *.mode2v3
15 | !default.mode2v3
16 | *.perspectivev3
17 | !default.perspectivev3
18 | xcuserdata/
19 |
20 | ## Other
21 | *.moved-aside
22 | *.xcuserstate
23 |
24 | ## Obj-C/Swift specific
25 | *.hmap
26 | *.ipa
27 | *.dSYM.zip
28 | *.dSYM
29 |
30 | ## Playgrounds
31 | timeline.xctimeline
32 | playground.xcworkspace
33 |
34 | # Swift Package Manager
35 | #
36 | # Add this line if you want to avoid checking in source code from Swift Package Manager dependencies.
37 | # Packages/
38 | .build/
39 |
40 | # CocoaPods
41 | #
42 | # We recommend against adding the Pods directory to your .gitignore. However
43 | # you should judge for yourself, the pros and cons are mentioned at:
44 | # https://guides.cocoapods.org/using/using-cocoapods.html#should-i-check-the-pods-directory-into-source-control
45 | #
46 | # Pods/
47 |
48 | # Carthage
49 | #
50 | # Add this line if you want to avoid checking in source code from Carthage dependencies.
51 | # Carthage/Checkouts
52 |
53 | Carthage/Build
54 |
55 | # fastlane
56 | #
57 | # It is recommended to not store the screenshots in the git repo. Instead, use fastlane to re-generate the
58 | # screenshots whenever they are needed.
59 | # For more information about the recommended setup visit:
60 | # https://github.com/fastlane/fastlane/blob/master/fastlane/docs/Gitignore.md
61 |
62 | fastlane/report.xml
63 | fastlane/Preview.html
64 | fastlane/screenshots
65 | fastlane/test_output
66 | /output
67 |
68 | *.xcarchive
69 | acextract.bin
70 | acextract.zip
71 |
--------------------------------------------------------------------------------
/.gitmodules:
--------------------------------------------------------------------------------
1 | [submodule "CommandLine"]
2 | path = CommandLine
3 | url = https://github.com/iHTCboy/CommandLine
4 |
--------------------------------------------------------------------------------
/.swiftlint.yml:
--------------------------------------------------------------------------------
1 | disabled_rules: # rule identifiers to exclude from running
2 | - line_length
3 | - function_body_length
4 | - todo
5 | # Test force unwrepping ocasionally
6 | #opt_in_rules:
7 | # - force_unwrapping
8 | excluded: # paths to ignore during linting. Takes precedence over `included`.
9 | - CommandLine
10 | - TestApps
11 | type_name:
12 | excluded:
13 | - OK
14 | variable_name:
15 | max_length:
16 | warning: 80
17 | error: 100
18 | excluded: # excluded via string array
19 | - id
20 | - URL
21 | type_body_length:
22 | warning: 300
23 | error: 500
24 | file_length:
25 | warning: 600
26 | error: 800
27 |
--------------------------------------------------------------------------------
/Images.xcassets/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "version" : 1,
4 | "author" : "xcode"
5 | }
6 | }
--------------------------------------------------------------------------------
/Images.xcassets/alignment/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "version" : 1,
4 | "author" : "xcode"
5 | }
6 | }
--------------------------------------------------------------------------------
/Images.xcassets/alignment/a_any.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "alignment-insets" : {
5 | "top" : 5,
6 | "left" : 10,
7 | "bottom" : 15,
8 | "right" : 20
9 | },
10 | "idiom" : "universal",
11 | "filename" : "image.png",
12 | "scale" : "1x"
13 | },
14 | {
15 | "alignment-insets" : {
16 | "top" : 6,
17 | "left" : 12,
18 | "bottom" : 18,
19 | "right" : 24
20 | },
21 | "idiom" : "universal",
22 | "filename" : "image@2x.png",
23 | "scale" : "2x"
24 | },
25 | {
26 | "alignment-insets" : {
27 | "top" : 12,
28 | "left" : 24,
29 | "bottom" : 36,
30 | "right" : 48
31 | },
32 | "idiom" : "universal",
33 | "filename" : "image@3x.png",
34 | "scale" : "3x"
35 | }
36 | ],
37 | "info" : {
38 | "version" : 1,
39 | "author" : "xcode"
40 | }
41 | }
--------------------------------------------------------------------------------
/Images.xcassets/alignment/a_any.imageset/image.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Images.xcassets/alignment/a_any.imageset/image.png
--------------------------------------------------------------------------------
/Images.xcassets/alignment/a_any.imageset/image@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Images.xcassets/alignment/a_any.imageset/image@2x.png
--------------------------------------------------------------------------------
/Images.xcassets/alignment/a_any.imageset/image@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Images.xcassets/alignment/a_any.imageset/image@3x.png
--------------------------------------------------------------------------------
/Images.xcassets/alignment/a_no.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "green.png",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "filename" : "green@2x.png",
11 | "scale" : "2x"
12 | },
13 | {
14 | "idiom" : "universal",
15 | "filename" : "green@3x.png",
16 | "scale" : "3x"
17 | }
18 | ],
19 | "info" : {
20 | "version" : 1,
21 | "author" : "xcode"
22 | }
23 | }
--------------------------------------------------------------------------------
/Images.xcassets/alignment/a_no.imageset/green.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Images.xcassets/alignment/a_no.imageset/green.png
--------------------------------------------------------------------------------
/Images.xcassets/alignment/a_no.imageset/green@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Images.xcassets/alignment/a_no.imageset/green@2x.png
--------------------------------------------------------------------------------
/Images.xcassets/alignment/a_no.imageset/green@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Images.xcassets/alignment/a_no.imageset/green@3x.png
--------------------------------------------------------------------------------
/Images.xcassets/devices/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "version" : 1,
4 | "author" : "xcode"
5 | }
6 | }
--------------------------------------------------------------------------------
/Images.xcassets/devices/d_ipad.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "ipad",
5 | "filename" : "blue.png",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "ipad",
10 | "filename" : "blue@2x.png",
11 | "scale" : "2x"
12 | }
13 | ],
14 | "info" : {
15 | "version" : 1,
16 | "author" : "xcode"
17 | }
18 | }
--------------------------------------------------------------------------------
/Images.xcassets/devices/d_ipad.imageset/blue.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Images.xcassets/devices/d_ipad.imageset/blue.png
--------------------------------------------------------------------------------
/Images.xcassets/devices/d_ipad.imageset/blue@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Images.xcassets/devices/d_ipad.imageset/blue@2x.png
--------------------------------------------------------------------------------
/Images.xcassets/devices/d_iphone.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "iphone",
5 | "filename" : "green.png",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "iphone",
10 | "filename" : "green@2x.png",
11 | "scale" : "2x"
12 | },
13 | {
14 | "idiom" : "iphone",
15 | "filename" : "green@3x.png",
16 | "scale" : "3x"
17 | }
18 | ],
19 | "info" : {
20 | "version" : 1,
21 | "author" : "xcode"
22 | }
23 | }
--------------------------------------------------------------------------------
/Images.xcassets/devices/d_iphone.imageset/green.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Images.xcassets/devices/d_iphone.imageset/green.png
--------------------------------------------------------------------------------
/Images.xcassets/devices/d_iphone.imageset/green@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Images.xcassets/devices/d_iphone.imageset/green@2x.png
--------------------------------------------------------------------------------
/Images.xcassets/devices/d_iphone.imageset/green@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Images.xcassets/devices/d_iphone.imageset/green@3x.png
--------------------------------------------------------------------------------
/Images.xcassets/devices/d_iphone4.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "iphone",
5 | "scale" : "1x"
6 | },
7 | {
8 | "idiom" : "iphone",
9 | "subtype" : "retina4",
10 | "scale" : "1x"
11 | },
12 | {
13 | "idiom" : "iphone",
14 | "filename" : "green@2x-1.png",
15 | "scale" : "2x"
16 | },
17 | {
18 | "idiom" : "iphone",
19 | "filename" : "green@2x.png",
20 | "subtype" : "retina4",
21 | "scale" : "2x"
22 | },
23 | {
24 | "idiom" : "iphone",
25 | "scale" : "3x"
26 | },
27 | {
28 | "idiom" : "iphone",
29 | "subtype" : "retina4",
30 | "scale" : "3x"
31 | }
32 | ],
33 | "info" : {
34 | "version" : 1,
35 | "author" : "xcode"
36 | }
37 | }
--------------------------------------------------------------------------------
/Images.xcassets/devices/d_iphone4.imageset/green@2x-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Images.xcassets/devices/d_iphone4.imageset/green@2x-1.png
--------------------------------------------------------------------------------
/Images.xcassets/devices/d_iphone4.imageset/green@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Images.xcassets/devices/d_iphone4.imageset/green@2x.png
--------------------------------------------------------------------------------
/Images.xcassets/devices/d_mac.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "mac",
5 | "filename" : "image.png",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "mac",
10 | "filename" : "image@2x.png",
11 | "scale" : "2x"
12 | }
13 | ],
14 | "info" : {
15 | "version" : 1,
16 | "author" : "xcode"
17 | }
18 | }
--------------------------------------------------------------------------------
/Images.xcassets/devices/d_mac.imageset/image.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Images.xcassets/devices/d_mac.imageset/image.png
--------------------------------------------------------------------------------
/Images.xcassets/devices/d_mac.imageset/image@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Images.xcassets/devices/d_mac.imageset/image@2x.png
--------------------------------------------------------------------------------
/Images.xcassets/devices/d_tv.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "tv",
5 | "filename" : "cyan.png",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "tv",
10 | "scale" : "2x"
11 | }
12 | ],
13 | "info" : {
14 | "version" : 1,
15 | "author" : "xcode"
16 | }
17 | }
--------------------------------------------------------------------------------
/Images.xcassets/devices/d_tv.imageset/cyan.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Images.xcassets/devices/d_tv.imageset/cyan.png
--------------------------------------------------------------------------------
/Images.xcassets/devices/d_universal.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "image.png",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "filename" : "image@2x.png",
11 | "scale" : "2x"
12 | },
13 | {
14 | "idiom" : "universal",
15 | "filename" : "image@3x.png",
16 | "scale" : "3x"
17 | }
18 | ],
19 | "info" : {
20 | "version" : 1,
21 | "author" : "xcode"
22 | }
23 | }
--------------------------------------------------------------------------------
/Images.xcassets/devices/d_universal.imageset/image.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Images.xcassets/devices/d_universal.imageset/image.png
--------------------------------------------------------------------------------
/Images.xcassets/devices/d_universal.imageset/image@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Images.xcassets/devices/d_universal.imageset/image@2x.png
--------------------------------------------------------------------------------
/Images.xcassets/devices/d_universal.imageset/image@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Images.xcassets/devices/d_universal.imageset/image@3x.png
--------------------------------------------------------------------------------
/Images.xcassets/devices/d_watch.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "watch",
5 | "filename" : "cyan.png",
6 | "scale" : "2x"
7 | },
8 | {
9 | "idiom" : "watch",
10 | "filename" : "cyan@2x.png",
11 | "screen-width" : "<=145",
12 | "scale" : "2x"
13 | },
14 | {
15 | "idiom" : "watch",
16 | "scale" : "2x",
17 | "screen-width" : ">161"
18 | },
19 | {
20 | "idiom" : "watch",
21 | "filename" : "cyan@3x.png",
22 | "screen-width" : ">145",
23 | "scale" : "2x"
24 | },
25 | {
26 | "idiom" : "watch",
27 | "scale" : "2x",
28 | "screen-width" : ">183"
29 | }
30 | ],
31 | "info" : {
32 | "version" : 1,
33 | "author" : "xcode"
34 | }
35 | }
--------------------------------------------------------------------------------
/Images.xcassets/devices/d_watch.imageset/cyan.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Images.xcassets/devices/d_watch.imageset/cyan.png
--------------------------------------------------------------------------------
/Images.xcassets/devices/d_watch.imageset/cyan@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Images.xcassets/devices/d_watch.imageset/cyan@2x.png
--------------------------------------------------------------------------------
/Images.xcassets/devices/d_watch.imageset/cyan@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Images.xcassets/devices/d_watch.imageset/cyan@3x.png
--------------------------------------------------------------------------------
/Images.xcassets/devices/mix/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "version" : 1,
4 | "author" : "xcode"
5 | }
6 | }
--------------------------------------------------------------------------------
/Images.xcassets/devices/mix/d_iphone_ipad_mac.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "iphone",
5 | "filename" : "green.png",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "iphone",
10 | "subtype" : "retina4",
11 | "scale" : "1x"
12 | },
13 | {
14 | "idiom" : "iphone",
15 | "filename" : "green@2x.png",
16 | "scale" : "2x"
17 | },
18 | {
19 | "idiom" : "iphone",
20 | "filename" : "green@3x-1.png",
21 | "subtype" : "retina4",
22 | "scale" : "2x"
23 | },
24 | {
25 | "idiom" : "iphone",
26 | "filename" : "green@3x.png",
27 | "scale" : "3x"
28 | },
29 | {
30 | "idiom" : "iphone",
31 | "subtype" : "retina4",
32 | "scale" : "3x"
33 | },
34 | {
35 | "idiom" : "ipad",
36 | "filename" : "blue.png",
37 | "scale" : "1x"
38 | },
39 | {
40 | "idiom" : "ipad",
41 | "filename" : "blue@2x.png",
42 | "scale" : "2x"
43 | },
44 | {
45 | "idiom" : "mac",
46 | "filename" : "image.png",
47 | "scale" : "1x"
48 | },
49 | {
50 | "idiom" : "mac",
51 | "filename" : "image@2x.png",
52 | "scale" : "2x"
53 | }
54 | ],
55 | "info" : {
56 | "version" : 1,
57 | "author" : "xcode"
58 | }
59 | }
--------------------------------------------------------------------------------
/Images.xcassets/devices/mix/d_iphone_ipad_mac.imageset/blue.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Images.xcassets/devices/mix/d_iphone_ipad_mac.imageset/blue.png
--------------------------------------------------------------------------------
/Images.xcassets/devices/mix/d_iphone_ipad_mac.imageset/blue@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Images.xcassets/devices/mix/d_iphone_ipad_mac.imageset/blue@2x.png
--------------------------------------------------------------------------------
/Images.xcassets/devices/mix/d_iphone_ipad_mac.imageset/green.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Images.xcassets/devices/mix/d_iphone_ipad_mac.imageset/green.png
--------------------------------------------------------------------------------
/Images.xcassets/devices/mix/d_iphone_ipad_mac.imageset/green@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Images.xcassets/devices/mix/d_iphone_ipad_mac.imageset/green@2x.png
--------------------------------------------------------------------------------
/Images.xcassets/devices/mix/d_iphone_ipad_mac.imageset/green@3x-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Images.xcassets/devices/mix/d_iphone_ipad_mac.imageset/green@3x-1.png
--------------------------------------------------------------------------------
/Images.xcassets/devices/mix/d_iphone_ipad_mac.imageset/green@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Images.xcassets/devices/mix/d_iphone_ipad_mac.imageset/green@3x.png
--------------------------------------------------------------------------------
/Images.xcassets/devices/mix/d_iphone_ipad_mac.imageset/image.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Images.xcassets/devices/mix/d_iphone_ipad_mac.imageset/image.png
--------------------------------------------------------------------------------
/Images.xcassets/devices/mix/d_iphone_ipad_mac.imageset/image@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Images.xcassets/devices/mix/d_iphone_ipad_mac.imageset/image@2x.png
--------------------------------------------------------------------------------
/Images.xcassets/devices/mix/d_iphone_ipad_mac_watch.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "iphone",
5 | "filename" : "green.png",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "iphone",
10 | "subtype" : "retina4",
11 | "scale" : "1x"
12 | },
13 | {
14 | "idiom" : "iphone",
15 | "filename" : "green@2x.png",
16 | "scale" : "2x"
17 | },
18 | {
19 | "idiom" : "iphone",
20 | "filename" : "green@3x-1.png",
21 | "subtype" : "retina4",
22 | "scale" : "2x"
23 | },
24 | {
25 | "idiom" : "iphone",
26 | "filename" : "green@3x.png",
27 | "scale" : "3x"
28 | },
29 | {
30 | "idiom" : "iphone",
31 | "subtype" : "retina4",
32 | "scale" : "3x"
33 | },
34 | {
35 | "idiom" : "ipad",
36 | "filename" : "blue.png",
37 | "scale" : "1x"
38 | },
39 | {
40 | "idiom" : "ipad",
41 | "filename" : "blue@2x.png",
42 | "scale" : "2x"
43 | },
44 | {
45 | "idiom" : "watch",
46 | "filename" : "cyan.png",
47 | "scale" : "2x"
48 | },
49 | {
50 | "idiom" : "watch",
51 | "filename" : "cyan@2x.png",
52 | "screen-width" : "<=145",
53 | "scale" : "2x"
54 | },
55 | {
56 | "idiom" : "watch",
57 | "scale" : "2x",
58 | "screen-width" : ">161"
59 | },
60 | {
61 | "idiom" : "watch",
62 | "filename" : "cyan@3x.png",
63 | "screen-width" : ">145",
64 | "scale" : "2x"
65 | },
66 | {
67 | "idiom" : "watch",
68 | "scale" : "2x",
69 | "screen-width" : ">183"
70 | },
71 | {
72 | "idiom" : "mac",
73 | "filename" : "image.png",
74 | "scale" : "1x"
75 | },
76 | {
77 | "idiom" : "mac",
78 | "filename" : "image@2x.png",
79 | "scale" : "2x"
80 | }
81 | ],
82 | "info" : {
83 | "version" : 1,
84 | "author" : "xcode"
85 | }
86 | }
--------------------------------------------------------------------------------
/Images.xcassets/devices/mix/d_iphone_ipad_mac_watch.imageset/blue.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Images.xcassets/devices/mix/d_iphone_ipad_mac_watch.imageset/blue.png
--------------------------------------------------------------------------------
/Images.xcassets/devices/mix/d_iphone_ipad_mac_watch.imageset/blue@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Images.xcassets/devices/mix/d_iphone_ipad_mac_watch.imageset/blue@2x.png
--------------------------------------------------------------------------------
/Images.xcassets/devices/mix/d_iphone_ipad_mac_watch.imageset/cyan.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Images.xcassets/devices/mix/d_iphone_ipad_mac_watch.imageset/cyan.png
--------------------------------------------------------------------------------
/Images.xcassets/devices/mix/d_iphone_ipad_mac_watch.imageset/cyan@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Images.xcassets/devices/mix/d_iphone_ipad_mac_watch.imageset/cyan@2x.png
--------------------------------------------------------------------------------
/Images.xcassets/devices/mix/d_iphone_ipad_mac_watch.imageset/cyan@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Images.xcassets/devices/mix/d_iphone_ipad_mac_watch.imageset/cyan@3x.png
--------------------------------------------------------------------------------
/Images.xcassets/devices/mix/d_iphone_ipad_mac_watch.imageset/green.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Images.xcassets/devices/mix/d_iphone_ipad_mac_watch.imageset/green.png
--------------------------------------------------------------------------------
/Images.xcassets/devices/mix/d_iphone_ipad_mac_watch.imageset/green@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Images.xcassets/devices/mix/d_iphone_ipad_mac_watch.imageset/green@2x.png
--------------------------------------------------------------------------------
/Images.xcassets/devices/mix/d_iphone_ipad_mac_watch.imageset/green@3x-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Images.xcassets/devices/mix/d_iphone_ipad_mac_watch.imageset/green@3x-1.png
--------------------------------------------------------------------------------
/Images.xcassets/devices/mix/d_iphone_ipad_mac_watch.imageset/green@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Images.xcassets/devices/mix/d_iphone_ipad_mac_watch.imageset/green@3x.png
--------------------------------------------------------------------------------
/Images.xcassets/devices/mix/d_iphone_ipad_mac_watch.imageset/image.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Images.xcassets/devices/mix/d_iphone_ipad_mac_watch.imageset/image.png
--------------------------------------------------------------------------------
/Images.xcassets/devices/mix/d_iphone_ipad_mac_watch.imageset/image@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Images.xcassets/devices/mix/d_iphone_ipad_mac_watch.imageset/image@2x.png
--------------------------------------------------------------------------------
/Images.xcassets/graphics/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "version" : 1,
4 | "author" : "xcode"
5 | }
6 | }
--------------------------------------------------------------------------------
/Images.xcassets/graphics/g_1v2.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "image.png",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "filename" : "blue.png",
11 | "graphics-feature-set" : "metal1v2",
12 | "scale" : "1x"
13 | },
14 | {
15 | "idiom" : "universal",
16 | "filename" : "image@2x.png",
17 | "scale" : "2x"
18 | },
19 | {
20 | "idiom" : "universal",
21 | "filename" : "blue@2x.png",
22 | "graphics-feature-set" : "metal1v2",
23 | "scale" : "2x"
24 | },
25 | {
26 | "idiom" : "universal",
27 | "filename" : "image@3x.png",
28 | "scale" : "3x"
29 | },
30 | {
31 | "idiom" : "universal",
32 | "filename" : "blue@3x.png",
33 | "graphics-feature-set" : "metal1v2",
34 | "scale" : "3x"
35 | }
36 | ],
37 | "info" : {
38 | "version" : 1,
39 | "author" : "xcode"
40 | }
41 | }
--------------------------------------------------------------------------------
/Images.xcassets/graphics/g_1v2.imageset/blue.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Images.xcassets/graphics/g_1v2.imageset/blue.png
--------------------------------------------------------------------------------
/Images.xcassets/graphics/g_1v2.imageset/blue@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Images.xcassets/graphics/g_1v2.imageset/blue@2x.png
--------------------------------------------------------------------------------
/Images.xcassets/graphics/g_1v2.imageset/blue@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Images.xcassets/graphics/g_1v2.imageset/blue@3x.png
--------------------------------------------------------------------------------
/Images.xcassets/graphics/g_1v2.imageset/image.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Images.xcassets/graphics/g_1v2.imageset/image.png
--------------------------------------------------------------------------------
/Images.xcassets/graphics/g_1v2.imageset/image@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Images.xcassets/graphics/g_1v2.imageset/image@2x.png
--------------------------------------------------------------------------------
/Images.xcassets/graphics/g_1v2.imageset/image@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Images.xcassets/graphics/g_1v2.imageset/image@3x.png
--------------------------------------------------------------------------------
/Images.xcassets/graphics/g_2v2.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "blue.png",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "filename" : "cyan.png",
11 | "graphics-feature-set" : "metal2v2",
12 | "scale" : "1x"
13 | },
14 | {
15 | "idiom" : "universal",
16 | "filename" : "blue@2x.png",
17 | "scale" : "2x"
18 | },
19 | {
20 | "idiom" : "universal",
21 | "filename" : "cyan@2x.png",
22 | "graphics-feature-set" : "metal2v2",
23 | "scale" : "2x"
24 | },
25 | {
26 | "idiom" : "universal",
27 | "filename" : "blue@3x.png",
28 | "scale" : "3x"
29 | },
30 | {
31 | "idiom" : "universal",
32 | "filename" : "cyan@3x.png",
33 | "graphics-feature-set" : "metal2v2",
34 | "scale" : "3x"
35 | }
36 | ],
37 | "info" : {
38 | "version" : 1,
39 | "author" : "xcode"
40 | }
41 | }
--------------------------------------------------------------------------------
/Images.xcassets/graphics/g_2v2.imageset/blue.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Images.xcassets/graphics/g_2v2.imageset/blue.png
--------------------------------------------------------------------------------
/Images.xcassets/graphics/g_2v2.imageset/blue@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Images.xcassets/graphics/g_2v2.imageset/blue@2x.png
--------------------------------------------------------------------------------
/Images.xcassets/graphics/g_2v2.imageset/blue@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Images.xcassets/graphics/g_2v2.imageset/blue@3x.png
--------------------------------------------------------------------------------
/Images.xcassets/graphics/g_2v2.imageset/cyan.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Images.xcassets/graphics/g_2v2.imageset/cyan.png
--------------------------------------------------------------------------------
/Images.xcassets/graphics/g_2v2.imageset/cyan@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Images.xcassets/graphics/g_2v2.imageset/cyan@2x.png
--------------------------------------------------------------------------------
/Images.xcassets/graphics/g_2v2.imageset/cyan@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Images.xcassets/graphics/g_2v2.imageset/cyan@3x.png
--------------------------------------------------------------------------------
/Images.xcassets/graphics/g_3v1.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "cyan.png",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "filename" : "green.png",
11 | "graphics-feature-set" : "metal3v1",
12 | "scale" : "1x"
13 | },
14 | {
15 | "idiom" : "universal",
16 | "filename" : "cyan@2x.png",
17 | "scale" : "2x"
18 | },
19 | {
20 | "idiom" : "universal",
21 | "filename" : "green@2x.png",
22 | "graphics-feature-set" : "metal3v1",
23 | "scale" : "2x"
24 | },
25 | {
26 | "idiom" : "universal",
27 | "filename" : "cyan@3x.png",
28 | "scale" : "3x"
29 | },
30 | {
31 | "idiom" : "universal",
32 | "filename" : "green@3x.png",
33 | "graphics-feature-set" : "metal3v1",
34 | "scale" : "3x"
35 | }
36 | ],
37 | "info" : {
38 | "version" : 1,
39 | "author" : "xcode"
40 | }
41 | }
--------------------------------------------------------------------------------
/Images.xcassets/graphics/g_3v1.imageset/cyan.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Images.xcassets/graphics/g_3v1.imageset/cyan.png
--------------------------------------------------------------------------------
/Images.xcassets/graphics/g_3v1.imageset/cyan@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Images.xcassets/graphics/g_3v1.imageset/cyan@2x.png
--------------------------------------------------------------------------------
/Images.xcassets/graphics/g_3v1.imageset/cyan@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Images.xcassets/graphics/g_3v1.imageset/cyan@3x.png
--------------------------------------------------------------------------------
/Images.xcassets/graphics/g_3v1.imageset/green.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Images.xcassets/graphics/g_3v1.imageset/green.png
--------------------------------------------------------------------------------
/Images.xcassets/graphics/g_3v1.imageset/green@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Images.xcassets/graphics/g_3v1.imageset/green@2x.png
--------------------------------------------------------------------------------
/Images.xcassets/graphics/g_3v1.imageset/green@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Images.xcassets/graphics/g_3v1.imageset/green@3x.png
--------------------------------------------------------------------------------
/Images.xcassets/graphics/g_mix.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "green.png",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "filename" : "image.png",
11 | "graphics-feature-set" : "metal1v2",
12 | "scale" : "1x"
13 | },
14 | {
15 | "idiom" : "universal",
16 | "filename" : "blue.png",
17 | "graphics-feature-set" : "metal2v2",
18 | "scale" : "1x"
19 | },
20 | {
21 | "idiom" : "universal",
22 | "filename" : "cyan.png",
23 | "graphics-feature-set" : "metal3v1",
24 | "scale" : "1x"
25 | },
26 | {
27 | "idiom" : "universal",
28 | "filename" : "green@2x.png",
29 | "scale" : "2x"
30 | },
31 | {
32 | "idiom" : "universal",
33 | "filename" : "image@2x.png",
34 | "graphics-feature-set" : "metal1v2",
35 | "scale" : "2x"
36 | },
37 | {
38 | "idiom" : "universal",
39 | "filename" : "blue@2x.png",
40 | "graphics-feature-set" : "metal2v2",
41 | "scale" : "2x"
42 | },
43 | {
44 | "idiom" : "universal",
45 | "filename" : "cyan@2x.png",
46 | "graphics-feature-set" : "metal3v1",
47 | "scale" : "2x"
48 | },
49 | {
50 | "idiom" : "universal",
51 | "filename" : "green@3x.png",
52 | "scale" : "3x"
53 | },
54 | {
55 | "idiom" : "universal",
56 | "filename" : "image@3x.png",
57 | "graphics-feature-set" : "metal1v2",
58 | "scale" : "3x"
59 | },
60 | {
61 | "idiom" : "universal",
62 | "filename" : "blue@3x.png",
63 | "graphics-feature-set" : "metal2v2",
64 | "scale" : "3x"
65 | },
66 | {
67 | "idiom" : "universal",
68 | "filename" : "cyan@3x.png",
69 | "graphics-feature-set" : "metal3v1",
70 | "scale" : "3x"
71 | }
72 | ],
73 | "info" : {
74 | "version" : 1,
75 | "author" : "xcode"
76 | }
77 | }
--------------------------------------------------------------------------------
/Images.xcassets/graphics/g_mix.imageset/blue.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Images.xcassets/graphics/g_mix.imageset/blue.png
--------------------------------------------------------------------------------
/Images.xcassets/graphics/g_mix.imageset/blue@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Images.xcassets/graphics/g_mix.imageset/blue@2x.png
--------------------------------------------------------------------------------
/Images.xcassets/graphics/g_mix.imageset/blue@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Images.xcassets/graphics/g_mix.imageset/blue@3x.png
--------------------------------------------------------------------------------
/Images.xcassets/graphics/g_mix.imageset/cyan.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Images.xcassets/graphics/g_mix.imageset/cyan.png
--------------------------------------------------------------------------------
/Images.xcassets/graphics/g_mix.imageset/cyan@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Images.xcassets/graphics/g_mix.imageset/cyan@2x.png
--------------------------------------------------------------------------------
/Images.xcassets/graphics/g_mix.imageset/cyan@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Images.xcassets/graphics/g_mix.imageset/cyan@3x.png
--------------------------------------------------------------------------------
/Images.xcassets/graphics/g_mix.imageset/green.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Images.xcassets/graphics/g_mix.imageset/green.png
--------------------------------------------------------------------------------
/Images.xcassets/graphics/g_mix.imageset/green@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Images.xcassets/graphics/g_mix.imageset/green@2x.png
--------------------------------------------------------------------------------
/Images.xcassets/graphics/g_mix.imageset/green@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Images.xcassets/graphics/g_mix.imageset/green@3x.png
--------------------------------------------------------------------------------
/Images.xcassets/graphics/g_mix.imageset/image.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Images.xcassets/graphics/g_mix.imageset/image.png
--------------------------------------------------------------------------------
/Images.xcassets/graphics/g_mix.imageset/image@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Images.xcassets/graphics/g_mix.imageset/image@2x.png
--------------------------------------------------------------------------------
/Images.xcassets/graphics/g_mix.imageset/image@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Images.xcassets/graphics/g_mix.imageset/image@3x.png
--------------------------------------------------------------------------------
/Images.xcassets/graphics/g_none.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "green.png",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "filename" : "green@2x.png",
11 | "scale" : "2x"
12 | },
13 | {
14 | "idiom" : "universal",
15 | "filename" : "green@3x.png",
16 | "scale" : "3x"
17 | }
18 | ],
19 | "info" : {
20 | "version" : 1,
21 | "author" : "xcode"
22 | }
23 | }
--------------------------------------------------------------------------------
/Images.xcassets/graphics/g_none.imageset/green.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Images.xcassets/graphics/g_none.imageset/green.png
--------------------------------------------------------------------------------
/Images.xcassets/graphics/g_none.imageset/green@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Images.xcassets/graphics/g_none.imageset/green@2x.png
--------------------------------------------------------------------------------
/Images.xcassets/graphics/g_none.imageset/green@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Images.xcassets/graphics/g_none.imageset/green@3x.png
--------------------------------------------------------------------------------
/Images.xcassets/memory/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "version" : 1,
4 | "author" : "xcode"
5 | }
6 | }
--------------------------------------------------------------------------------
/Images.xcassets/memory/m_1gb.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "image.png",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "filename" : "blue.png",
11 | "memory" : "1GB",
12 | "scale" : "1x"
13 | },
14 | {
15 | "idiom" : "universal",
16 | "filename" : "image@2x.png",
17 | "scale" : "2x"
18 | },
19 | {
20 | "idiom" : "universal",
21 | "filename" : "blue@2x.png",
22 | "memory" : "1GB",
23 | "scale" : "2x"
24 | },
25 | {
26 | "idiom" : "universal",
27 | "filename" : "image@3x.png",
28 | "scale" : "3x"
29 | },
30 | {
31 | "idiom" : "universal",
32 | "filename" : "blue@3x.png",
33 | "memory" : "1GB",
34 | "scale" : "3x"
35 | }
36 | ],
37 | "info" : {
38 | "version" : 1,
39 | "author" : "xcode"
40 | }
41 | }
--------------------------------------------------------------------------------
/Images.xcassets/memory/m_1gb.imageset/blue.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Images.xcassets/memory/m_1gb.imageset/blue.png
--------------------------------------------------------------------------------
/Images.xcassets/memory/m_1gb.imageset/blue@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Images.xcassets/memory/m_1gb.imageset/blue@2x.png
--------------------------------------------------------------------------------
/Images.xcassets/memory/m_1gb.imageset/blue@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Images.xcassets/memory/m_1gb.imageset/blue@3x.png
--------------------------------------------------------------------------------
/Images.xcassets/memory/m_1gb.imageset/image.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Images.xcassets/memory/m_1gb.imageset/image.png
--------------------------------------------------------------------------------
/Images.xcassets/memory/m_1gb.imageset/image@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Images.xcassets/memory/m_1gb.imageset/image@2x.png
--------------------------------------------------------------------------------
/Images.xcassets/memory/m_1gb.imageset/image@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Images.xcassets/memory/m_1gb.imageset/image@3x.png
--------------------------------------------------------------------------------
/Images.xcassets/memory/m_2gb.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "blue.png",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "filename" : "cyan.png",
11 | "memory" : "2GB",
12 | "scale" : "1x"
13 | },
14 | {
15 | "idiom" : "universal",
16 | "filename" : "blue@2x.png",
17 | "scale" : "2x"
18 | },
19 | {
20 | "idiom" : "universal",
21 | "filename" : "cyan@2x.png",
22 | "memory" : "2GB",
23 | "scale" : "2x"
24 | },
25 | {
26 | "idiom" : "universal",
27 | "filename" : "blue@3x.png",
28 | "scale" : "3x"
29 | },
30 | {
31 | "idiom" : "universal",
32 | "filename" : "cyan@3x.png",
33 | "memory" : "2GB",
34 | "scale" : "3x"
35 | }
36 | ],
37 | "info" : {
38 | "version" : 1,
39 | "author" : "xcode"
40 | }
41 | }
--------------------------------------------------------------------------------
/Images.xcassets/memory/m_2gb.imageset/blue.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Images.xcassets/memory/m_2gb.imageset/blue.png
--------------------------------------------------------------------------------
/Images.xcassets/memory/m_2gb.imageset/blue@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Images.xcassets/memory/m_2gb.imageset/blue@2x.png
--------------------------------------------------------------------------------
/Images.xcassets/memory/m_2gb.imageset/blue@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Images.xcassets/memory/m_2gb.imageset/blue@3x.png
--------------------------------------------------------------------------------
/Images.xcassets/memory/m_2gb.imageset/cyan.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Images.xcassets/memory/m_2gb.imageset/cyan.png
--------------------------------------------------------------------------------
/Images.xcassets/memory/m_2gb.imageset/cyan@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Images.xcassets/memory/m_2gb.imageset/cyan@2x.png
--------------------------------------------------------------------------------
/Images.xcassets/memory/m_2gb.imageset/cyan@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Images.xcassets/memory/m_2gb.imageset/cyan@3x.png
--------------------------------------------------------------------------------
/Images.xcassets/memory/m_4gb.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "cyan.png",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "filename" : "green.png",
11 | "memory" : "4GB",
12 | "scale" : "1x"
13 | },
14 | {
15 | "idiom" : "universal",
16 | "filename" : "cyan@2x.png",
17 | "scale" : "2x"
18 | },
19 | {
20 | "idiom" : "universal",
21 | "filename" : "green@2x.png",
22 | "memory" : "4GB",
23 | "scale" : "2x"
24 | },
25 | {
26 | "idiom" : "universal",
27 | "filename" : "cyan@3x.png",
28 | "scale" : "3x"
29 | },
30 | {
31 | "idiom" : "universal",
32 | "filename" : "green@3x.png",
33 | "memory" : "4GB",
34 | "scale" : "3x"
35 | }
36 | ],
37 | "info" : {
38 | "version" : 1,
39 | "author" : "xcode"
40 | }
41 | }
--------------------------------------------------------------------------------
/Images.xcassets/memory/m_4gb.imageset/cyan.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Images.xcassets/memory/m_4gb.imageset/cyan.png
--------------------------------------------------------------------------------
/Images.xcassets/memory/m_4gb.imageset/cyan@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Images.xcassets/memory/m_4gb.imageset/cyan@2x.png
--------------------------------------------------------------------------------
/Images.xcassets/memory/m_4gb.imageset/cyan@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Images.xcassets/memory/m_4gb.imageset/cyan@3x.png
--------------------------------------------------------------------------------
/Images.xcassets/memory/m_4gb.imageset/green.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Images.xcassets/memory/m_4gb.imageset/green.png
--------------------------------------------------------------------------------
/Images.xcassets/memory/m_4gb.imageset/green@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Images.xcassets/memory/m_4gb.imageset/green@2x.png
--------------------------------------------------------------------------------
/Images.xcassets/memory/m_4gb.imageset/green@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Images.xcassets/memory/m_4gb.imageset/green@3x.png
--------------------------------------------------------------------------------
/Images.xcassets/memory/m_no.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "green.png",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "filename" : "green@2x.png",
11 | "scale" : "2x"
12 | },
13 | {
14 | "idiom" : "universal",
15 | "filename" : "green@3x.png",
16 | "scale" : "3x"
17 | }
18 | ],
19 | "info" : {
20 | "version" : 1,
21 | "author" : "xcode"
22 | }
23 | }
--------------------------------------------------------------------------------
/Images.xcassets/memory/m_no.imageset/green.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Images.xcassets/memory/m_no.imageset/green.png
--------------------------------------------------------------------------------
/Images.xcassets/memory/m_no.imageset/green@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Images.xcassets/memory/m_no.imageset/green@2x.png
--------------------------------------------------------------------------------
/Images.xcassets/memory/m_no.imageset/green@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Images.xcassets/memory/m_no.imageset/green@3x.png
--------------------------------------------------------------------------------
/Images.xcassets/pdf/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "version" : 1,
4 | "author" : "xcode"
5 | }
6 | }
--------------------------------------------------------------------------------
/Images.xcassets/pdf/v_device.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "facebook-2.pdf"
6 | },
7 | {
8 | "idiom" : "iphone",
9 | "filename" : "facebook.pdf"
10 | },
11 | {
12 | "idiom" : "iphone",
13 | "filename" : "facebook-1.pdf",
14 | "subtype" : "retina4"
15 | },
16 | {
17 | "idiom" : "ipad",
18 | "filename" : "facebook-1-1.pdf"
19 | },
20 | {
21 | "idiom" : "watch",
22 | "filename" : "facebook-3.pdf"
23 | },
24 | {
25 | "idiom" : "watch",
26 | "filename" : "facebook-4.pdf",
27 | "screen-width" : "<=145"
28 | },
29 | {
30 | "idiom" : "watch",
31 | "screen-width" : ">161"
32 | },
33 | {
34 | "idiom" : "watch",
35 | "filename" : "facebook-5.pdf",
36 | "screen-width" : ">145"
37 | },
38 | {
39 | "idiom" : "watch",
40 | "screen-width" : ">183"
41 | },
42 | {
43 | "idiom" : "tv",
44 | "filename" : "facebook-6.pdf"
45 | },
46 | {
47 | "idiom" : "mac",
48 | "filename" : "facebook-1-1-1.pdf"
49 | }
50 | ],
51 | "info" : {
52 | "version" : 1,
53 | "author" : "xcode"
54 | }
55 | }
--------------------------------------------------------------------------------
/Images.xcassets/pdf/v_device.imageset/facebook-1-1-1.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Images.xcassets/pdf/v_device.imageset/facebook-1-1-1.pdf
--------------------------------------------------------------------------------
/Images.xcassets/pdf/v_device.imageset/facebook-1-1.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Images.xcassets/pdf/v_device.imageset/facebook-1-1.pdf
--------------------------------------------------------------------------------
/Images.xcassets/pdf/v_device.imageset/facebook-1.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Images.xcassets/pdf/v_device.imageset/facebook-1.pdf
--------------------------------------------------------------------------------
/Images.xcassets/pdf/v_device.imageset/facebook-2.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Images.xcassets/pdf/v_device.imageset/facebook-2.pdf
--------------------------------------------------------------------------------
/Images.xcassets/pdf/v_device.imageset/facebook-3.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Images.xcassets/pdf/v_device.imageset/facebook-3.pdf
--------------------------------------------------------------------------------
/Images.xcassets/pdf/v_device.imageset/facebook-4.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Images.xcassets/pdf/v_device.imageset/facebook-4.pdf
--------------------------------------------------------------------------------
/Images.xcassets/pdf/v_device.imageset/facebook-5.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Images.xcassets/pdf/v_device.imageset/facebook-5.pdf
--------------------------------------------------------------------------------
/Images.xcassets/pdf/v_device.imageset/facebook-6.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Images.xcassets/pdf/v_device.imageset/facebook-6.pdf
--------------------------------------------------------------------------------
/Images.xcassets/pdf/v_device.imageset/facebook.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Images.xcassets/pdf/v_device.imageset/facebook.pdf
--------------------------------------------------------------------------------
/Images.xcassets/pdf/v_overrides.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "facebook-2.pdf"
6 | },
7 | {
8 | "idiom" : "universal",
9 | "filename" : "blue.png",
10 | "scale" : "1x"
11 | },
12 | {
13 | "idiom" : "universal",
14 | "filename" : "blue@2x.png",
15 | "scale" : "2x"
16 | },
17 | {
18 | "idiom" : "universal",
19 | "filename" : "blue@3x.png",
20 | "scale" : "3x"
21 | },
22 | {
23 | "idiom" : "iphone",
24 | "filename" : "facebook.pdf"
25 | },
26 | {
27 | "idiom" : "iphone",
28 | "filename" : "facebook-1.pdf",
29 | "subtype" : "retina4"
30 | },
31 | {
32 | "idiom" : "iphone",
33 | "filename" : "green.png",
34 | "scale" : "1x"
35 | },
36 | {
37 | "idiom" : "iphone",
38 | "subtype" : "retina4",
39 | "scale" : "1x"
40 | },
41 | {
42 | "idiom" : "iphone",
43 | "filename" : "green@2x.png",
44 | "scale" : "2x"
45 | },
46 | {
47 | "idiom" : "iphone",
48 | "filename" : "green@2x-1.png",
49 | "subtype" : "retina4",
50 | "scale" : "2x"
51 | },
52 | {
53 | "idiom" : "iphone",
54 | "filename" : "green@3x.png",
55 | "scale" : "3x"
56 | },
57 | {
58 | "idiom" : "iphone",
59 | "subtype" : "retina4",
60 | "scale" : "3x"
61 | },
62 | {
63 | "idiom" : "ipad",
64 | "filename" : "facebook-1-1.pdf"
65 | },
66 | {
67 | "idiom" : "ipad",
68 | "filename" : "green-1.png",
69 | "scale" : "1x"
70 | },
71 | {
72 | "idiom" : "ipad",
73 | "filename" : "green@2x-2.png",
74 | "scale" : "2x"
75 | },
76 | {
77 | "idiom" : "watch",
78 | "filename" : "facebook-3.pdf"
79 | },
80 | {
81 | "idiom" : "watch",
82 | "filename" : "facebook-4.pdf",
83 | "screen-width" : "<=145"
84 | },
85 | {
86 | "idiom" : "watch",
87 | "screen-width" : ">161"
88 | },
89 | {
90 | "idiom" : "watch",
91 | "filename" : "facebook-5.pdf",
92 | "screen-width" : ">145"
93 | },
94 | {
95 | "idiom" : "watch",
96 | "screen-width" : ">183"
97 | },
98 | {
99 | "idiom" : "watch",
100 | "filename" : "cyan.png",
101 | "scale" : "2x"
102 | },
103 | {
104 | "idiom" : "watch",
105 | "filename" : "cyan@2x.png",
106 | "screen-width" : "<=145",
107 | "scale" : "2x"
108 | },
109 | {
110 | "idiom" : "watch",
111 | "scale" : "2x",
112 | "screen-width" : ">161"
113 | },
114 | {
115 | "idiom" : "watch",
116 | "filename" : "cyan@3x.png",
117 | "screen-width" : ">145",
118 | "scale" : "2x"
119 | },
120 | {
121 | "idiom" : "watch",
122 | "scale" : "2x",
123 | "screen-width" : ">183"
124 | },
125 | {
126 | "idiom" : "tv",
127 | "filename" : "facebook-6.pdf"
128 | },
129 | {
130 | "idiom" : "tv",
131 | "filename" : "image.png",
132 | "scale" : "1x"
133 | },
134 | {
135 | "idiom" : "tv",
136 | "scale" : "2x"
137 | },
138 | {
139 | "idiom" : "mac",
140 | "filename" : "facebook-1-1-1.pdf"
141 | },
142 | {
143 | "idiom" : "mac",
144 | "filename" : "green-2.png",
145 | "scale" : "1x"
146 | },
147 | {
148 | "idiom" : "mac",
149 | "filename" : "green@2x-3.png",
150 | "scale" : "2x"
151 | }
152 | ],
153 | "info" : {
154 | "version" : 1,
155 | "author" : "xcode"
156 | }
157 | }
--------------------------------------------------------------------------------
/Images.xcassets/pdf/v_overrides.imageset/blue.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Images.xcassets/pdf/v_overrides.imageset/blue.png
--------------------------------------------------------------------------------
/Images.xcassets/pdf/v_overrides.imageset/blue@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Images.xcassets/pdf/v_overrides.imageset/blue@2x.png
--------------------------------------------------------------------------------
/Images.xcassets/pdf/v_overrides.imageset/blue@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Images.xcassets/pdf/v_overrides.imageset/blue@3x.png
--------------------------------------------------------------------------------
/Images.xcassets/pdf/v_overrides.imageset/cyan.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Images.xcassets/pdf/v_overrides.imageset/cyan.png
--------------------------------------------------------------------------------
/Images.xcassets/pdf/v_overrides.imageset/cyan@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Images.xcassets/pdf/v_overrides.imageset/cyan@2x.png
--------------------------------------------------------------------------------
/Images.xcassets/pdf/v_overrides.imageset/cyan@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Images.xcassets/pdf/v_overrides.imageset/cyan@3x.png
--------------------------------------------------------------------------------
/Images.xcassets/pdf/v_overrides.imageset/facebook-1-1-1.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Images.xcassets/pdf/v_overrides.imageset/facebook-1-1-1.pdf
--------------------------------------------------------------------------------
/Images.xcassets/pdf/v_overrides.imageset/facebook-1-1.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Images.xcassets/pdf/v_overrides.imageset/facebook-1-1.pdf
--------------------------------------------------------------------------------
/Images.xcassets/pdf/v_overrides.imageset/facebook-1.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Images.xcassets/pdf/v_overrides.imageset/facebook-1.pdf
--------------------------------------------------------------------------------
/Images.xcassets/pdf/v_overrides.imageset/facebook-2.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Images.xcassets/pdf/v_overrides.imageset/facebook-2.pdf
--------------------------------------------------------------------------------
/Images.xcassets/pdf/v_overrides.imageset/facebook-3.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Images.xcassets/pdf/v_overrides.imageset/facebook-3.pdf
--------------------------------------------------------------------------------
/Images.xcassets/pdf/v_overrides.imageset/facebook-4.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Images.xcassets/pdf/v_overrides.imageset/facebook-4.pdf
--------------------------------------------------------------------------------
/Images.xcassets/pdf/v_overrides.imageset/facebook-5.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Images.xcassets/pdf/v_overrides.imageset/facebook-5.pdf
--------------------------------------------------------------------------------
/Images.xcassets/pdf/v_overrides.imageset/facebook-6.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Images.xcassets/pdf/v_overrides.imageset/facebook-6.pdf
--------------------------------------------------------------------------------
/Images.xcassets/pdf/v_overrides.imageset/facebook.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Images.xcassets/pdf/v_overrides.imageset/facebook.pdf
--------------------------------------------------------------------------------
/Images.xcassets/pdf/v_overrides.imageset/green-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Images.xcassets/pdf/v_overrides.imageset/green-1.png
--------------------------------------------------------------------------------
/Images.xcassets/pdf/v_overrides.imageset/green-2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Images.xcassets/pdf/v_overrides.imageset/green-2.png
--------------------------------------------------------------------------------
/Images.xcassets/pdf/v_overrides.imageset/green.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Images.xcassets/pdf/v_overrides.imageset/green.png
--------------------------------------------------------------------------------
/Images.xcassets/pdf/v_overrides.imageset/green@2x-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Images.xcassets/pdf/v_overrides.imageset/green@2x-1.png
--------------------------------------------------------------------------------
/Images.xcassets/pdf/v_overrides.imageset/green@2x-2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Images.xcassets/pdf/v_overrides.imageset/green@2x-2.png
--------------------------------------------------------------------------------
/Images.xcassets/pdf/v_overrides.imageset/green@2x-3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Images.xcassets/pdf/v_overrides.imageset/green@2x-3.png
--------------------------------------------------------------------------------
/Images.xcassets/pdf/v_overrides.imageset/green@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Images.xcassets/pdf/v_overrides.imageset/green@2x.png
--------------------------------------------------------------------------------
/Images.xcassets/pdf/v_overrides.imageset/green@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Images.xcassets/pdf/v_overrides.imageset/green@3x.png
--------------------------------------------------------------------------------
/Images.xcassets/pdf/v_overrides.imageset/image.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Images.xcassets/pdf/v_overrides.imageset/image.png
--------------------------------------------------------------------------------
/Images.xcassets/pdf/v_universal.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "facebook.pdf"
6 | }
7 | ],
8 | "info" : {
9 | "version" : 1,
10 | "author" : "xcode"
11 | }
12 | }
--------------------------------------------------------------------------------
/Images.xcassets/pdf/v_universal.imageset/facebook.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Images.xcassets/pdf/v_universal.imageset/facebook.pdf
--------------------------------------------------------------------------------
/Images.xcassets/render/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "version" : 1,
4 | "author" : "xcode"
5 | }
6 | }
--------------------------------------------------------------------------------
/Images.xcassets/render/r_default.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "green.png",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "filename" : "green@2x.png",
11 | "scale" : "2x"
12 | },
13 | {
14 | "idiom" : "universal",
15 | "filename" : "green@3x.png",
16 | "scale" : "3x"
17 | }
18 | ],
19 | "info" : {
20 | "version" : 1,
21 | "author" : "xcode"
22 | }
23 | }
--------------------------------------------------------------------------------
/Images.xcassets/render/r_default.imageset/green.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Images.xcassets/render/r_default.imageset/green.png
--------------------------------------------------------------------------------
/Images.xcassets/render/r_default.imageset/green@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Images.xcassets/render/r_default.imageset/green@2x.png
--------------------------------------------------------------------------------
/Images.xcassets/render/r_default.imageset/green@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Images.xcassets/render/r_default.imageset/green@3x.png
--------------------------------------------------------------------------------
/Images.xcassets/render/r_original.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "image.png",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "filename" : "image@2x.png",
11 | "scale" : "2x"
12 | },
13 | {
14 | "idiom" : "universal",
15 | "filename" : "image@3x.png",
16 | "scale" : "3x"
17 | }
18 | ],
19 | "info" : {
20 | "version" : 1,
21 | "author" : "xcode"
22 | },
23 | "properties" : {
24 | "template-rendering-intent" : "original"
25 | }
26 | }
--------------------------------------------------------------------------------
/Images.xcassets/render/r_original.imageset/image.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Images.xcassets/render/r_original.imageset/image.png
--------------------------------------------------------------------------------
/Images.xcassets/render/r_original.imageset/image@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Images.xcassets/render/r_original.imageset/image@2x.png
--------------------------------------------------------------------------------
/Images.xcassets/render/r_original.imageset/image@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Images.xcassets/render/r_original.imageset/image@3x.png
--------------------------------------------------------------------------------
/Images.xcassets/render/r_template.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "blue.png",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "filename" : "blue@2x.png",
11 | "scale" : "2x"
12 | },
13 | {
14 | "idiom" : "universal",
15 | "filename" : "blue@3x.png",
16 | "scale" : "3x"
17 | }
18 | ],
19 | "info" : {
20 | "version" : 1,
21 | "author" : "xcode"
22 | },
23 | "properties" : {
24 | "template-rendering-intent" : "template"
25 | }
26 | }
--------------------------------------------------------------------------------
/Images.xcassets/render/r_template.imageset/blue.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Images.xcassets/render/r_template.imageset/blue.png
--------------------------------------------------------------------------------
/Images.xcassets/render/r_template.imageset/blue@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Images.xcassets/render/r_template.imageset/blue@2x.png
--------------------------------------------------------------------------------
/Images.xcassets/render/r_template.imageset/blue@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Images.xcassets/render/r_template.imageset/blue@3x.png
--------------------------------------------------------------------------------
/Images.xcassets/size class/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "version" : 1,
4 | "author" : "xcode"
5 | }
6 | }
--------------------------------------------------------------------------------
/Images.xcassets/size class/sc_h_a&r.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "green.png",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "filename" : "green@2x.png",
11 | "scale" : "2x"
12 | },
13 | {
14 | "idiom" : "universal",
15 | "filename" : "green@3x.png",
16 | "scale" : "3x"
17 | },
18 | {
19 | "idiom" : "universal",
20 | "filename" : "image.png",
21 | "height-class" : "regular",
22 | "scale" : "1x"
23 | },
24 | {
25 | "idiom" : "universal",
26 | "filename" : "image@2x.png",
27 | "height-class" : "regular",
28 | "scale" : "2x"
29 | },
30 | {
31 | "idiom" : "universal",
32 | "filename" : "image@3x.png",
33 | "height-class" : "regular",
34 | "scale" : "3x"
35 | }
36 | ],
37 | "info" : {
38 | "version" : 1,
39 | "author" : "xcode"
40 | }
41 | }
--------------------------------------------------------------------------------
/Images.xcassets/size class/sc_h_a&r.imageset/green.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Images.xcassets/size class/sc_h_a&r.imageset/green.png
--------------------------------------------------------------------------------
/Images.xcassets/size class/sc_h_a&r.imageset/green@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Images.xcassets/size class/sc_h_a&r.imageset/green@2x.png
--------------------------------------------------------------------------------
/Images.xcassets/size class/sc_h_a&r.imageset/green@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Images.xcassets/size class/sc_h_a&r.imageset/green@3x.png
--------------------------------------------------------------------------------
/Images.xcassets/size class/sc_h_a&r.imageset/image.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Images.xcassets/size class/sc_h_a&r.imageset/image.png
--------------------------------------------------------------------------------
/Images.xcassets/size class/sc_h_a&r.imageset/image@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Images.xcassets/size class/sc_h_a&r.imageset/image@2x.png
--------------------------------------------------------------------------------
/Images.xcassets/size class/sc_h_a&r.imageset/image@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Images.xcassets/size class/sc_h_a&r.imageset/image@3x.png
--------------------------------------------------------------------------------
/Images.xcassets/size class/sc_w_a&c.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "green.png",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "filename" : "green@2x.png",
11 | "scale" : "2x"
12 | },
13 | {
14 | "idiom" : "universal",
15 | "filename" : "green@3x.png",
16 | "scale" : "3x"
17 | },
18 | {
19 | "idiom" : "universal",
20 | "filename" : "image.png",
21 | "width-class" : "compact",
22 | "scale" : "1x"
23 | },
24 | {
25 | "idiom" : "universal",
26 | "filename" : "image@2x.png",
27 | "width-class" : "compact",
28 | "scale" : "2x"
29 | },
30 | {
31 | "idiom" : "universal",
32 | "filename" : "image@3x.png",
33 | "width-class" : "compact",
34 | "scale" : "3x"
35 | }
36 | ],
37 | "info" : {
38 | "version" : 1,
39 | "author" : "xcode"
40 | }
41 | }
--------------------------------------------------------------------------------
/Images.xcassets/size class/sc_w_a&c.imageset/green.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Images.xcassets/size class/sc_w_a&c.imageset/green.png
--------------------------------------------------------------------------------
/Images.xcassets/size class/sc_w_a&c.imageset/green@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Images.xcassets/size class/sc_w_a&c.imageset/green@2x.png
--------------------------------------------------------------------------------
/Images.xcassets/size class/sc_w_a&c.imageset/green@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Images.xcassets/size class/sc_w_a&c.imageset/green@3x.png
--------------------------------------------------------------------------------
/Images.xcassets/size class/sc_w_a&c.imageset/image.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Images.xcassets/size class/sc_w_a&c.imageset/image.png
--------------------------------------------------------------------------------
/Images.xcassets/size class/sc_w_a&c.imageset/image@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Images.xcassets/size class/sc_w_a&c.imageset/image@2x.png
--------------------------------------------------------------------------------
/Images.xcassets/size class/sc_w_a&c.imageset/image@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Images.xcassets/size class/sc_w_a&c.imageset/image@3x.png
--------------------------------------------------------------------------------
/Images.xcassets/size class/sc_wh_a&r&c.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "green.png",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "filename" : "green@2x.png",
11 | "scale" : "2x"
12 | },
13 | {
14 | "idiom" : "universal",
15 | "filename" : "green@3x.png",
16 | "scale" : "3x"
17 | },
18 | {
19 | "idiom" : "universal",
20 | "filename" : "image.png",
21 | "height-class" : "compact",
22 | "scale" : "1x"
23 | },
24 | {
25 | "idiom" : "universal",
26 | "filename" : "image@2x.png",
27 | "height-class" : "compact",
28 | "scale" : "2x"
29 | },
30 | {
31 | "idiom" : "universal",
32 | "filename" : "image@3x.png",
33 | "height-class" : "compact",
34 | "scale" : "3x"
35 | },
36 | {
37 | "idiom" : "universal",
38 | "filename" : "blue.png",
39 | "width-class" : "regular",
40 | "scale" : "1x"
41 | },
42 | {
43 | "idiom" : "universal",
44 | "filename" : "blue@2x.png",
45 | "width-class" : "regular",
46 | "scale" : "2x"
47 | },
48 | {
49 | "idiom" : "universal",
50 | "filename" : "blue@3x.png",
51 | "width-class" : "regular",
52 | "scale" : "3x"
53 | },
54 | {
55 | "idiom" : "universal",
56 | "filename" : "cyan.png",
57 | "width-class" : "regular",
58 | "height-class" : "compact",
59 | "scale" : "1x"
60 | },
61 | {
62 | "idiom" : "universal",
63 | "filename" : "cyan@2x.png",
64 | "width-class" : "regular",
65 | "height-class" : "compact",
66 | "scale" : "2x"
67 | },
68 | {
69 | "idiom" : "universal",
70 | "filename" : "cyan@3x.png",
71 | "width-class" : "regular",
72 | "height-class" : "compact",
73 | "scale" : "3x"
74 | }
75 | ],
76 | "info" : {
77 | "version" : 1,
78 | "author" : "xcode"
79 | }
80 | }
--------------------------------------------------------------------------------
/Images.xcassets/size class/sc_wh_a&r&c.imageset/blue.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Images.xcassets/size class/sc_wh_a&r&c.imageset/blue.png
--------------------------------------------------------------------------------
/Images.xcassets/size class/sc_wh_a&r&c.imageset/blue@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Images.xcassets/size class/sc_wh_a&r&c.imageset/blue@2x.png
--------------------------------------------------------------------------------
/Images.xcassets/size class/sc_wh_a&r&c.imageset/blue@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Images.xcassets/size class/sc_wh_a&r&c.imageset/blue@3x.png
--------------------------------------------------------------------------------
/Images.xcassets/size class/sc_wh_a&r&c.imageset/cyan.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Images.xcassets/size class/sc_wh_a&r&c.imageset/cyan.png
--------------------------------------------------------------------------------
/Images.xcassets/size class/sc_wh_a&r&c.imageset/cyan@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Images.xcassets/size class/sc_wh_a&r&c.imageset/cyan@2x.png
--------------------------------------------------------------------------------
/Images.xcassets/size class/sc_wh_a&r&c.imageset/cyan@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Images.xcassets/size class/sc_wh_a&r&c.imageset/cyan@3x.png
--------------------------------------------------------------------------------
/Images.xcassets/size class/sc_wh_a&r&c.imageset/green.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Images.xcassets/size class/sc_wh_a&r&c.imageset/green.png
--------------------------------------------------------------------------------
/Images.xcassets/size class/sc_wh_a&r&c.imageset/green@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Images.xcassets/size class/sc_wh_a&r&c.imageset/green@2x.png
--------------------------------------------------------------------------------
/Images.xcassets/size class/sc_wh_a&r&c.imageset/green@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Images.xcassets/size class/sc_wh_a&r&c.imageset/green@3x.png
--------------------------------------------------------------------------------
/Images.xcassets/size class/sc_wh_a&r&c.imageset/image.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Images.xcassets/size class/sc_wh_a&r&c.imageset/image.png
--------------------------------------------------------------------------------
/Images.xcassets/size class/sc_wh_a&r&c.imageset/image@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Images.xcassets/size class/sc_wh_a&r&c.imageset/image@2x.png
--------------------------------------------------------------------------------
/Images.xcassets/size class/sc_wh_a&r&c.imageset/image@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Images.xcassets/size class/sc_wh_a&r&c.imageset/image@3x.png
--------------------------------------------------------------------------------
/Images.xcassets/slices/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "version" : 1,
4 | "author" : "xcode"
5 | }
6 | }
--------------------------------------------------------------------------------
/Images.xcassets/slices/s_horizontal.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "resizing" : {
5 | "mode" : "3-part-horizontal",
6 | "center" : {
7 | "mode" : "tile",
8 | "width" : 4
9 | },
10 | "cap-insets" : {
11 | "right" : 10,
12 | "left" : 10
13 | }
14 | },
15 | "idiom" : "universal",
16 | "filename" : "image.png",
17 | "scale" : "1x"
18 | },
19 | {
20 | "resizing" : {
21 | "mode" : "3-part-horizontal",
22 | "center" : {
23 | "mode" : "stretch",
24 | "width" : 9
25 | },
26 | "cap-insets" : {
27 | "right" : 19,
28 | "left" : 20
29 | }
30 | },
31 | "idiom" : "universal",
32 | "filename" : "image@2x.png",
33 | "scale" : "2x"
34 | },
35 | {
36 | "resizing" : {
37 | "mode" : "3-part-horizontal",
38 | "center" : {
39 | "mode" : "stretch",
40 | "width" : 5
41 | },
42 | "cap-insets" : {
43 | "right" : 29,
44 | "left" : 29
45 | }
46 | },
47 | "idiom" : "universal",
48 | "filename" : "image@3x.png",
49 | "scale" : "3x"
50 | }
51 | ],
52 | "info" : {
53 | "version" : 1,
54 | "author" : "xcode"
55 | }
56 | }
--------------------------------------------------------------------------------
/Images.xcassets/slices/s_horizontal.imageset/image.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Images.xcassets/slices/s_horizontal.imageset/image.png
--------------------------------------------------------------------------------
/Images.xcassets/slices/s_horizontal.imageset/image@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Images.xcassets/slices/s_horizontal.imageset/image@2x.png
--------------------------------------------------------------------------------
/Images.xcassets/slices/s_horizontal.imageset/image@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Images.xcassets/slices/s_horizontal.imageset/image@3x.png
--------------------------------------------------------------------------------
/Images.xcassets/slices/s_horizontal_vertical.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "resizing" : {
5 | "mode" : "9-part",
6 | "center" : {
7 | "mode" : "stretch",
8 | "width" : 2,
9 | "height" : 3
10 | },
11 | "cap-insets" : {
12 | "bottom" : 12,
13 | "top" : 10,
14 | "right" : 13,
15 | "left" : 11
16 | }
17 | },
18 | "idiom" : "universal",
19 | "filename" : "cyan.png",
20 | "scale" : "1x"
21 | },
22 | {
23 | "resizing" : {
24 | "mode" : "9-part",
25 | "center" : {
26 | "mode" : "tile",
27 | "width" : 6,
28 | "height" : 2
29 | },
30 | "cap-insets" : {
31 | "bottom" : 20,
32 | "top" : 20,
33 | "right" : 19,
34 | "left" : 20
35 | }
36 | },
37 | "idiom" : "universal",
38 | "filename" : "cyan@2x.png",
39 | "scale" : "2x"
40 | },
41 | {
42 | "resizing" : {
43 | "mode" : "9-part",
44 | "center" : {
45 | "mode" : "tile",
46 | "width" : 8,
47 | "height" : 2
48 | },
49 | "cap-insets" : {
50 | "bottom" : 30,
51 | "top" : 30,
52 | "right" : 29,
53 | "left" : 30
54 | }
55 | },
56 | "idiom" : "universal",
57 | "filename" : "cyan@3x.png",
58 | "scale" : "3x"
59 | }
60 | ],
61 | "info" : {
62 | "version" : 1,
63 | "author" : "xcode"
64 | }
65 | }
--------------------------------------------------------------------------------
/Images.xcassets/slices/s_horizontal_vertical.imageset/cyan.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Images.xcassets/slices/s_horizontal_vertical.imageset/cyan.png
--------------------------------------------------------------------------------
/Images.xcassets/slices/s_horizontal_vertical.imageset/cyan@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Images.xcassets/slices/s_horizontal_vertical.imageset/cyan@2x.png
--------------------------------------------------------------------------------
/Images.xcassets/slices/s_horizontal_vertical.imageset/cyan@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Images.xcassets/slices/s_horizontal_vertical.imageset/cyan@3x.png
--------------------------------------------------------------------------------
/Images.xcassets/slices/s_none.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "green.png",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "filename" : "green@2x.png",
11 | "scale" : "2x"
12 | },
13 | {
14 | "idiom" : "universal",
15 | "filename" : "green@3x.png",
16 | "scale" : "3x"
17 | }
18 | ],
19 | "info" : {
20 | "version" : 1,
21 | "author" : "xcode"
22 | }
23 | }
--------------------------------------------------------------------------------
/Images.xcassets/slices/s_none.imageset/green.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Images.xcassets/slices/s_none.imageset/green.png
--------------------------------------------------------------------------------
/Images.xcassets/slices/s_none.imageset/green@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Images.xcassets/slices/s_none.imageset/green@2x.png
--------------------------------------------------------------------------------
/Images.xcassets/slices/s_none.imageset/green@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Images.xcassets/slices/s_none.imageset/green@3x.png
--------------------------------------------------------------------------------
/Images.xcassets/slices/s_vertical.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "resizing" : {
5 | "mode" : "3-part-vertical",
6 | "center" : {
7 | "mode" : "tile",
8 | "height" : 3
9 | },
10 | "cap-insets" : {
11 | "top" : 10,
12 | "bottom" : 10
13 | }
14 | },
15 | "idiom" : "universal",
16 | "filename" : "blue.png",
17 | "scale" : "1x"
18 | },
19 | {
20 | "resizing" : {
21 | "mode" : "3-part-vertical",
22 | "center" : {
23 | "mode" : "stretch",
24 | "height" : 7
25 | },
26 | "cap-insets" : {
27 | "top" : 20,
28 | "bottom" : 20
29 | }
30 | },
31 | "idiom" : "universal",
32 | "filename" : "blue@2x.png",
33 | "scale" : "2x"
34 | },
35 | {
36 | "resizing" : {
37 | "mode" : "3-part-vertical",
38 | "center" : {
39 | "mode" : "tile",
40 | "height" : 11
41 | },
42 | "cap-insets" : {
43 | "top" : 29,
44 | "bottom" : 29
45 | }
46 | },
47 | "idiom" : "universal",
48 | "filename" : "blue@3x.png",
49 | "scale" : "3x"
50 | }
51 | ],
52 | "info" : {
53 | "version" : 1,
54 | "author" : "xcode"
55 | }
56 | }
--------------------------------------------------------------------------------
/Images.xcassets/slices/s_vertical.imageset/blue.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Images.xcassets/slices/s_vertical.imageset/blue.png
--------------------------------------------------------------------------------
/Images.xcassets/slices/s_vertical.imageset/blue@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Images.xcassets/slices/s_vertical.imageset/blue@2x.png
--------------------------------------------------------------------------------
/Images.xcassets/slices/s_vertical.imageset/blue@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Images.xcassets/slices/s_vertical.imageset/blue@3x.png
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | The MIT License (MIT)
2 |
3 | Copyright (c) 2014 Bartosz Janda
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
23 |
--------------------------------------------------------------------------------
/Makefile:
--------------------------------------------------------------------------------
1 | .PHONY: \
2 | iphone ipad ios mac tv watch \
3 | assets \
4 | build test \
5 | zip release clean
6 |
7 | define ACTOOL
8 | xcrun actool \
9 | --output-format human-readable-text \
10 | --notices \
11 | --warnings
12 | endef
13 |
14 | ASSETS := "Assets.car"
15 | DATA := "acextractTests/data"
16 |
17 | all:
18 |
19 | # Builad assets
20 | assets: iphone ipad ios mac tv watch
21 |
22 | iphone:
23 | # --filter-for-device-model iPhone8,2
24 | # --filter-for-device-os-version 9.3
25 | # --platform iphonesimulator
26 | $(ACTOOL) \
27 | --compress-pngs \
28 | --enable-on-demand-resources YES \
29 | --minimum-deployment-target 9.3 \
30 | --platform iphoneos \
31 | --target-device iphone \
32 | --compile $(PWD) \
33 | Images.xcassets
34 | mv $(ASSETS) $(DATA)/assets_iphone.car
35 |
36 | ipad:
37 | # --filter-for-device-model iPhone8,2
38 | # --filter-for-device-os-version 9.3
39 | # --platform iphonesimulator
40 | $(ACTOOL) \
41 | --compress-pngs \
42 | --enable-on-demand-resources YES \
43 | --minimum-deployment-target 9.3 \
44 | --platform iphoneos \
45 | --target-device ipad \
46 | --compile $(PWD) \
47 | Images.xcassets
48 | mv $(ASSETS) $(DATA)/assets_ipad.car
49 |
50 | ios:
51 | # --filter-for-device-model iPhone8,2
52 | # --filter-for-device-os-version 9.3
53 | # --platform iphonesimulator
54 | $(ACTOOL) \
55 | --compress-pngs \
56 | --enable-on-demand-resources YES \
57 | --minimum-deployment-target 9.3 \
58 | --platform iphoneos \
59 | --target-device ipad \
60 | --target-device iphone \
61 | --compile $(PWD) \
62 | Images.xcassets
63 | cp $(ASSETS) $(DATA)/assets.car
64 | mv $(ASSETS) $(DATA)/assets_ios.car
65 |
66 | mac:
67 | $(ACTOOL) \
68 | --enable-on-demand-resources NO \
69 | --minimum-deployment-target 10.11 \
70 | --platform macosx \
71 | --target-device mac \
72 | --compile $(PWD) \
73 | Images.xcassets
74 | mv $(ASSETS) $(DATA)/assets_mac.car
75 |
76 | tv:
77 | # --platform appletvsimulator
78 | # --filter-for-device-model AppleTV5,3
79 | # --filter-for-device-os-version 9.2
80 | $(ACTOOL) \
81 | --compress-pngs \
82 | --enable-on-demand-resources YES \
83 | --minimum-deployment-target 9.2 \
84 | --platform appletvos \
85 | --target-device tv \
86 | --compile $(PWD) \
87 | Images.xcassets
88 | mv $(ASSETS) $(DATA)/assets_tv.car
89 |
90 | watch:
91 | # --platform watchsimulator
92 | # --filter-for-device-model iPhone8,2
93 | # --filter-for-device-os-version 9.3
94 | $(ACTOOL) \
95 | --compress-pngs \
96 | --enable-on-demand-resources NO \
97 | --minimum-deployment-target 2.2 \
98 | --platform watchos \
99 | --target-device watch \
100 | --compile $(PWD) \
101 | Images.xcassets
102 | mv $(ASSETS) $(DATA)/assets_watch.car
103 |
104 | # Build app
105 | PROJECT := acextract.xcodeproj
106 | SCHEME := acextract
107 | ARCHIVE := acextract.xcarchive
108 | ACEXTRACT_BIN_PATH := $(ARCHIVE)/Products/usr/local/bin/acextract
109 | build:
110 | -rm -r $(ARCHIVE)
111 | xcodebuild \
112 | -project $(PROJECT) \
113 | -scheme $(SCHEME) \
114 | -archivePath $(PWD)/$(ARCHIVE) \
115 | archive | xcpretty -c
116 | -rm $(PWD)/acextract.bin
117 | cp $(ACEXTRACT_BIN_PATH) $(PWD)/acextract.bin
118 |
119 | # Run unit tests
120 | test:
121 | xcodebuild \
122 | -project $(PROJECT) \
123 | -scheme $(SCHEME) \
124 | clean test | xcpretty -c
125 |
126 | # Build and prepare ZIP file for release
127 | ZIP := acextract.zip
128 | zip: build
129 | -rm $(ZIP)
130 | zip -j $(ZIP) $(ACEXTRACT_BIN_PATH)
131 |
132 | # Release shourtcut
133 | release: test zip
134 |
135 | # Clean files
136 | clean:
137 | -rm -r $(ARCHIVE)
138 | -rm $(PWD)/acextract.bin
139 | -rm $(ZIP)
140 | -rm -r output
141 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | acextract
2 | =========
3 |
4 | A tool to list and extract content from Assets.car files.
5 |
6 | Support Mac, iOS and AppleWatch assets. Can extract PNG and PDF files.
7 |
8 | ## Features
9 |
10 | | Feature | Status |
11 | | -------------------- | :----: |
12 | | iOS / iPhone / iPad | ✔ |
13 | | macOS | ✔ |
14 | | tvOS | ✔ |
15 | | watchOS | ✔ |
16 | | 4 inch iPhone | ✔ |
17 | | Size classes | ✔ |
18 | | Slicing | ✔ |
19 | | Memory class | ✔ |
20 | | Graphics class | ✔ |
21 | | Data | ✘ |
22 | | PDF | ✘ |
23 | | SpriteKit Atlas | ✘ |
24 | | AppleTV image stack | ✘ |
25 | | iMessage stickers | ✘ |
26 |
27 | ## Usage:
28 | input is required
29 | Usage: ./acextract [options]
30 | -i, --input:
31 | Path to input CAR file.
32 | -o, --output:
33 | Path to output directory.
34 | -l, --list:
35 | Print content of the CAR file without extracting.
36 | -h, --help:
37 | Show help message.
38 | -v, --verbose:
39 | Print more detail. You can use -vv or -vvv for more info.
40 |
41 | ## Installation:
42 |
43 | ### From archive
44 |
45 | - download the newest [version](https://github.com/bartoszj/acextract/releases) from GitHub
46 | - extract archive
47 | - copy `acextract` to `/usr/local/bin/` folder
48 |
49 | ### Manual compilation
50 |
51 | git clone https://github.com/bartoszj/acextract.git --recursive
52 |
53 | or
54 |
55 | git clone https://github.com/bartoszj/acextract.git
56 | cd acextract
57 | git submodule update --init --recursive
58 |
59 | ## Example usage:
60 |
61 | **Print content**
62 |
63 | acextract -i ~/Assets.car -l
64 |
65 | **Extract content**
66 |
67 | mkdir -p ~/AssetsOutput
68 | acextract -i ~/Assets.car -o ~/AssetsOutput
69 |
70 | ## Similar tools:
71 | - [iOS-Asset-Extractor](https://github.com/Marxon13/iOS-Asset-Extractor)
72 |
73 |
--------------------------------------------------------------------------------
/Templates.xcassets/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "version" : 1,
4 | "author" : "xcode"
5 | }
6 | }
--------------------------------------------------------------------------------
/Templates.xcassets/colors/blue.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "blue.png",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "filename" : "blue@2x.png",
11 | "scale" : "2x"
12 | },
13 | {
14 | "idiom" : "universal",
15 | "filename" : "blue@3x.png",
16 | "scale" : "3x"
17 | }
18 | ],
19 | "info" : {
20 | "version" : 1,
21 | "author" : "xcode"
22 | }
23 | }
--------------------------------------------------------------------------------
/Templates.xcassets/colors/blue.imageset/blue.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Templates.xcassets/colors/blue.imageset/blue.png
--------------------------------------------------------------------------------
/Templates.xcassets/colors/blue.imageset/blue@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Templates.xcassets/colors/blue.imageset/blue@2x.png
--------------------------------------------------------------------------------
/Templates.xcassets/colors/blue.imageset/blue@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Templates.xcassets/colors/blue.imageset/blue@3x.png
--------------------------------------------------------------------------------
/Templates.xcassets/colors/blue_jpeg.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x",
6 | "filename" : "blue.jpg"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "scale" : "2x",
11 | "filename" : "blue@2x.jpg"
12 | },
13 | {
14 | "idiom" : "universal",
15 | "scale" : "3x",
16 | "filename" : "blue@3x.jpg"
17 | }
18 | ],
19 | "info" : {
20 | "version" : 1,
21 | "author" : "xcode"
22 | }
23 | }
--------------------------------------------------------------------------------
/Templates.xcassets/colors/blue_jpeg.imageset/blue.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Templates.xcassets/colors/blue_jpeg.imageset/blue.jpg
--------------------------------------------------------------------------------
/Templates.xcassets/colors/blue_jpeg.imageset/blue@2x.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Templates.xcassets/colors/blue_jpeg.imageset/blue@2x.jpg
--------------------------------------------------------------------------------
/Templates.xcassets/colors/blue_jpeg.imageset/blue@3x.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Templates.xcassets/colors/blue_jpeg.imageset/blue@3x.jpg
--------------------------------------------------------------------------------
/Templates.xcassets/colors/cyan.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "cyan.png",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "filename" : "cyan@2x.png",
11 | "scale" : "2x"
12 | },
13 | {
14 | "idiom" : "universal",
15 | "filename" : "cyan@3x.png",
16 | "scale" : "3x"
17 | }
18 | ],
19 | "info" : {
20 | "version" : 1,
21 | "author" : "xcode"
22 | }
23 | }
--------------------------------------------------------------------------------
/Templates.xcassets/colors/cyan.imageset/cyan.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Templates.xcassets/colors/cyan.imageset/cyan.png
--------------------------------------------------------------------------------
/Templates.xcassets/colors/cyan.imageset/cyan@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Templates.xcassets/colors/cyan.imageset/cyan@2x.png
--------------------------------------------------------------------------------
/Templates.xcassets/colors/cyan.imageset/cyan@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Templates.xcassets/colors/cyan.imageset/cyan@3x.png
--------------------------------------------------------------------------------
/Templates.xcassets/colors/cyan_jpeg.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x",
6 | "filename" : "cyan.jpg"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "scale" : "2x",
11 | "filename" : "cyan@2x.jpg"
12 | },
13 | {
14 | "idiom" : "universal",
15 | "scale" : "3x",
16 | "filename" : "cyan@3x.jpg"
17 | }
18 | ],
19 | "info" : {
20 | "version" : 1,
21 | "author" : "xcode"
22 | }
23 | }
--------------------------------------------------------------------------------
/Templates.xcassets/colors/cyan_jpeg.imageset/cyan.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Templates.xcassets/colors/cyan_jpeg.imageset/cyan.jpg
--------------------------------------------------------------------------------
/Templates.xcassets/colors/cyan_jpeg.imageset/cyan@2x.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Templates.xcassets/colors/cyan_jpeg.imageset/cyan@2x.jpg
--------------------------------------------------------------------------------
/Templates.xcassets/colors/cyan_jpeg.imageset/cyan@3x.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Templates.xcassets/colors/cyan_jpeg.imageset/cyan@3x.jpg
--------------------------------------------------------------------------------
/Templates.xcassets/colors/green.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "green.png",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "filename" : "green@2x.png",
11 | "scale" : "2x"
12 | },
13 | {
14 | "idiom" : "universal",
15 | "filename" : "green@3x.png",
16 | "scale" : "3x"
17 | }
18 | ],
19 | "info" : {
20 | "version" : 1,
21 | "author" : "xcode"
22 | }
23 | }
--------------------------------------------------------------------------------
/Templates.xcassets/colors/green.imageset/green.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Templates.xcassets/colors/green.imageset/green.png
--------------------------------------------------------------------------------
/Templates.xcassets/colors/green.imageset/green@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Templates.xcassets/colors/green.imageset/green@2x.png
--------------------------------------------------------------------------------
/Templates.xcassets/colors/green.imageset/green@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Templates.xcassets/colors/green.imageset/green@3x.png
--------------------------------------------------------------------------------
/Templates.xcassets/colors/green_jpeg.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x",
6 | "filename" : "green.jpg"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "scale" : "2x",
11 | "filename" : "green@2x.jpg"
12 | },
13 | {
14 | "idiom" : "universal",
15 | "scale" : "3x",
16 | "filename" : "green@3x.jpg"
17 | }
18 | ],
19 | "info" : {
20 | "version" : 1,
21 | "author" : "xcode"
22 | }
23 | }
--------------------------------------------------------------------------------
/Templates.xcassets/colors/green_jpeg.imageset/green.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Templates.xcassets/colors/green_jpeg.imageset/green.jpg
--------------------------------------------------------------------------------
/Templates.xcassets/colors/green_jpeg.imageset/green@2x.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Templates.xcassets/colors/green_jpeg.imageset/green@2x.jpg
--------------------------------------------------------------------------------
/Templates.xcassets/colors/green_jpeg.imageset/green@3x.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Templates.xcassets/colors/green_jpeg.imageset/green@3x.jpg
--------------------------------------------------------------------------------
/Templates.xcassets/colors/red.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "image.png",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "filename" : "image@2x.png",
11 | "scale" : "2x"
12 | },
13 | {
14 | "idiom" : "universal",
15 | "filename" : "image@3x.png",
16 | "scale" : "3x"
17 | }
18 | ],
19 | "info" : {
20 | "version" : 1,
21 | "author" : "xcode"
22 | }
23 | }
--------------------------------------------------------------------------------
/Templates.xcassets/colors/red.imageset/image.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Templates.xcassets/colors/red.imageset/image.png
--------------------------------------------------------------------------------
/Templates.xcassets/colors/red.imageset/image@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Templates.xcassets/colors/red.imageset/image@2x.png
--------------------------------------------------------------------------------
/Templates.xcassets/colors/red.imageset/image@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Templates.xcassets/colors/red.imageset/image@3x.png
--------------------------------------------------------------------------------
/Templates.xcassets/colors/red_jpeg.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "scale" : "1x",
6 | "filename" : "image.jpg"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "scale" : "2x",
11 | "filename" : "image@2x.jpg"
12 | },
13 | {
14 | "idiom" : "universal",
15 | "scale" : "3x",
16 | "filename" : "image@3x.jpg"
17 | }
18 | ],
19 | "info" : {
20 | "version" : 1,
21 | "author" : "xcode"
22 | }
23 | }
--------------------------------------------------------------------------------
/Templates.xcassets/colors/red_jpeg.imageset/image.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Templates.xcassets/colors/red_jpeg.imageset/image.jpg
--------------------------------------------------------------------------------
/Templates.xcassets/colors/red_jpeg.imageset/image@2x.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Templates.xcassets/colors/red_jpeg.imageset/image@2x.jpg
--------------------------------------------------------------------------------
/Templates.xcassets/colors/red_jpeg.imageset/image@3x.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Templates.xcassets/colors/red_jpeg.imageset/image@3x.jpg
--------------------------------------------------------------------------------
/Templates.xcassets/old/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "version" : 1,
4 | "author" : "xcode"
5 | }
6 | }
--------------------------------------------------------------------------------
/Templates.xcassets/old/v_device.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "iphone",
5 | "filename" : "facebook.pdf"
6 | },
7 | {
8 | "idiom" : "iphone",
9 | "filename" : "facebook-1.pdf",
10 | "subtype" : "retina4"
11 | },
12 | {
13 | "idiom" : "ipad",
14 | "filename" : "facebook-1-1.pdf"
15 | },
16 | {
17 | "idiom" : "mac",
18 | "filename" : "facebook-1-1-1.pdf"
19 | }
20 | ],
21 | "info" : {
22 | "version" : 1,
23 | "author" : "xcode"
24 | }
25 | }
--------------------------------------------------------------------------------
/Templates.xcassets/old/v_device.imageset/facebook-1-1-1.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Templates.xcassets/old/v_device.imageset/facebook-1-1-1.pdf
--------------------------------------------------------------------------------
/Templates.xcassets/old/v_device.imageset/facebook-1-1.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Templates.xcassets/old/v_device.imageset/facebook-1-1.pdf
--------------------------------------------------------------------------------
/Templates.xcassets/old/v_device.imageset/facebook-1.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Templates.xcassets/old/v_device.imageset/facebook-1.pdf
--------------------------------------------------------------------------------
/Templates.xcassets/old/v_device.imageset/facebook.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Templates.xcassets/old/v_device.imageset/facebook.pdf
--------------------------------------------------------------------------------
/Templates.xcassets/old/v_device2.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "iphone",
5 | "filename" : "facebook.pdf"
6 | },
7 | {
8 | "idiom" : "iphone",
9 | "filename" : "facebook-1.pdf",
10 | "subtype" : "retina4"
11 | },
12 | {
13 | "idiom" : "iphone",
14 | "filename" : "green.png",
15 | "scale" : "1x"
16 | },
17 | {
18 | "idiom" : "iphone",
19 | "subtype" : "retina4",
20 | "scale" : "1x"
21 | },
22 | {
23 | "idiom" : "iphone",
24 | "filename" : "green@2x.png",
25 | "scale" : "2x"
26 | },
27 | {
28 | "idiom" : "iphone",
29 | "filename" : "green@2x-1.png",
30 | "subtype" : "retina4",
31 | "scale" : "2x"
32 | },
33 | {
34 | "idiom" : "iphone",
35 | "filename" : "green@3x.png",
36 | "scale" : "3x"
37 | },
38 | {
39 | "idiom" : "iphone",
40 | "subtype" : "retina4",
41 | "scale" : "3x"
42 | },
43 | {
44 | "idiom" : "ipad",
45 | "filename" : "facebook-1-1.pdf"
46 | },
47 | {
48 | "idiom" : "ipad",
49 | "filename" : "green-1.png",
50 | "scale" : "1x"
51 | },
52 | {
53 | "idiom" : "ipad",
54 | "filename" : "green@2x-2.png",
55 | "scale" : "2x"
56 | },
57 | {
58 | "idiom" : "watch"
59 | },
60 | {
61 | "idiom" : "watch",
62 | "screen-width" : "<=145"
63 | },
64 | {
65 | "idiom" : "watch",
66 | "screen-width" : ">161"
67 | },
68 | {
69 | "idiom" : "watch",
70 | "screen-width" : ">145"
71 | },
72 | {
73 | "idiom" : "watch",
74 | "screen-width" : ">183"
75 | },
76 | {
77 | "idiom" : "watch",
78 | "filename" : "cyan.png",
79 | "scale" : "2x"
80 | },
81 | {
82 | "idiom" : "watch",
83 | "filename" : "cyan@2x.png",
84 | "screen-width" : "<=145",
85 | "scale" : "2x"
86 | },
87 | {
88 | "idiom" : "watch",
89 | "scale" : "2x",
90 | "screen-width" : ">161"
91 | },
92 | {
93 | "idiom" : "watch",
94 | "filename" : "cyan@3x.png",
95 | "screen-width" : ">145",
96 | "scale" : "2x"
97 | },
98 | {
99 | "idiom" : "watch",
100 | "scale" : "2x",
101 | "screen-width" : ">183"
102 | },
103 | {
104 | "idiom" : "mac",
105 | "filename" : "facebook-1-1-1.pdf"
106 | },
107 | {
108 | "idiom" : "mac",
109 | "filename" : "green-2.png",
110 | "scale" : "1x"
111 | },
112 | {
113 | "idiom" : "mac",
114 | "filename" : "green@2x-3.png",
115 | "scale" : "2x"
116 | }
117 | ],
118 | "info" : {
119 | "version" : 1,
120 | "author" : "xcode"
121 | }
122 | }
--------------------------------------------------------------------------------
/Templates.xcassets/old/v_device2.imageset/cyan.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Templates.xcassets/old/v_device2.imageset/cyan.png
--------------------------------------------------------------------------------
/Templates.xcassets/old/v_device2.imageset/cyan@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Templates.xcassets/old/v_device2.imageset/cyan@2x.png
--------------------------------------------------------------------------------
/Templates.xcassets/old/v_device2.imageset/cyan@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Templates.xcassets/old/v_device2.imageset/cyan@3x.png
--------------------------------------------------------------------------------
/Templates.xcassets/old/v_device2.imageset/facebook-1-1-1.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Templates.xcassets/old/v_device2.imageset/facebook-1-1-1.pdf
--------------------------------------------------------------------------------
/Templates.xcassets/old/v_device2.imageset/facebook-1-1.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Templates.xcassets/old/v_device2.imageset/facebook-1-1.pdf
--------------------------------------------------------------------------------
/Templates.xcassets/old/v_device2.imageset/facebook-1.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Templates.xcassets/old/v_device2.imageset/facebook-1.pdf
--------------------------------------------------------------------------------
/Templates.xcassets/old/v_device2.imageset/facebook.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Templates.xcassets/old/v_device2.imageset/facebook.pdf
--------------------------------------------------------------------------------
/Templates.xcassets/old/v_device2.imageset/green-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Templates.xcassets/old/v_device2.imageset/green-1.png
--------------------------------------------------------------------------------
/Templates.xcassets/old/v_device2.imageset/green-2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Templates.xcassets/old/v_device2.imageset/green-2.png
--------------------------------------------------------------------------------
/Templates.xcassets/old/v_device2.imageset/green.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Templates.xcassets/old/v_device2.imageset/green.png
--------------------------------------------------------------------------------
/Templates.xcassets/old/v_device2.imageset/green@2x-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Templates.xcassets/old/v_device2.imageset/green@2x-1.png
--------------------------------------------------------------------------------
/Templates.xcassets/old/v_device2.imageset/green@2x-2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Templates.xcassets/old/v_device2.imageset/green@2x-2.png
--------------------------------------------------------------------------------
/Templates.xcassets/old/v_device2.imageset/green@2x-3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Templates.xcassets/old/v_device2.imageset/green@2x-3.png
--------------------------------------------------------------------------------
/Templates.xcassets/old/v_device2.imageset/green@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Templates.xcassets/old/v_device2.imageset/green@2x.png
--------------------------------------------------------------------------------
/Templates.xcassets/old/v_device2.imageset/green@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Templates.xcassets/old/v_device2.imageset/green@3x.png
--------------------------------------------------------------------------------
/Templates.xcassets/old/v_universal.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "facebook.pdf"
6 | }
7 | ],
8 | "info" : {
9 | "version" : 1,
10 | "author" : "xcode"
11 | }
12 | }
--------------------------------------------------------------------------------
/Templates.xcassets/old/v_universal.imageset/facebook.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Templates.xcassets/old/v_universal.imageset/facebook.pdf
--------------------------------------------------------------------------------
/Templates.xcassets/vectors/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "version" : 1,
4 | "author" : "xcode"
5 | }
6 | }
--------------------------------------------------------------------------------
/Templates.xcassets/vectors/v_universal.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "facebook.pdf"
6 | }
7 | ],
8 | "info" : {
9 | "version" : 1,
10 | "author" : "xcode"
11 | }
12 | }
--------------------------------------------------------------------------------
/Templates.xcassets/vectors/v_universal.imageset/facebook.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/Templates.xcassets/vectors/v_universal.imageset/facebook.pdf
--------------------------------------------------------------------------------
/TestApps/MacTestApp/AppDelegate.swift:
--------------------------------------------------------------------------------
1 | //
2 | // AppDelegate.swift
3 | // MacTestApp
4 | //
5 | // Created by Bartosz Janda on 22.12.2014.
6 | // Copyright (c) 2014 Bartosz Janda. All rights reserved.
7 | //
8 |
9 | import Cocoa
10 |
11 | @NSApplicationMain
12 | class AppDelegate: NSObject, NSApplicationDelegate {
13 |
14 | func applicationDidFinishLaunching(aNotification: NSNotification) {
15 | // Insert code here to initialize your application
16 | }
17 |
18 | func applicationWillTerminate(aNotification: NSNotification) {
19 | // Insert code here to tear down your application
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/TestApps/MacTestApp/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | en
7 | CFBundleExecutable
8 | $(EXECUTABLE_NAME)
9 | CFBundleIconFile
10 |
11 | CFBundleIdentifier
12 | $(PRODUCT_BUNDLE_IDENTIFIER)
13 | CFBundleInfoDictionaryVersion
14 | 6.0
15 | CFBundleName
16 | $(PRODUCT_NAME)
17 | CFBundlePackageType
18 | APPL
19 | CFBundleShortVersionString
20 | 1.0
21 | CFBundleSignature
22 | ????
23 | CFBundleVersion
24 | 1
25 | LSMinimumSystemVersion
26 | $(MACOSX_DEPLOYMENT_TARGET)
27 | NSHumanReadableCopyright
28 | Copyright © 2014 Bartosz Janda. All rights reserved.
29 | NSMainStoryboardFile
30 | Main
31 | NSPrincipalClass
32 | NSApplication
33 |
34 |
35 |
--------------------------------------------------------------------------------
/TestApps/MacTestApp/ViewController.swift:
--------------------------------------------------------------------------------
1 | //
2 | // ViewController.swift
3 | // MacTestApp
4 | //
5 | // Created by Bartosz Janda on 22.12.2014.
6 | // Copyright (c) 2014 Bartosz Janda. All rights reserved.
7 | //
8 |
9 | import Cocoa
10 |
11 | class ViewController: NSViewController {
12 |
13 | override func viewDidLoad() {
14 | super.viewDidLoad()
15 |
16 | // Do any additional setup after loading the view.
17 | }
18 |
19 | override var representedObject: Any? {
20 | didSet {
21 | // Update the view, if already loaded.
22 | }
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/TestApps/iOSTestApp/AppDelegate.swift:
--------------------------------------------------------------------------------
1 | //
2 | // AppDelegate.swift
3 | // iOSTestApp
4 | //
5 | // Created by Bartosz Janda on 22.12.2014.
6 | // Copyright (c) 2014 Bartosz Janda. All rights reserved.
7 | //
8 |
9 | import UIKit
10 |
11 | @UIApplicationMain
12 | class AppDelegate: UIResponder, UIApplicationDelegate {
13 |
14 | var window: UIWindow?
15 |
16 | private func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
17 | // Override point for customization after application launch.
18 | return true
19 | }
20 |
21 | func applicationWillResignActive(_ application: UIApplication) {
22 | // Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state.
23 | // Use this method to pause ongoing tasks, disable timers, and throttle down OpenGL ES frame rates. Games should use this method to pause the game.
24 | }
25 |
26 | func applicationDidEnterBackground(_ application: UIApplication) {
27 | // Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later.
28 | // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits.
29 | }
30 |
31 | func applicationWillEnterForeground(_ application: UIApplication) {
32 | // Called as part of the transition from the background to the inactive state; here you can undo many of the changes made on entering the background.
33 | }
34 |
35 | func applicationDidBecomeActive(_ application: UIApplication) {
36 | // Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface.
37 | }
38 |
39 | func applicationWillTerminate(_ application: UIApplication) {
40 | // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:.
41 | }
42 |
43 | }
44 |
--------------------------------------------------------------------------------
/TestApps/iOSTestApp/Base.lproj/LaunchScreen.xib:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
20 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
--------------------------------------------------------------------------------
/TestApps/iOSTestApp/Base.lproj/Main.storyboard:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/TestApps/iOSTestApp/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | en
7 | CFBundleExecutable
8 | $(EXECUTABLE_NAME)
9 | CFBundleIdentifier
10 | $(PRODUCT_BUNDLE_IDENTIFIER)
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | $(PRODUCT_NAME)
15 | CFBundlePackageType
16 | APPL
17 | CFBundleShortVersionString
18 | 1.0
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | 1
23 | LSRequiresIPhoneOS
24 |
25 | UILaunchStoryboardName
26 | LaunchScreen
27 | UIMainStoryboardFile
28 | Main
29 | UIRequiredDeviceCapabilities
30 |
31 | armv7
32 |
33 | UISupportedInterfaceOrientations
34 |
35 | UIInterfaceOrientationPortrait
36 | UIInterfaceOrientationLandscapeLeft
37 | UIInterfaceOrientationLandscapeRight
38 |
39 | UISupportedInterfaceOrientations~ipad
40 |
41 | UIInterfaceOrientationPortrait
42 | UIInterfaceOrientationPortraitUpsideDown
43 | UIInterfaceOrientationLandscapeLeft
44 | UIInterfaceOrientationLandscapeRight
45 |
46 |
47 |
48 |
--------------------------------------------------------------------------------
/TestApps/iOSTestApp/ViewController.swift:
--------------------------------------------------------------------------------
1 | //
2 | // ViewController.swift
3 | // iOSTestApp
4 | //
5 | // Created by Bartosz Janda on 22.12.2014.
6 | // Copyright (c) 2014 Bartosz Janda. All rights reserved.
7 | //
8 |
9 | import UIKit
10 |
11 | class ViewController: UIViewController {
12 |
13 | override func viewDidLoad() {
14 | super.viewDidLoad()
15 | // Do any additional setup after loading the view, typically from a nib.
16 | }
17 |
18 | override func didReceiveMemoryWarning() {
19 | super.didReceiveMemoryWarning()
20 | // Dispose of any resources that can be recreated.
21 | }
22 |
23 | }
24 |
--------------------------------------------------------------------------------
/TestApps/tvTestApp/AppDelegate.swift:
--------------------------------------------------------------------------------
1 | //
2 | // AppDelegate.swift
3 | // tvTestApp
4 | //
5 | // Created by Bartosz Janda on 12.06.2016.
6 | // Copyright © 2016 Bartosz Janda. All rights reserved.
7 | //
8 |
9 | import UIKit
10 |
11 | @UIApplicationMain
12 | class AppDelegate: UIResponder, UIApplicationDelegate {
13 |
14 | var window: UIWindow?
15 |
16 | private func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
17 | // Override point for customization after application launch.
18 | return true
19 | }
20 |
21 | func applicationWillResignActive(_ application: UIApplication) {
22 | // Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state.
23 | // Use this method to pause ongoing tasks, disable timers, and throttle down OpenGL ES frame rates. Games should use this method to pause the game.
24 | }
25 |
26 | func applicationDidEnterBackground(_ application: UIApplication) {
27 | // Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later.
28 | // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits.
29 | }
30 |
31 | func applicationWillEnterForeground(_ application: UIApplication) {
32 | // Called as part of the transition from the background to the inactive state; here you can undo many of the changes made on entering the background.
33 | }
34 |
35 | func applicationDidBecomeActive(_ application: UIApplication) {
36 | // Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface.
37 | }
38 |
39 | func applicationWillTerminate(_ application: UIApplication) {
40 | // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:.
41 | }
42 | }
43 |
--------------------------------------------------------------------------------
/TestApps/tvTestApp/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Back.imagestacklayer/Content.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "tv",
5 | "scale" : "1x"
6 | }
7 | ],
8 | "info" : {
9 | "version" : 1,
10 | "author" : "xcode"
11 | }
12 | }
--------------------------------------------------------------------------------
/TestApps/tvTestApp/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Back.imagestacklayer/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "version" : 1,
4 | "author" : "xcode"
5 | }
6 | }
--------------------------------------------------------------------------------
/TestApps/tvTestApp/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "layers" : [
3 | {
4 | "filename" : "Front.imagestacklayer"
5 | },
6 | {
7 | "filename" : "Middle.imagestacklayer"
8 | },
9 | {
10 | "filename" : "Back.imagestacklayer"
11 | }
12 | ],
13 | "info" : {
14 | "version" : 1,
15 | "author" : "xcode"
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/TestApps/tvTestApp/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Front.imagestacklayer/Content.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "tv",
5 | "scale" : "1x"
6 | }
7 | ],
8 | "info" : {
9 | "version" : 1,
10 | "author" : "xcode"
11 | }
12 | }
--------------------------------------------------------------------------------
/TestApps/tvTestApp/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Front.imagestacklayer/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "version" : 1,
4 | "author" : "xcode"
5 | }
6 | }
--------------------------------------------------------------------------------
/TestApps/tvTestApp/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Middle.imagestacklayer/Content.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "tv",
5 | "scale" : "1x"
6 | }
7 | ],
8 | "info" : {
9 | "version" : 1,
10 | "author" : "xcode"
11 | }
12 | }
--------------------------------------------------------------------------------
/TestApps/tvTestApp/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Middle.imagestacklayer/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "version" : 1,
4 | "author" : "xcode"
5 | }
6 | }
--------------------------------------------------------------------------------
/TestApps/tvTestApp/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Back.imagestacklayer/Content.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "tv",
5 | "scale" : "1x"
6 | }
7 | ],
8 | "info" : {
9 | "version" : 1,
10 | "author" : "xcode"
11 | }
12 | }
--------------------------------------------------------------------------------
/TestApps/tvTestApp/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Back.imagestacklayer/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "version" : 1,
4 | "author" : "xcode"
5 | }
6 | }
--------------------------------------------------------------------------------
/TestApps/tvTestApp/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "layers" : [
3 | {
4 | "filename" : "Front.imagestacklayer"
5 | },
6 | {
7 | "filename" : "Middle.imagestacklayer"
8 | },
9 | {
10 | "filename" : "Back.imagestacklayer"
11 | }
12 | ],
13 | "info" : {
14 | "version" : 1,
15 | "author" : "xcode"
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/TestApps/tvTestApp/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Front.imagestacklayer/Content.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "tv",
5 | "scale" : "1x"
6 | }
7 | ],
8 | "info" : {
9 | "version" : 1,
10 | "author" : "xcode"
11 | }
12 | }
--------------------------------------------------------------------------------
/TestApps/tvTestApp/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Front.imagestacklayer/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "version" : 1,
4 | "author" : "xcode"
5 | }
6 | }
--------------------------------------------------------------------------------
/TestApps/tvTestApp/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Middle.imagestacklayer/Content.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "tv",
5 | "scale" : "1x"
6 | }
7 | ],
8 | "info" : {
9 | "version" : 1,
10 | "author" : "xcode"
11 | }
12 | }
--------------------------------------------------------------------------------
/TestApps/tvTestApp/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Middle.imagestacklayer/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "version" : 1,
4 | "author" : "xcode"
5 | }
6 | }
--------------------------------------------------------------------------------
/TestApps/tvTestApp/Assets.xcassets/App Icon & Top Shelf Image.brandassets/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "assets" : [
3 | {
4 | "size" : "1280x768",
5 | "idiom" : "tv",
6 | "filename" : "App Icon - Large.imagestack",
7 | "role" : "primary-app-icon"
8 | },
9 | {
10 | "size" : "400x240",
11 | "idiom" : "tv",
12 | "filename" : "App Icon - Small.imagestack",
13 | "role" : "primary-app-icon"
14 | },
15 | {
16 | "size" : "1920x720",
17 | "idiom" : "tv",
18 | "filename" : "Top Shelf Image.imageset",
19 | "role" : "top-shelf-image"
20 | }
21 | ],
22 | "info" : {
23 | "version" : 1,
24 | "author" : "xcode"
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/TestApps/tvTestApp/Assets.xcassets/App Icon & Top Shelf Image.brandassets/Top Shelf Image.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "tv",
5 | "scale" : "1x"
6 | }
7 | ],
8 | "info" : {
9 | "version" : 1,
10 | "author" : "xcode"
11 | }
12 | }
--------------------------------------------------------------------------------
/TestApps/tvTestApp/Assets.xcassets/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "version" : 1,
4 | "author" : "xcode"
5 | }
6 | }
--------------------------------------------------------------------------------
/TestApps/tvTestApp/Assets.xcassets/LaunchImage.launchimage/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "orientation" : "landscape",
5 | "idiom" : "tv",
6 | "extent" : "full-screen",
7 | "minimum-system-version" : "9.0",
8 | "scale" : "1x"
9 | }
10 | ],
11 | "info" : {
12 | "version" : 1,
13 | "author" : "xcode"
14 | }
15 | }
--------------------------------------------------------------------------------
/TestApps/tvTestApp/Base.lproj/Main.storyboard:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/TestApps/tvTestApp/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | en
7 | CFBundleExecutable
8 | $(EXECUTABLE_NAME)
9 | CFBundleIdentifier
10 | $(PRODUCT_BUNDLE_IDENTIFIER)
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | $(PRODUCT_NAME)
15 | CFBundlePackageType
16 | APPL
17 | CFBundleShortVersionString
18 | 1.0
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | 1
23 | LSRequiresIPhoneOS
24 |
25 | UIMainStoryboardFile
26 | Main
27 | UIRequiredDeviceCapabilities
28 |
29 | arm64
30 |
31 |
32 |
33 |
--------------------------------------------------------------------------------
/TestApps/tvTestApp/ViewController.swift:
--------------------------------------------------------------------------------
1 | //
2 | // ViewController.swift
3 | // tvTestApp
4 | //
5 | // Created by Bartosz Janda on 12.06.2016.
6 | // Copyright © 2016 Bartosz Janda. All rights reserved.
7 | //
8 |
9 | import UIKit
10 |
11 | class ViewController: UIViewController {
12 |
13 | override func viewDidLoad() {
14 | super.viewDidLoad()
15 | // Do any additional setup after loading the view, typically from a nib.
16 | }
17 |
18 | override func didReceiveMemoryWarning() {
19 | super.didReceiveMemoryWarning()
20 | // Dispose of any resources that can be recreated.
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/TestApps/watchTestApp Extension/Assets.xcassets/README__ignoredByTemplate__:
--------------------------------------------------------------------------------
1 | Did you know that git does not support storing empty directories?
2 |
--------------------------------------------------------------------------------
/TestApps/watchTestApp Extension/ExtensionDelegate.swift:
--------------------------------------------------------------------------------
1 | //
2 | // ExtensionDelegate.swift
3 | // watchTestApp Extension
4 | //
5 | // Created by Bartosz Janda on 12.06.2016.
6 | // Copyright © 2016 Bartosz Janda. All rights reserved.
7 | //
8 |
9 | import WatchKit
10 |
11 | class ExtensionDelegate: NSObject, WKExtensionDelegate {
12 |
13 | func applicationDidFinishLaunching() {
14 | // Perform any final initialization of your application.
15 | }
16 |
17 | func applicationDidBecomeActive() {
18 | // Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface.
19 | }
20 |
21 | func applicationWillResignActive() {
22 | // Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state.
23 | // Use this method to pause ongoing tasks, disable timers, etc.
24 | }
25 |
26 | }
27 |
--------------------------------------------------------------------------------
/TestApps/watchTestApp Extension/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | en
7 | CFBundleDisplayName
8 | watchTestApp Extension
9 | CFBundleExecutable
10 | $(EXECUTABLE_NAME)
11 | CFBundleIdentifier
12 | $(PRODUCT_BUNDLE_IDENTIFIER)
13 | CFBundleInfoDictionaryVersion
14 | 6.0
15 | CFBundleName
16 | $(PRODUCT_NAME)
17 | CFBundlePackageType
18 | XPC!
19 | CFBundleShortVersionString
20 | 1.0
21 | CFBundleSignature
22 | ????
23 | CFBundleVersion
24 | 1
25 | NSExtension
26 |
27 | NSExtensionAttributes
28 |
29 | WKAppBundleIdentifier
30 | com.bjanda.iOSTestApp.watchkitapp
31 |
32 | NSExtensionPointIdentifier
33 | com.apple.watchkit
34 |
35 | WKExtensionDelegateClassName
36 | $(PRODUCT_MODULE_NAME).ExtensionDelegate
37 |
38 |
39 |
--------------------------------------------------------------------------------
/TestApps/watchTestApp Extension/InterfaceController.swift:
--------------------------------------------------------------------------------
1 | //
2 | // InterfaceController.swift
3 | // watchTestApp Extension
4 | //
5 | // Created by Bartosz Janda on 12.06.2016.
6 | // Copyright © 2016 Bartosz Janda. All rights reserved.
7 | //
8 |
9 | import WatchKit
10 | import Foundation
11 |
12 | class InterfaceController: WKInterfaceController {
13 |
14 | override func awake(withContext context: Any?) {
15 | super.awake(withContext: context)
16 | // Configure interface objects here.
17 | }
18 |
19 | override func willActivate() {
20 | // This method is called when watch view controller is about to be visible to user
21 | super.willActivate()
22 | }
23 |
24 | override func didDeactivate() {
25 | // This method is called when watch view controller is no longer visible
26 | super.didDeactivate()
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/TestApps/watchTestApp/Assets.xcassets/AppIcon.appiconset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "size" : "24x24",
5 | "idiom" : "watch",
6 | "scale" : "2x",
7 | "role" : "notificationCenter",
8 | "subtype" : "38mm"
9 | },
10 | {
11 | "size" : "27.5x27.5",
12 | "idiom" : "watch",
13 | "scale" : "2x",
14 | "role" : "notificationCenter",
15 | "subtype" : "42mm"
16 | },
17 | {
18 | "size" : "29x29",
19 | "idiom" : "watch",
20 | "role" : "companionSettings",
21 | "scale" : "2x"
22 | },
23 | {
24 | "size" : "29x29",
25 | "idiom" : "watch",
26 | "role" : "companionSettings",
27 | "scale" : "3x"
28 | },
29 | {
30 | "size" : "40x40",
31 | "idiom" : "watch",
32 | "scale" : "2x",
33 | "role" : "appLauncher",
34 | "subtype" : "38mm"
35 | },
36 | {
37 | "size" : "86x86",
38 | "idiom" : "watch",
39 | "scale" : "2x",
40 | "role" : "quickLook",
41 | "subtype" : "38mm"
42 | },
43 | {
44 | "size" : "98x98",
45 | "idiom" : "watch",
46 | "scale" : "2x",
47 | "role" : "quickLook",
48 | "subtype" : "42mm"
49 | }
50 | ],
51 | "info" : {
52 | "version" : 1,
53 | "author" : "xcode"
54 | }
55 | }
56 |
--------------------------------------------------------------------------------
/TestApps/watchTestApp/Base.lproj/Interface.storyboard:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/TestApps/watchTestApp/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | en
7 | CFBundleDisplayName
8 | iOSTestApp
9 | CFBundleExecutable
10 | $(EXECUTABLE_NAME)
11 | CFBundleIdentifier
12 | $(PRODUCT_BUNDLE_IDENTIFIER)
13 | CFBundleInfoDictionaryVersion
14 | 6.0
15 | CFBundleName
16 | $(PRODUCT_NAME)
17 | CFBundlePackageType
18 | APPL
19 | CFBundleShortVersionString
20 | 1.0
21 | CFBundleSignature
22 | ????
23 | CFBundleVersion
24 | 1
25 | UISupportedInterfaceOrientations
26 |
27 | UIInterfaceOrientationPortrait
28 | UIInterfaceOrientationPortraitUpsideDown
29 |
30 | WKCompanionAppBundleIdentifier
31 | com.bjanda.iOSTestApp
32 | WKWatchKitApp
33 |
34 |
35 |
36 |
--------------------------------------------------------------------------------
/acextract.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/acextract.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IDEDidComputeMac32BitWarning
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/acextract.xcodeproj/xcshareddata/xcschemes/iOSTestApp.xcscheme:
--------------------------------------------------------------------------------
1 |
2 |
5 |
8 |
9 |
15 |
21 |
22 |
23 |
24 |
25 |
30 |
31 |
32 |
33 |
39 |
40 |
41 |
42 |
43 |
44 |
54 |
56 |
62 |
63 |
64 |
65 |
66 |
67 |
73 |
75 |
81 |
82 |
83 |
84 |
86 |
87 |
90 |
91 |
92 |
--------------------------------------------------------------------------------
/acextract.xcodeproj/xcshareddata/xcschemes/macTestApp.xcscheme:
--------------------------------------------------------------------------------
1 |
2 |
5 |
8 |
9 |
15 |
21 |
22 |
23 |
24 |
25 |
30 |
31 |
32 |
33 |
39 |
40 |
41 |
42 |
43 |
44 |
54 |
56 |
62 |
63 |
64 |
65 |
66 |
67 |
73 |
75 |
81 |
82 |
83 |
84 |
86 |
87 |
90 |
91 |
92 |
--------------------------------------------------------------------------------
/acextract.xcodeproj/xcshareddata/xcschemes/tvTestApp.xcscheme:
--------------------------------------------------------------------------------
1 |
2 |
5 |
8 |
9 |
15 |
21 |
22 |
23 |
24 |
25 |
30 |
31 |
32 |
33 |
39 |
40 |
41 |
42 |
43 |
44 |
54 |
56 |
62 |
63 |
64 |
65 |
66 |
67 |
73 |
75 |
81 |
82 |
83 |
84 |
86 |
87 |
90 |
91 |
92 |
--------------------------------------------------------------------------------
/acextract.xcodeproj/xcshareddata/xcschemes/watchTestApp.xcscheme:
--------------------------------------------------------------------------------
1 |
2 |
5 |
8 |
9 |
15 |
21 |
22 |
23 |
29 |
35 |
36 |
37 |
43 |
49 |
50 |
51 |
52 |
53 |
58 |
59 |
60 |
61 |
67 |
68 |
69 |
70 |
71 |
72 |
82 |
86 |
92 |
93 |
94 |
95 |
101 |
102 |
103 |
104 |
105 |
106 |
112 |
116 |
122 |
123 |
124 |
125 |
131 |
132 |
133 |
134 |
136 |
137 |
140 |
141 |
142 |
--------------------------------------------------------------------------------
/acextract.xcodeproj/xcshareddata/xcschemes/watchTestApp_notification.xcscheme:
--------------------------------------------------------------------------------
1 |
2 |
5 |
8 |
9 |
15 |
21 |
22 |
23 |
29 |
35 |
36 |
37 |
43 |
49 |
50 |
51 |
52 |
53 |
58 |
59 |
60 |
61 |
67 |
68 |
69 |
70 |
71 |
72 |
83 |
87 |
93 |
94 |
95 |
96 |
102 |
103 |
104 |
105 |
106 |
107 |
114 |
118 |
124 |
125 |
126 |
127 |
133 |
134 |
135 |
136 |
138 |
139 |
142 |
143 |
144 |
--------------------------------------------------------------------------------
/acextract/AssetsCatalog.swift:
--------------------------------------------------------------------------------
1 | //
2 | // CatalogReader.swift
3 | //
4 | // The MIT License (MIT)
5 | //
6 | // Copyright (c) 2014 Bartosz Janda
7 | //
8 | // Permission is hereby granted, free of charge, to any person obtaining a copy
9 | // of this software and associated documentation files (the "Software"), to deal
10 | // in the Software without restriction, including without limitation the rights
11 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
12 | // copies of the Software, and to permit persons to whom the Software is
13 | // furnished to do so, subject to the following conditions:
14 | //
15 | // The above copyright notice and this permission notice shall be included in all
16 | // copies or substantial portions of the Software.
17 | //
18 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
19 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
20 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
21 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
22 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
23 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
24 | // SOFTWARE.
25 |
26 | import Foundation
27 |
28 | enum AssetsCatalogError: Error {
29 | case fileDoesntExists
30 | case cannotOpenAssetsCatalog
31 | }
32 |
33 | struct AssetsCatalog {
34 | // MARK: Properties
35 | let filePath: String
36 | let catalog: CUICatalog
37 |
38 | /**
39 | Returns all image sets from assets catalog.
40 |
41 | - returns: List of image sets.
42 | */
43 | var imageSets: [ImageSet] {
44 | let array = self.catalog.allImageNames()
45 | var swiftArray = [ImageSet]()
46 | for string in array {
47 | swiftArray.append(imageSet(withName: String(string)))
48 | }
49 | return swiftArray
50 | }
51 |
52 | // MARK: Initialization
53 | init(path: String) throws {
54 | let filePath = (path as NSString).expandingTildeInPath
55 | guard FileManager.default.fileExists(atPath: filePath) else {
56 | throw AssetsCatalogError.fileDoesntExists
57 | }
58 |
59 | let url = NSURL(fileURLWithPath: filePath)
60 | self.filePath = filePath
61 |
62 | do {
63 | self.catalog = try CUICatalog(url: url as URL)
64 | } catch {
65 | throw AssetsCatalogError.cannotOpenAssetsCatalog
66 | }
67 | }
68 |
69 | // MARK: Methods
70 | /**
71 | Return image set with given name.
72 |
73 | - parameter name: Name of image set.
74 |
75 | - returns: Image set with given name.
76 | */
77 | func imageSet(withName name: String) -> ImageSet {
78 | let images = self.catalog.images(withName: name)
79 | var swiftArray = [CUINamedImage]()
80 | for item in images {
81 | if let image = item as? CUINamedImage {
82 | swiftArray.append(image)
83 | }
84 | }
85 | return ImageSet(name: name, namedImages: swiftArray)
86 | }
87 | }
88 |
89 | extension AssetsCatalog {
90 | func performOperation(operation: Operation) throws {
91 | try operation.read(catalog: self)
92 | }
93 |
94 | func performOperations(operations: [Operation]) throws {
95 | let compundOperation = CompoundOperation(operations: operations)
96 | try performOperation(operation: compundOperation)
97 | }
98 | }
99 |
--------------------------------------------------------------------------------
/acextract/ImageSet.swift:
--------------------------------------------------------------------------------
1 | //
2 | // ImageSet.swift
3 | //
4 | // The MIT License (MIT)
5 | //
6 | // Copyright (c) 2014 Bartosz Janda
7 | //
8 | // Permission is hereby granted, free of charge, to any person obtaining a copy
9 | // of this software and associated documentation files (the "Software"), to deal
10 | // in the Software without restriction, including without limitation the rights
11 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
12 | // copies of the Software, and to permit persons to whom the Software is
13 | // furnished to do so, subject to the following conditions:
14 | //
15 | // The above copyright notice and this permission notice shall be included in all
16 | // copies or substantial portions of the Software.
17 | //
18 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
19 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
20 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
21 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
22 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
23 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
24 | // SOFTWARE.
25 |
26 | import Foundation
27 |
28 | struct ImageSet {
29 | // MARK: Properties
30 | let name: String
31 | let namedImages: [CUINamedImage]
32 |
33 | // MARK: Initialization
34 | init(name: String, namedImages: [CUINamedImage]) {
35 | self.name = name
36 | self.namedImages = namedImages
37 | }
38 | }
39 |
40 | extension ImageSet: CustomStringConvertible {
41 | var description: String {
42 | return "\(name)"
43 | }
44 | }
45 |
--------------------------------------------------------------------------------
/acextract/acextract-Bridging-Header.h:
--------------------------------------------------------------------------------
1 | //
2 | // acextract-Bridging-Header.h
3 | //
4 | // The MIT License (MIT)
5 | //
6 | // Copyright (c) 2014 Bartosz Janda
7 | //
8 | // Permission is hereby granted, free of charge, to any person obtaining a copy
9 | // of this software and associated documentation files (the "Software"), to deal
10 | // in the Software without restriction, including without limitation the rights
11 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
12 | // copies of the Software, and to permit persons to whom the Software is
13 | // furnished to do so, subject to the following conditions:
14 | //
15 | // The above copyright notice and this permission notice shall be included in all
16 | // copies or substantial portions of the Software.
17 | //
18 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
19 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
20 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
21 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
22 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
23 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
24 | // SOFTWARE.
25 |
26 | #import "CoreUI.h"
27 |
--------------------------------------------------------------------------------
/acextract/main.swift:
--------------------------------------------------------------------------------
1 | //
2 | // main.swift
3 | //
4 | // The MIT License (MIT)
5 | //
6 | // Copyright (c) 2014 Bartosz Janda
7 | //
8 | // Permission is hereby granted, free of charge, to any person obtaining a copy
9 | // of this software and associated documentation files (the "Software"), to deal
10 | // in the Software without restriction, including without limitation the rights
11 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
12 | // copies of the Software, and to permit persons to whom the Software is
13 | // furnished to do so, subject to the following conditions:
14 | //
15 | // The above copyright notice and this permission notice shall be included in all
16 | // copies or substantial portions of the Software.
17 | //
18 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
19 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
20 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
21 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
22 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
23 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
24 | // SOFTWARE.
25 |
26 | import Foundation
27 |
28 | // Command line.
29 | let cli = CommandLineTool()
30 | let cliHelp = BoolOption(shortFlag: "h", longFlag: "help", helpMessage: "Show help message.")
31 | let cliList = BoolOption(shortFlag: "l", longFlag: "list", helpMessage: "Print content of the CAR file without extracting.")
32 | let cliVerbose = CounterOption(shortFlag: "v", longFlag: "verbose", helpMessage: "Print more detail. You can use -vv or -vvv for more info.")
33 | let cliInput = StringOption(shortFlag: "i", longFlag: "input", required: true, helpMessage: "Path to input CAR file.")
34 | let cliOutput = StringOption(shortFlag: "o", longFlag: "output", required: false, helpMessage: "Path to output directory.")
35 | cli.addOptions([cliInput, cliOutput, cliList, cliHelp, cliVerbose])
36 |
37 | // Parse.
38 | do {
39 | try cli.parse()
40 | } catch {
41 | print(error)
42 | cli.printUsage()
43 | if cliHelp.value {
44 | exit(EX_OK)
45 | } else {
46 | exit(EX_USAGE)
47 | }
48 | }
49 |
50 | // Print help screen.
51 | if cliHelp.value {
52 | cli.printUsage()
53 | exit(EX_OK)
54 | }
55 | // List or extract assets catalog.
56 | else if let input = cliInput.value {
57 | do {
58 | let assetsCatalog = try AssetsCatalog(path: input)
59 | // Print content of the file.
60 | if cliList.value {
61 | let verbose: PrintInformationOperation.Verbose
62 | switch cliVerbose.value {
63 | case 0: verbose = .name
64 | case 1: verbose = .verbose
65 | case 2: verbose = .veryVerbose
66 | default: verbose = .veryVeryVerbose
67 | }
68 | let pio = PrintInformationOperation(verbose: verbose)
69 | try assetsCatalog.performOperation(operation: pio)
70 | }
71 | // Extract to folder.
72 | if let output = cliOutput.value {
73 | let extract = ExtractOperation(path: output)
74 | try assetsCatalog.performOperation(operation: extract)
75 | }
76 | }
77 | // Cannot create catalog reader.
78 | catch {
79 | print("Error: \(error)")
80 | cli.printUsage()
81 | exit(EX_USAGE)
82 | }
83 | }
84 |
--------------------------------------------------------------------------------
/acextractTests/AlignmentTests.swift:
--------------------------------------------------------------------------------
1 | //
2 | // AlignmentTests.swift
3 | // acextract
4 | //
5 | // Created by Bartosz Janda on 26.06.2016.
6 | // Copyright © 2016 Bartosz Janda. All rights reserved.
7 | //
8 |
9 | import XCTest
10 |
11 | class AlignmentTests: XCTestCase {
12 | // Image Alignment
13 | func testNoAlignment() {
14 | let imageSet = assetsContainer.iOS.imageSet(withName: "a_no")
15 | let images = imageSet.namedImages
16 | XCTAssertEqual(images.count, 3)
17 | if let image = images.filter({ return $0.scale == 1.0 }).first {
18 | XCTAssertFalse(image.hasAlignmentInformation)
19 | XCTAssertEqual(image.alignmentEdgeInsets, NSEdgeInsets())
20 | XCTAssertEqual(image.acImageName, "a_no.png")
21 | XCTAssertNotNil(image._rendition().unslicedImage())
22 | } else {
23 | XCTFail("Cannot find image")
24 | }
25 |
26 | if let image = images.filter({ return $0.scale == 2.0 }).first {
27 | XCTAssertFalse(image.hasAlignmentInformation)
28 | XCTAssertEqual(image.alignmentEdgeInsets, NSEdgeInsets())
29 | XCTAssertEqual(image.acImageName, "a_no@2x.png")
30 | XCTAssertNotNil(image._rendition().unslicedImage())
31 | } else {
32 | XCTFail("Cannot find image")
33 | }
34 |
35 | if let image = images.filter({ return $0.scale == 3.0 }).first {
36 | XCTAssertFalse(image.hasAlignmentInformation)
37 | XCTAssertEqual(image.alignmentEdgeInsets, NSEdgeInsets())
38 | XCTAssertEqual(image.acImageName, "a_no@3x.png")
39 | XCTAssertNotNil(image._rendition().unslicedImage())
40 | } else {
41 | XCTFail("Cannot find image")
42 | }
43 | }
44 |
45 | func testAnyAlignment() {
46 | let imageSet = assetsContainer.iOS.imageSet(withName: "a_any")
47 | let images = imageSet.namedImages
48 | XCTAssertEqual(images.count, 3)
49 | if let image = images.filter({ return $0.scale == 1.0 }).first {
50 | XCTAssertTrue(image.hasAlignmentInformation)
51 | XCTAssertEqual(image.alignmentEdgeInsets, NSEdgeInsets(top: 5, left: 10, bottom: 15, right: 20))
52 | XCTAssertEqual(image.acImageName, "a_any.png")
53 | XCTAssertNotNil(image._rendition().unslicedImage())
54 | } else {
55 | XCTFail("Cannot find image")
56 | }
57 |
58 | if let image = images.filter({ return $0.scale == 2.0 }).first {
59 | XCTAssertTrue(image.hasAlignmentInformation)
60 | XCTAssertEqual(image.alignmentEdgeInsets, NSEdgeInsets(top: 3, left: 6, bottom: 9, right: 12))
61 | XCTAssertEqual(image.acImageName, "a_any@2x.png")
62 | XCTAssertNotNil(image._rendition().unslicedImage())
63 | } else {
64 | XCTFail("Cannot find image")
65 | }
66 |
67 | if let image = images.filter({ return $0.scale == 3.0 }).first {
68 | XCTAssertTrue(image.hasAlignmentInformation)
69 | XCTAssertEqual(image.alignmentEdgeInsets, NSEdgeInsets(top: 4, left: 8, bottom: 12, right: 16))
70 | XCTAssertEqual(image.acImageName, "a_any@3x.png")
71 | XCTAssertNotNil(image._rendition().unslicedImage())
72 | } else {
73 | XCTFail("Cannot find image")
74 | }
75 | }
76 | }
77 |
--------------------------------------------------------------------------------
/acextractTests/Assets.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Assets.swift
3 | // acextract
4 | //
5 | // Created by Bartosz Janda on 25.06.2016.
6 | // Copyright © 2016 Bartosz Janda. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | enum Asset: String {
12 | // MARK: Cases
13 | case iOS = "data/assets_ios"
14 | case iPhone = "data/assets_iphone"
15 | case iPad = "data/assets_ipad"
16 | case macOS = "data/assets_mac"
17 | case tvOS = "data/assets_tv"
18 | case watchOS = "data/assets_watch"
19 | case assets = "data/assets"
20 |
21 | // MARK: Properties
22 | var path: String {
23 | guard let path = Asset.path(catalog: self) else {
24 | fatalError("Missing car file")
25 | }
26 |
27 | return path
28 | }
29 |
30 | // MARK: Static
31 | static let bundleIdentifer = "com.bjanda.acextractTests"
32 | static let bundle = Bundle(identifier: bundleIdentifer)!
33 | static func path(name: String) -> String? {
34 | return bundle.path(forResource: name, ofType: "car")
35 | }
36 | static func path(catalog: Asset) -> String? {
37 | return path(name: catalog.rawValue)
38 | }
39 | }
40 |
41 | struct AssetsContainer {
42 | var iOS: AssetsCatalog!
43 | var iPad: AssetsCatalog!
44 | var iPhone: AssetsCatalog!
45 | var macOS: AssetsCatalog!
46 | var tvOS: AssetsCatalog!
47 | var watchOS: AssetsCatalog!
48 |
49 | init() {
50 | do {
51 | iOS = try AssetsCatalog(path: Asset.iOS.path)
52 | iPad = try AssetsCatalog(path: Asset.iPad.path)
53 | iPhone = try AssetsCatalog(path: Asset.iPhone.path)
54 | macOS = try AssetsCatalog(path: Asset.macOS.path)
55 | tvOS = try AssetsCatalog(path: Asset.tvOS.path)
56 | watchOS = try AssetsCatalog(path: Asset.watchOS.path)
57 | } catch {
58 | fatalError("Cannot create assets")
59 | }
60 | }
61 | }
62 |
63 | let assetsContainer = AssetsContainer()
64 |
--------------------------------------------------------------------------------
/acextractTests/AssetsCatalogTests.swift:
--------------------------------------------------------------------------------
1 | //
2 | // AcextractTests.swift
3 | // AcextractTests
4 | //
5 | // Created by Bartosz Janda on 12.06.2016.
6 | // Copyright © 2016 Bartosz Janda. All rights reserved.
7 | //
8 |
9 | import XCTest
10 |
11 | class FakeOperation: Operation {
12 | var executed = false
13 |
14 | func read(catalog: AssetsCatalog) throws {
15 | executed = true
16 | }
17 | }
18 |
19 | class AssetsCatalogTests: XCTestCase {
20 |
21 | // MARK: Tests
22 | /**
23 | Success
24 | */
25 | func testCreateAssetsCatalog01() {
26 | do {
27 | _ = try AssetsCatalog(path: Asset.assets.path)
28 | } catch {
29 | XCTFail("Cannot create AssetsCatalog object")
30 | }
31 | }
32 |
33 | /**
34 | File not found.
35 | */
36 | func testCreateAssetsCatalog02() {
37 | do {
38 | _ = try AssetsCatalog(path: "Fake path")
39 | XCTFail("AssetsCatalog should not be created")
40 | } catch AssetsCatalogError.fileDoesntExists {
41 |
42 | } catch {
43 | XCTFail("Unknown exception \(error)")
44 | }
45 | }
46 |
47 | /**
48 | Incorrect file.
49 | */
50 | func testCreateAssetsCatalog03() {
51 | guard let path = Asset.bundle.path(forResource: "data/fake_assets", ofType: nil) else {
52 | XCTFail("Cannot find fake asset")
53 | return
54 | }
55 |
56 | do {
57 | _ = try AssetsCatalog(path: path)
58 | XCTFail("AssetsCatalog should not be created")
59 | } catch AssetsCatalogError.cannotOpenAssetsCatalog {
60 |
61 | } catch {
62 | XCTFail("Unknown exception \(error)")
63 | }
64 | }
65 |
66 | /**
67 | Test one operation.
68 | */
69 | func testOperation01() {
70 | do {
71 | let operation = FakeOperation()
72 | try assetsContainer.iOS.performOperation(operation: operation)
73 | XCTAssertTrue(operation.executed)
74 | } catch {
75 | XCTFail("Unknown exception \(error)")
76 | }
77 | }
78 |
79 | /**
80 | Test two operations.
81 | */
82 | func testOperation02() {
83 | do {
84 | let operation1 = FakeOperation()
85 | let operation2 = FakeOperation()
86 | try assetsContainer.iOS.performOperations(operations: [operation1, operation2])
87 | XCTAssertTrue(operation1.executed)
88 | XCTAssertTrue(operation2.executed)
89 | } catch {
90 | XCTFail("Unknown exception \(error)")
91 | }
92 | }
93 | }
94 |
--------------------------------------------------------------------------------
/acextractTests/CorrectnessTests.swift:
--------------------------------------------------------------------------------
1 | //
2 | // CorrectnessTests.swift
3 | // acextract
4 | //
5 | // Created by Bartosz Janda on 19.06.2016.
6 | // Copyright © 2016 Bartosz Janda. All rights reserved.
7 | //
8 |
9 | import XCTest
10 |
11 | // Check correctness by printing verbose information
12 | class CorrectnessTests: XCTestCase {
13 | // MARK: Properties
14 | let printOperation = PrintInformationOperation(verbose: .veryVeryVerbose)
15 |
16 | // MARK: Test correctness
17 | func testIOSCorrectness() {
18 | printOperation.read(catalog: assetsContainer.iOS)
19 | }
20 |
21 | func testIPadCorrectness() {
22 | printOperation.read(catalog: assetsContainer.iPad)
23 | }
24 |
25 | func testIPhoneCorrectness() {
26 | printOperation.read(catalog: assetsContainer.iPhone)
27 | }
28 |
29 | func testMacCorrectness() {
30 | printOperation.read(catalog: assetsContainer.macOS)
31 | }
32 |
33 | func testTVCorrectness() {
34 | printOperation.read(catalog: assetsContainer.tvOS)
35 | }
36 |
37 | func testWatchCorrectness() {
38 | printOperation.read(catalog: assetsContainer.watchOS)
39 | }
40 |
41 | func testPrintInformationName() {
42 | PrintInformationOperation(verbose: .name).read(catalog: assetsContainer.iOS)
43 | }
44 |
45 | func testPrintInformationVerbose() {
46 | PrintInformationOperation(verbose: .verbose).read(catalog: assetsContainer.iOS)
47 | }
48 |
49 | func testPrintInformationVeryVerbose() {
50 | PrintInformationOperation(verbose: .veryVerbose).read(catalog: assetsContainer.iOS)
51 | }
52 | }
53 |
--------------------------------------------------------------------------------
/acextractTests/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | en
7 | CFBundleExecutable
8 | $(EXECUTABLE_NAME)
9 | CFBundleIdentifier
10 | $(PRODUCT_BUNDLE_IDENTIFIER)
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | $(PRODUCT_NAME)
15 | CFBundlePackageType
16 | BNDL
17 | CFBundleShortVersionString
18 | 1.0
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | 1
23 |
24 |
25 |
--------------------------------------------------------------------------------
/acextractTests/TemplateRenderingTests.swift:
--------------------------------------------------------------------------------
1 | //
2 | // TemplateRenderingTests.swift
3 | // acextract
4 | //
5 | // Created by Bartosz Janda on 26.06.2016.
6 | // Copyright © 2016 Bartosz Janda. All rights reserved.
7 | //
8 |
9 | import XCTest
10 |
11 | class TemplateRenderingTests: XCTestCase {
12 | // MARK: Template rendering
13 | func testDefault() {
14 | let imageSet = assetsContainer.iOS.imageSet(withName: "r_default")
15 | let images = imageSet.namedImages
16 | XCTAssertEqual(images.count, 3)
17 | if let image = images.filter({ return $0.scale == 1.0 }).first {
18 | XCTAssertFalse(image.isTemplate)
19 | XCTAssertEqual(image.templateRenderingMode, CUIRenderMode.default)
20 | XCTAssertEqual(image.acImageName, "r_default.png")
21 | XCTAssertNotNil(image._rendition().unslicedImage())
22 | } else {
23 | XCTFail("Cannot find image")
24 | }
25 |
26 | if let image = images.filter({ return $0.scale == 2.0 }).first {
27 | XCTAssertFalse(image.isTemplate)
28 | XCTAssertEqual(image.templateRenderingMode, CUIRenderMode.default)
29 | XCTAssertEqual(image.acImageName, "r_default@2x.png")
30 | XCTAssertNotNil(image._rendition().unslicedImage())
31 | } else {
32 | XCTFail("Cannot find image")
33 | }
34 |
35 | if let image = images.filter({ return $0.scale == 3.0 }).first {
36 | XCTAssertFalse(image.isTemplate)
37 | XCTAssertEqual(image.templateRenderingMode, CUIRenderMode.default)
38 | XCTAssertEqual(image.acImageName, "r_default@3x.png")
39 | XCTAssertNotNil(image._rendition().unslicedImage())
40 | } else {
41 | XCTFail("Cannot find image")
42 | }
43 | }
44 |
45 | func testOriginal() {
46 | let imageSet = assetsContainer.iOS.imageSet(withName: "r_original")
47 | let images = imageSet.namedImages
48 | XCTAssertEqual(images.count, 3)
49 | if let image = images.filter({ return $0.scale == 1.0 }).first {
50 | XCTAssertFalse(image.isTemplate)
51 | XCTAssertEqual(image.templateRenderingMode, CUIRenderMode.original)
52 | XCTAssertEqual(image.acImageName, "r_original.png")
53 | XCTAssertNotNil(image._rendition().unslicedImage())
54 | } else {
55 | XCTFail("Cannot find image")
56 | }
57 |
58 | if let image = images.filter({ return $0.scale == 2.0 }).first {
59 | XCTAssertFalse(image.isTemplate)
60 | XCTAssertEqual(image.templateRenderingMode, CUIRenderMode.original)
61 | XCTAssertEqual(image.acImageName, "r_original@2x.png")
62 | XCTAssertNotNil(image._rendition().unslicedImage())
63 | } else {
64 | XCTFail("Cannot find image")
65 | }
66 |
67 | if let image = images.filter({ return $0.scale == 3.0 }).first {
68 | XCTAssertFalse(image.isTemplate)
69 | XCTAssertEqual(image.templateRenderingMode, CUIRenderMode.original)
70 | XCTAssertEqual(image.acImageName, "r_original@3x.png")
71 | XCTAssertNotNil(image._rendition().unslicedImage())
72 | } else {
73 | XCTFail("Cannot find image")
74 | }
75 | }
76 |
77 | func testTemplate() {
78 | let imageSet = assetsContainer.iOS.imageSet(withName: "r_template")
79 | let images = imageSet.namedImages
80 | XCTAssertEqual(images.count, 3)
81 | if let image = images.filter({ return $0.scale == 1.0 }).first {
82 | XCTAssertTrue(image.isTemplate)
83 | XCTAssertEqual(image.templateRenderingMode, CUIRenderMode.template)
84 | XCTAssertEqual(image.acImageName, "r_template.png")
85 | XCTAssertNotNil(image._rendition().unslicedImage())
86 | } else {
87 | XCTFail("Cannot find image")
88 | }
89 |
90 | if let image = images.filter({ return $0.scale == 2.0 }).first {
91 | XCTAssertTrue(image.isTemplate)
92 | XCTAssertEqual(image.templateRenderingMode, CUIRenderMode.template)
93 | XCTAssertEqual(image.acImageName, "r_template@2x.png")
94 | XCTAssertNotNil(image._rendition().unslicedImage())
95 | } else {
96 | XCTFail("Cannot find image")
97 | }
98 |
99 | if let image = images.filter({ return $0.scale == 3.0 }).first {
100 | XCTAssertTrue(image.isTemplate)
101 | XCTAssertEqual(image.templateRenderingMode, CUIRenderMode.template)
102 | XCTAssertEqual(image.acImageName, "r_template@3x.png")
103 | XCTAssertNotNil(image._rendition().unslicedImage())
104 | } else {
105 | XCTFail("Cannot find image")
106 | }
107 | }
108 | }
109 |
--------------------------------------------------------------------------------
/acextractTests/acextractTests-Bridging-Header.h:
--------------------------------------------------------------------------------
1 | //
2 | // acextract-Bridging-Header.h
3 | //
4 | // The MIT License (MIT)
5 | //
6 | // Copyright (c) 2014 Bartosz Janda
7 | //
8 | // Permission is hereby granted, free of charge, to any person obtaining a copy
9 | // of this software and associated documentation files (the "Software"), to deal
10 | // in the Software without restriction, including without limitation the rights
11 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
12 | // copies of the Software, and to permit persons to whom the Software is
13 | // furnished to do so, subject to the following conditions:
14 | //
15 | // The above copyright notice and this permission notice shall be included in all
16 | // copies or substantial portions of the Software.
17 | //
18 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
19 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
20 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
21 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
22 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
23 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
24 | // SOFTWARE.
25 |
26 | #import "CoreUI.h"
27 |
--------------------------------------------------------------------------------
/acextractTests/data/assets.car:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/acextractTests/data/assets.car
--------------------------------------------------------------------------------
/acextractTests/data/assets_ios.car:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/acextractTests/data/assets_ios.car
--------------------------------------------------------------------------------
/acextractTests/data/assets_ipad.car:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/acextractTests/data/assets_ipad.car
--------------------------------------------------------------------------------
/acextractTests/data/assets_iphone.car:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/acextractTests/data/assets_iphone.car
--------------------------------------------------------------------------------
/acextractTests/data/assets_mac.car:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/acextractTests/data/assets_mac.car
--------------------------------------------------------------------------------
/acextractTests/data/assets_tv.car:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/acextractTests/data/assets_tv.car
--------------------------------------------------------------------------------
/acextractTests/data/assets_watch.car:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/acextractTests/data/assets_watch.car
--------------------------------------------------------------------------------
/acextractTests/data/fake_assets:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bartoszj/acextract/df3b018d53cd4b684a5f6d63535dcc4156be1a97/acextractTests/data/fake_assets
--------------------------------------------------------------------------------