mirror of
				https://github.com/opa334/TrollStore.git
				synced 2025-11-04 07:32:36 +08:00 
			
		
		
		
	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
	
	Block a user