mirror of https://github.com/opa334/TrollStore.git
1.3.1
This commit is contained in:
parent
ef6b70185c
commit
ff0c2a2fb5
|
@ -1,6 +1,6 @@
|
||||||
Package: com.opa334.trollstoreroothelper
|
Package: com.opa334.trollstoreroothelper
|
||||||
Name: trollstoreroothelper
|
Name: trollstoreroothelper
|
||||||
Version: 1.3
|
Version: 1.3.1
|
||||||
Architecture: iphoneos-arm
|
Architecture: iphoneos-arm
|
||||||
Description: An awesome tool of some sort!!
|
Description: An awesome tool of some sort!!
|
||||||
Maintainer: opa334
|
Maintainer: opa334
|
||||||
|
|
|
@ -17,6 +17,8 @@
|
||||||
<true/>
|
<true/>
|
||||||
<key>com.apple.private.security.storage.AppBundles</key>
|
<key>com.apple.private.security.storage.AppBundles</key>
|
||||||
<true/>
|
<true/>
|
||||||
|
<key>com.apple.private.security.storage.MobileDocuments</key>
|
||||||
|
<true/>
|
||||||
<key>com.apple.private.MobileContainerManager.allowed</key>
|
<key>com.apple.private.MobileContainerManager.allowed</key>
|
||||||
<true/>
|
<true/>
|
||||||
<key>com.apple.private.MobileInstallationHelperService.InstallDaemonOpsEnabled</key>
|
<key>com.apple.private.MobileInstallationHelperService.InstallDaemonOpsEnabled</key>
|
||||||
|
|
|
@ -59,23 +59,20 @@ static UIAlertController* g_activityController;
|
||||||
[self startActivity:activity withCancelHandler:nil];
|
[self startActivity:activity withCancelHandler:nil];
|
||||||
}
|
}
|
||||||
|
|
||||||
+ (void)stopActivityWithCompletion:(void (^)(void))completion
|
+ (void)stopActivityWithCompletion:(void (^)(void))completionBlock
|
||||||
{
|
{
|
||||||
if(!self.activityController) return;
|
if(!self.activityController) return;
|
||||||
|
|
||||||
[self.activityController dismissViewControllerAnimated:YES completion:^
|
[self.activityController dismissViewControllerAnimated:YES completion:^
|
||||||
{
|
{
|
||||||
self.activityController = nil;
|
self.activityController = nil;
|
||||||
if(completion)
|
if(completionBlock) completionBlock();
|
||||||
{
|
|
||||||
completion();
|
|
||||||
}
|
|
||||||
}];
|
}];
|
||||||
}
|
}
|
||||||
|
|
||||||
+ (void)presentViewController:(UIViewController *)viewControllerToPresent animated:(BOOL)flag completion:(void (^)(void))completion
|
+ (void)presentViewController:(UIViewController *)viewControllerToPresent animated:(BOOL)flag completion:(void (^)(void))completionBlock
|
||||||
{
|
{
|
||||||
[self.presentationViewController presentViewController:viewControllerToPresent animated:flag completion:completion];
|
[self.presentationViewController presentViewController:viewControllerToPresent animated:flag completion:completionBlock];
|
||||||
}
|
}
|
||||||
|
|
||||||
@end
|
@end
|
|
@ -52,7 +52,7 @@
|
||||||
<string>iPhoneOS</string>
|
<string>iPhoneOS</string>
|
||||||
</array>
|
</array>
|
||||||
<key>CFBundleVersion</key>
|
<key>CFBundleVersion</key>
|
||||||
<string>1.3</string>
|
<string>1.3.1</string>
|
||||||
<key>LSRequiresIPhoneOS</key>
|
<key>LSRequiresIPhoneOS</key>
|
||||||
<true/>
|
<true/>
|
||||||
<key>UIDeviceFamily</key>
|
<key>UIDeviceFamily</key>
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
Package: com.opa334.trollstorehelper
|
Package: com.opa334.trollstorehelper
|
||||||
Name: TrollStore Helper
|
Name: TrollStore Helper
|
||||||
Version: 1.3
|
Version: 1.3.1
|
||||||
Architecture: iphoneos-arm
|
Architecture: iphoneos-arm
|
||||||
Description: Helper utility to install and manage TrollStore!
|
Description: Helper utility to install and manage TrollStore!
|
||||||
Maintainer: opa334
|
Maintainer: opa334
|
||||||
|
|
|
@ -50,7 +50,7 @@
|
||||||
<string>iPhoneOS</string>
|
<string>iPhoneOS</string>
|
||||||
</array>
|
</array>
|
||||||
<key>CFBundleVersion</key>
|
<key>CFBundleVersion</key>
|
||||||
<string>1.3</string>
|
<string>1.3.1</string>
|
||||||
<key>LSRequiresIPhoneOS</key>
|
<key>LSRequiresIPhoneOS</key>
|
||||||
<true/>
|
<true/>
|
||||||
<key>UIDeviceFamily</key>
|
<key>UIDeviceFamily</key>
|
||||||
|
|
|
@ -412,22 +412,24 @@ extern UIImage* imageWithSize(UIImage* image, CGSize size);
|
||||||
return nil;
|
return nil;
|
||||||
}
|
}
|
||||||
|
|
||||||
- (void)loadBasicInfoWithCompletion:(void (^)(NSError*))completionHandler
|
- (void)loadBasicInfoWithCompletion:(void (^)(NSError*))completionBlock
|
||||||
{
|
{
|
||||||
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
|
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
|
||||||
completionHandler([self sync_loadBasicInfo]);
|
if(completionBlock) completionBlock([self sync_loadBasicInfo]);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
- (void)loadInfoWithCompletion:(void (^)(NSError*))completionHandler
|
- (void)loadInfoWithCompletion:(void (^)(NSError*))completionBlock
|
||||||
{
|
{
|
||||||
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
|
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
|
||||||
completionHandler([self sync_loadInfo]);
|
if(completionBlock) completionBlock([self sync_loadInfo]);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
- (void)enumerateAllInfoDictionaries:(void (^)(NSString* key, NSObject* value, BOOL* stop))enumerateBlock
|
- (void)enumerateAllInfoDictionaries:(void (^)(NSString* key, NSObject* value, BOOL* stop))enumerateBlock
|
||||||
{
|
{
|
||||||
|
if(!enumerateBlock) return;
|
||||||
|
|
||||||
__block BOOL b_stop = NO;
|
__block BOOL b_stop = NO;
|
||||||
|
|
||||||
[_cachedInfoDictionary enumerateKeysAndObjectsUsingBlock:^(NSString* key, NSObject* value, BOOL* stop) {
|
[_cachedInfoDictionary enumerateKeysAndObjectsUsingBlock:^(NSString* key, NSObject* value, BOOL* stop) {
|
||||||
|
@ -455,6 +457,8 @@ extern UIImage* imageWithSize(UIImage* image, CGSize size);
|
||||||
|
|
||||||
- (void)enumerateAllEntitlements:(void (^)(NSString* key, NSObject* value, BOOL* stop))enumerateBlock
|
- (void)enumerateAllEntitlements:(void (^)(NSString* key, NSObject* value, BOOL* stop))enumerateBlock
|
||||||
{
|
{
|
||||||
|
if(!enumerateBlock) return;
|
||||||
|
|
||||||
__block BOOL b_stop = NO;
|
__block BOOL b_stop = NO;
|
||||||
|
|
||||||
[_cachedEntitlementsByBinarySubpaths enumerateKeysAndObjectsUsingBlock:^(NSString* binarySubpath, NSDictionary* binaryInfoDictionary, BOOL* stop_1)
|
[_cachedEntitlementsByBinarySubpaths enumerateKeysAndObjectsUsingBlock:^(NSString* binarySubpath, NSDictionary* binaryInfoDictionary, BOOL* stop_1)
|
||||||
|
@ -475,6 +479,8 @@ extern UIImage* imageWithSize(UIImage* image, CGSize size);
|
||||||
|
|
||||||
- (void)enumerateAvailableIcons:(void (^)(CGSize iconSize, NSUInteger iconScale, NSString* iconPath, BOOL* stop))enumerateBlock
|
- (void)enumerateAvailableIcons:(void (^)(CGSize iconSize, NSUInteger iconScale, NSString* iconPath, BOOL* stop))enumerateBlock
|
||||||
{
|
{
|
||||||
|
if(!enumerateBlock) return;
|
||||||
|
|
||||||
if(_cachedInfoDictionary)
|
if(_cachedInfoDictionary)
|
||||||
{
|
{
|
||||||
NSString* iconName = nil;
|
NSString* iconName = nil;
|
||||||
|
|
|
@ -111,38 +111,43 @@ UIImage* imageWithSize(UIImage* image, CGSize size)
|
||||||
{
|
{
|
||||||
UIAction* installFromFileAction = [UIAction actionWithTitle:@"Install IPA File" image:[UIImage systemImageNamed:@"doc.badge.plus"] identifier:@"InstallIPAFile" handler:^(__kindof UIAction *action)
|
UIAction* installFromFileAction = [UIAction actionWithTitle:@"Install IPA File" image:[UIImage systemImageNamed:@"doc.badge.plus"] identifier:@"InstallIPAFile" handler:^(__kindof UIAction *action)
|
||||||
{
|
{
|
||||||
UTType* ipaType = [UTType typeWithFilenameExtension:@"ipa" conformingToType:UTTypeData];
|
dispatch_async(dispatch_get_main_queue(), ^
|
||||||
UTType* tipaType = [UTType typeWithFilenameExtension:@"tipa" conformingToType:UTTypeData];
|
{
|
||||||
|
UTType* ipaType = [UTType typeWithFilenameExtension:@"ipa" conformingToType:UTTypeData];
|
||||||
|
UTType* tipaType = [UTType typeWithFilenameExtension:@"tipa" conformingToType:UTTypeData];
|
||||||
|
|
||||||
UIDocumentPickerViewController* documentPickerVC = [[UIDocumentPickerViewController alloc] initForOpeningContentTypes:@[ipaType, tipaType]];
|
UIDocumentPickerViewController* documentPickerVC = [[UIDocumentPickerViewController alloc] initForOpeningContentTypes:@[ipaType, tipaType]];
|
||||||
//UIDocumentPickerViewController* documentPickerVC = [[UIDocumentPickerViewController alloc] initWithDocumentTypes:@[@"com.apple.itunes.ipa", @"com.opa334.trollstore.tipa"] inMode:UIDocumentPickerModeOpen];
|
documentPickerVC.allowsMultipleSelection = NO;
|
||||||
documentPickerVC.allowsMultipleSelection = NO;
|
documentPickerVC.delegate = self;
|
||||||
documentPickerVC.delegate = self;
|
|
||||||
|
|
||||||
[TSPresentationDelegate presentViewController:documentPickerVC animated:YES completion:nil];
|
[TSPresentationDelegate presentViewController:documentPickerVC animated:YES completion:nil];
|
||||||
|
});
|
||||||
}];
|
}];
|
||||||
|
|
||||||
UIAction* installFromURLAction = [UIAction actionWithTitle:@"Install from URL" image:[UIImage systemImageNamed:@"link.badge.plus"] identifier:@"InstallFromURL" handler:^(__kindof UIAction *action)
|
UIAction* installFromURLAction = [UIAction actionWithTitle:@"Install from URL" image:[UIImage systemImageNamed:@"link.badge.plus"] identifier:@"InstallFromURL" handler:^(__kindof UIAction *action)
|
||||||
{
|
{
|
||||||
UIAlertController* installURLController = [UIAlertController alertControllerWithTitle:@"Install from URL" message:@"" preferredStyle:UIAlertControllerStyleAlert];
|
dispatch_async(dispatch_get_main_queue(), ^
|
||||||
|
|
||||||
[installURLController addTextFieldWithConfigurationHandler:^(UITextField *textField) {
|
|
||||||
textField.placeholder = @"URL";
|
|
||||||
}];
|
|
||||||
|
|
||||||
UIAlertAction* installAction = [UIAlertAction actionWithTitle:@"Install" style:UIAlertActionStyleDefault handler:^(UIAlertAction* action)
|
|
||||||
{
|
{
|
||||||
NSString* URLString = installURLController.textFields.firstObject.text;
|
UIAlertController* installURLController = [UIAlertController alertControllerWithTitle:@"Install from URL" message:@"" preferredStyle:UIAlertControllerStyleAlert];
|
||||||
NSURL* remoteURL = [NSURL URLWithString:URLString];
|
|
||||||
|
|
||||||
[TSInstallationController handleAppInstallFromRemoteURL:remoteURL completion:nil];
|
[installURLController addTextFieldWithConfigurationHandler:^(UITextField *textField) {
|
||||||
}];
|
textField.placeholder = @"URL";
|
||||||
[installURLController addAction:installAction];
|
}];
|
||||||
|
|
||||||
UIAlertAction* cancelAction = [UIAlertAction actionWithTitle:@"Cancel" style:UIAlertActionStyleCancel handler:nil];
|
UIAlertAction* installAction = [UIAlertAction actionWithTitle:@"Install" style:UIAlertActionStyleDefault handler:^(UIAlertAction* action)
|
||||||
[installURLController addAction:cancelAction];
|
{
|
||||||
|
NSString* URLString = installURLController.textFields.firstObject.text;
|
||||||
|
NSURL* remoteURL = [NSURL URLWithString:URLString];
|
||||||
|
|
||||||
[TSPresentationDelegate presentViewController:installURLController animated:YES completion:nil];
|
[TSInstallationController handleAppInstallFromRemoteURL:remoteURL completion:nil];
|
||||||
|
}];
|
||||||
|
[installURLController addAction:installAction];
|
||||||
|
|
||||||
|
UIAlertAction* cancelAction = [UIAlertAction actionWithTitle:@"Cancel" style:UIAlertActionStyleCancel handler:nil];
|
||||||
|
[installURLController addAction:cancelAction];
|
||||||
|
|
||||||
|
[TSPresentationDelegate presentViewController:installURLController animated:YES completion:nil];
|
||||||
|
});
|
||||||
}];
|
}];
|
||||||
|
|
||||||
UIMenu* installMenu = [UIMenu menuWithChildren:@[installFromFileAction, installFromURLAction]];
|
UIMenu* installMenu = [UIMenu menuWithChildren:@[installFromFileAction, installFromURLAction]];
|
||||||
|
|
|
@ -93,7 +93,7 @@
|
||||||
|
|
||||||
UIAlertAction* cancelAction = [UIAlertAction actionWithTitle:@"Cancel" style:UIAlertActionStyleCancel handler:^(UIAlertAction* action)
|
UIAlertAction* cancelAction = [UIAlertAction actionWithTitle:@"Cancel" style:UIAlertActionStyleCancel handler:^(UIAlertAction* action)
|
||||||
{
|
{
|
||||||
completionBlock(NO, nil);
|
if(completionBlock) completionBlock(NO, nil);
|
||||||
}];
|
}];
|
||||||
[installAlert addAction:cancelAction];
|
[installAlert addAction:cancelAction];
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
Package: com.opa334.trollstore
|
Package: com.opa334.trollstore
|
||||||
Name: TrollStore
|
Name: TrollStore
|
||||||
Version: 1.3
|
Version: 1.3.1
|
||||||
Architecture: iphoneos-arm
|
Architecture: iphoneos-arm
|
||||||
Description: An awesome application!
|
Description: An awesome application!
|
||||||
Maintainer: opa334
|
Maintainer: opa334
|
||||||
|
|
Loading…
Reference in New Issue