Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: support for .tipa files #52

Open
wants to merge 32 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
32 commits
Select commit Hold shift + click to select a range
bcc9248
ref: extract unzip into helper function
relikd Jan 20, 2024
5ddcdc9
feat: use high-res iTunes Artwork as icon
relikd Jan 20, 2024
2a339fc
fix: crash if plist key does not exist
relikd Jan 20, 2024
8e430bc
ref: extract function for app icon
relikd Jan 20, 2024
f5facd5
fix: codesign --xml on old macOS
relikd Jan 21, 2024
47a3cb3
fix: IconFlavor in >10.15
relikd Jan 21, 2024
cae9ef3
ref: draw image directly with QLThumbnail
relikd Jan 21, 2024
09a94ab
ref: reorganize thumbnail generator
relikd Jan 21, 2024
dda2a1f
fix: downscale only
relikd Jan 21, 2024
b9c24b1
ref: full rewrite with modular processing
relikd Jan 25, 2024
3e5789b
fix: move functions to corresponding class
relikd Jan 25, 2024
ce1eccc
chore: reduce polling
relikd Jan 25, 2024
8d7cc85
fix: disable downscaling for retina display
relikd Jan 25, 2024
03c76b8
feat: inline helper functions
relikd Jan 25, 2024
fb626b7
feat: use zlib to unzip from ipa
relikd Jan 28, 2024
035e9ba
chore: update changelog
relikd Jan 28, 2024
bde8f0d
fix: dont load plist if data is nil
relikd Jan 29, 2024
8086127
ref: date-string parser
relikd Jan 29, 2024
1747f75
feat: show iTunes Metadata + purchase information
relikd Jan 29, 2024
3431bce
fix: remove potential leak
relikd Jan 29, 2024
a351275
chore: update settings + version bump
relikd Jan 29, 2024
3b8de8b
ref: rename ProvisionHidden and split div
relikd Jan 30, 2024
7aba508
feat: replace codesign sys-call with SecCodeSigning
relikd Jan 30, 2024
d4b01f0
style: remove css indentation
relikd Jan 30, 2024
18e3e3f
ref: naming convention for all hiddenDiv
relikd Jan 30, 2024
fa6ac77
doc: py script for app categories
relikd Jan 30, 2024
c1a888d
fix: default case return
relikd Feb 4, 2024
7b6ef29
feat: support for Asset.car icons
relikd Feb 4, 2024
66226c9
chore: script to test ProvisionQL on multiple files
relikd Feb 4, 2024
5e15305
feat: support for .tipa files
relikd Jan 21, 2024
bae1e20
feat: add non-dyn tipa type
relikd Jan 22, 2024
6671156
feat: treat .tipa as .ipa
relikd Feb 5, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 17 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,22 @@
# ProvisionQL

## Version 1.7.0

* New: show iTunes Metadata & purchase information
* New: use higher resolution app icon if available (try `iTunesArtwork`)
* New: show entitlements regardless of provisioning plist if available
* New: load icon from `Assets.car`
* Performance: unzip with zlib instead of sys-call
* Performance: parse html template tags with regex
* Performance: use `SecCodeSigning` instead of `codesign` sys-call
* Fix codesign unkown param on <10.15 (`--xml` flag)
* Fix crash if a plist key is not present (e.g. `CFBundleShortVersionString` for some old iOS 3.2 ipa)
* Fix fixed-width size for preview of app-icon (consistency)
* Fix `IconFlavor` attribute for thumbnail drawing in 10.15+
* Fix prefer icons without "small" siffix
* Minor html template improvements
* Some refactoring to reduce duplicate code

## Version 1.6.4

