2016-01-18 3 views
2

Мне необходимо получить Версии всех установленных приложений программным образом для устройств с i-интерфейсом без jailbreak. Возможно ли достичь этого? Любая помощь была бы признательна.Программно программно отображает версии всех приложений, установленных на устройстве iOS

Спасибо.

+0

Только если вы джейлбрейк. – Avi

+0

Каков ваш «прецедент»? Поскольку у Apple нет публичного API для нарушения конфиденциальности пользователей. –

+0

@avi: я предполагаю, что ОП просит получить номер версии, поэтому я отправил ответ anyeay, если у вас есть лучший ответ, тогда, пожалуйста, поставьте и объясните это :) –

ответ

3

Это возможно, пожалуйста, используйте приведенный ниже код.

Class LSApplicationWorkspace_class = objc_getClass("LSApplicationWorkspace"); 
    NSObject* workspace = [LSApplicationWorkspace_class performSelector:@selector(defaultWorkspace)]; 

    for (LSApplicationProxy *apps in [workspace performSelector:@selector(allApplications)]) 
    {   
     NSString *localizedName = apps.localizedName; 

     if([apps.applicationType isEqualToString:@"User"]) 
     { 
      NSLog(@"\nlocalizedName: %@",localizedName); 
      NSLog(@"minimumSystemVersion: %@",apps.minimumSystemVersion); 
      NSLog(@"fileSharingEnabled: %d",apps.fileSharingEnabled); 
      NSLog(@"sdkVersion: %@",apps.sdkVersion); 
      NSLog(@"teamID: %@",apps.teamID); 
     } 
    } 

Для этого Вам нужно разместить 4 классов в вашем приложении:

LSApplicationWorkspace, LSResourceProxy, LSBundleProxy, LSApplicationProxy. 
+0

Спасибо человеку! Он отлично работает. – Nandy

+0

добро пожаловать –

+0

Как я могу получить установленную дату и дату последнего обновления всех приложений? – Nandy

0

В iOS8 и раньше, мы можем использовать canOpenUrl получить установленные приложения, которые зарегистрированы схемы. В iOS9 вы должны добавить «белый список» в свой файл info.plist. Можно проверить только приложение в «белом списке». И количество лимитов «белого списка» равно 50. Таким образом, вам лучше джейлбрейк на вашем устройстве.

Посмотреть более подробную информацию: How to check particular app is already installed on iphone device or not?

Еще один: http://useyourloaf.com/blog/querying-url-schemes-with-canopenurl.html

+0

Вы можете сделать то же самое в iOS 9, но вам нужно «предварительно объявить», какие схемы вы будете использовать. – Avi

Смежные вопросы