* Adds error handling to entitlements parsing ([#47](https://github.com/ealeksandrov/ProvisionQL/pull/47))
Expand Down
15 changes: 0 additions & 15 deletions NSBezierPath+IOS7RoundedRect/NSBezierPath+IOS7RoundedRect.h

This file was deleted.

49 changes: 0 additions & 49 deletions NSBezierPath+IOS7RoundedRect/NSBezierPath+IOS7RoundedRect.m

This file was deleted.

1 change: 1 addition & 0 deletions PrivateFrameworks/CoreUI.framework/Headers
54 changes: 54 additions & 0 deletions PrivateFrameworks/CoreUI.framework/Versions/A/Headers/CUICatalog.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
#import <Foundation/Foundation.h>

@class NSBundle, NSCache, NSMapTable, NSString;
@class CUINamedImage, CUIStructuredThemeStore;

@interface CUICatalog: NSObject {
NSString * _assetStoreName;
NSBundle * _bundle;
unsigned int _fileHasDisplayGamutInKeySpace;
NSCache * _localObjectCache;
NSCache * _lookupCache;
NSCache * _negativeCache;
unsigned short _preferredLocalization;
unsigned int _purgeWhenFinished;
unsigned int _reserved;
NSMapTable * _storageMapTable;
unsigned long long _storageRef;
NSDictionary * _vibrantColorMatrixTints;
}

- (CUIStructuredThemeStore *)_themeStore;

+ (id)defaultUICatalogForBundle:(id)arg1;

- (id)initWithBytes:(const void*)arg1 length:(unsigned long long)arg2 error:(NSError **)arg3;
- (id)initWithName:(id)arg1 fromBundle:(id)arg2;
- (id)initWithName:(id)arg1 fromBundle:(id)arg2 error:(id*)arg3;
- (id)initWithURL:(id)arg1 error:(NSError **)arg2;

- (BOOL)imageExistsWithName:(id)arg1;
- (BOOL)imageExistsWithName:(id)arg1 scaleFactor:(double)arg2;
- (CUINamedImage *)imageWithName:(id)arg1 scaleFactor:(double)arg2;
- (CUINamedImage *)imageWithName:(id)arg1 scaleFactor:(double)arg2 appearanceName:(id)arg3;
- (CUINamedImage *)imageWithName:(id)arg1 scaleFactor:(double)arg2 deviceIdiom:(long long)arg3;
- (CUINamedImage *)imageWithName:(id)arg1 scaleFactor:(double)arg2 deviceIdiom:(long long)arg3 appearanceName:(id)arg4;
- (CUINamedImage *)imageWithName:(id)arg1 scaleFactor:(double)arg2 deviceIdiom:(long long)arg3 deviceSubtype:(unsigned long long)arg4;
- (CUINamedImage *)imageWithName:(id)arg1 scaleFactor:(double)arg2 deviceIdiom:(long long)arg3 deviceSubtype:(unsigned long long)arg4 appearanceName:(id)arg5;
- (CUINamedImage *)imageWithName:(id)arg1 scaleFactor:(double)arg2 deviceIdiom:(long long)arg3 deviceSubtype:(unsigned long long)arg4 displayGamut:(long long)arg5 layoutDirection:(long long)arg6 sizeClassHorizontal:(long long)arg7 sizeClassVertical:(long long)arg8;
- (CUINamedImage *)imageWithName:(id)arg1 scaleFactor:(double)arg2 deviceIdiom:(long long)arg3 deviceSubtype:(unsigned long long)arg4 displayGamut:(long long)arg5 layoutDirection:(long long)arg6 sizeClassHorizontal:(long long)arg7 sizeClassVertical:(long long)arg8 appearanceName:(id)arg9;
- (CUINamedImage *)imageWithName:(id)arg1 scaleFactor:(double)arg2 deviceIdiom:(long long)arg3 deviceSubtype:(unsigned long long)arg4 displayGamut:(long long)arg5 layoutDirection:(long long)arg6 sizeClassHorizontal:(long long)arg7 sizeClassVertical:(long long)arg8 memoryClass:(long long)arg9 graphicsClass:(long long)arg10;
- (CUINamedImage *)imageWithName:(id)arg1 scaleFactor:(double)arg2 deviceIdiom:(long long)arg3 deviceSubtype:(unsigned long long)arg4 displayGamut:(long long)arg5 layoutDirection:(long long)arg6 sizeClassHorizontal:(long long)arg7 sizeClassVertical:(long long)arg8 memoryClass:(unsigned long long)arg9 graphicsClass:(unsigned long long)arg10 appearanceIdentifier:(long long)arg11 graphicsFallBackOrder:(id)arg12 deviceSubtypeFallBackOrder:(id)arg13;
- (CUINamedImage *)imageWithName:(id)arg1 scaleFactor:(double)arg2 deviceIdiom:(long long)arg3 deviceSubtype:(unsigned long long)arg4 displayGamut:(long long)arg5 layoutDirection:(long long)arg6 sizeClassHorizontal:(long long)arg7 sizeClassVertical:(long long)arg8 memoryClass:(unsigned long long)arg9 graphicsClass:(unsigned long long)arg10 graphicsFallBackOrder:(id)arg11 deviceSubtypeFallBackOrder:(id)arg12;
- (CUINamedImage *)imageWithName:(id)arg1 scaleFactor:(double)arg2 deviceIdiom:(long long)arg3 deviceSubtype:(unsigned long long)arg4 sizeClassHorizontal:(long long)arg5 sizeClassVertical:(long long)arg6;
- (CUINamedImage *)imageWithName:(id)arg1 scaleFactor:(double)arg2 deviceIdiom:(long long)arg3 deviceSubtype:(unsigned long long)arg4 sizeClassHorizontal:(long long)arg5 sizeClassVertical:(long long)arg6 appearanceName:(id)arg7;
- (CUINamedImage *)imageWithName:(id)arg1 scaleFactor:(double)arg2 deviceIdiom:(long long)arg3 layoutDirection:(long long)arg4 adjustRenditionKeyWithBlock:(id)arg5;
- (CUINamedImage *)imageWithName:(id)arg1 scaleFactor:(double)arg2 displayGamut:(long long)arg3 layoutDirection:(long long)arg4;
- (CUINamedImage *)imageWithName:(id)arg1 scaleFactor:(double)arg2 displayGamut:(long long)arg3 layoutDirection:(long long)arg4 appearanceName:(id)arg5;
- (NSArray<CUINamedImage *> *)imagesWithName:(id)arg1;

- (NSArray<NSString *> *)allImageNames;
- (NSArray<NSString *> *)appearanceNames;

@end

Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
#import <Foundation/Foundation.h>
#import <CoreUI/CUINamedLookup.h>

@interface CUINamedImage: CUINamedLookup {
struct _cuiniproperties {
unsigned int isVectorBased : 1;
unsigned int hasSliceInformation : 1;
unsigned int hasAlignmentInformation : 1;
unsigned int resizingMode : 2;
unsigned int templateRenderingMode : 3;
unsigned int exifOrientation : 4;
unsigned int isAlphaCropped : 1;
unsigned int isFlippable : 1;
unsigned int isTintable : 1;
unsigned int preservedVectorRepresentation : 1;
unsigned int _reserved : 16;
} _imageProperties;
double _scale;
}

@property (readonly) CGRect NS_alignmentRect;
@property (nonatomic, readonly) NSEdgeInsets alignmentEdgeInsets;
@property (nonatomic, readonly) int blendMode;
@property (nonatomic, readonly) CGImageRef croppedImage;
@property (nonatomic, readonly) NSEdgeInsets edgeInsets;
@property (nonatomic, readonly) int exifOrientation;
@property (nonatomic, readonly) BOOL hasAlignmentInformation;
@property (nonatomic, readonly) BOOL hasSliceInformation;
@property (nonatomic, readonly) CGImageRef image;
@property (nonatomic, readonly) long long imageType;
@property (nonatomic, readonly) BOOL isAlphaCropped;
@property (nonatomic, readonly) BOOL isFlippable;
@property (nonatomic, readonly) BOOL isStructured;
@property (nonatomic, readonly) BOOL isTemplate;
@property (nonatomic, readonly) BOOL isVectorBased;
@property (nonatomic, readonly) double opacity;
@property (nonatomic, readonly) BOOL preservedVectorRepresentation;
@property (nonatomic, readonly) long long resizingMode;
@property (nonatomic, readonly) double scale;
@property (nonatomic, readonly) CGSize size;
@property (nonatomic, readonly) long long templateRenderingMode;

- (id)baseKey;
- (CGRect)alphaCroppedRect;
- (CGImageRef)createImageFromPDFRenditionWithScale:(double)arg1;
- (CGImageRef)croppedImage;

- (id)initWithName:(id)arg1 usingRenditionKey:(id)arg2 fromTheme:(unsigned long long)arg3;

- (CGSize)originalUncroppedSize;
- (double)positionOfSliceBoundary:(unsigned int)arg1;

@end
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
#import <Foundation/Foundation.h>

@class CUIRenditionKey;

@interface CUINamedLookup: NSObject <NSLocking> {
unsigned int _distilledInVersion;
CUIRenditionKey * _key;
NSString * _name;
unsigned int _odContent;
NSString * _signature;
unsigned long long _storageRef;
}

- (id)initWithName:(id)arg1 usingRenditionKey:(id)arg2 fromTheme:(unsigned long long)arg3;

@end
1 change: 1 addition & 0 deletions PrivateFrameworks/CoreUI.framework/Versions/Current
9 changes: 9 additions & 0 deletions PrivateFrameworks/CoreUI.framework/module.modulemap
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
module CoreUI {
// umbrella header "CoreUI.h"
// Here is the list of your private headers.
header "Headers/CUICatalog.h"
header "Headers/CUINamedLookup.h"
header "Headers/CUINamedImage.h"

export *
}
Loading