पर स्थापित ऐप्स की सूची ढूँढना क्या मेरे आईओएस डिवाइस पर स्थापित सभी ऐप्स का प्रोग्रामेटिक रूप से पता लगाना संभव है? क्या कोई एपीआई इसी के लिए उपलब्ध है?आईफोन
मदद
पर स्थापित ऐप्स की सूची ढूँढना क्या मेरे आईओएस डिवाइस पर स्थापित सभी ऐप्स का प्रोग्रामेटिक रूप से पता लगाना संभव है? क्या कोई एपीआई इसी के लिए उपलब्ध है?आईफोन
मदद
नहीं है, आईओएस अनुप्रयोगों पर के लिए धन्यवाद सैंडबॉक्स वातावरण के कारण अन्य अनुप्रयोगों के बारे में/की जानकारी के लिए पहुँच नहीं है।
डिवाइस से नहीं। हालांकि, डेस्कटॉप से आप आईट्यून्स लाइब्रेरी में देख सकते हैं।
क्या आप इसे प्रोग्रामिक रूप से करने के बारे में बात कर रहे हैं? यदि हां, तो क्या आप अधिक जानकारी दे सकते हैं? – AmineG
जेलब्रोकन डिवाइस के बिना ऐसा करने के तरीके हैं और आपके ऐप को खारिज नहीं किया गया है।
1. वर्तमान में चल रही प्रक्रियाओं की एक सूची प्राप्त करें this SO उत्तर देखें। आपको प्रक्रिया नाम से ऐप नाम में अनुवाद करने की आवश्यकता होगी।
2. यह देखने के लिए जांचें कि क्या किसी भी ऐप्स ने UIApplicationDelegate canOpenURL के साथ एक अद्वितीय URL योजना पंजीकृत की है। ज्ञात यूआरएल योजनाओं को सूचीबद्ध करने वाली कुछ साइटें हैं, this सबसे अच्छा है।
यदि कोई ऐप वर्तमान में नहीं चल रहा है और कस्टम यूआरएल योजना पंजीकृत नहीं करता है तो इन तरीकों से यह पता नहीं लगाया जाएगा। मुझे ऐसी विधि सुनने में रूचि है जिसे ऐप स्टोर में अनुमति दी जाएगी जो इससे बेहतर काम करती है।
हाँ, यह सब स्थापित एप्लिकेशन
-(void) allInstalledApp
{
NSDictionary *cacheDict;
NSDictionary *user;
static NSString *const cacheFileName = @"com.apple.mobile.installation.plist";
NSString *relativeCachePath = [[@"Library" stringByAppendingPathComponent: @"Caches"] stringByAppendingPathComponent: cacheFileName];
NSString *path = [[NSHomeDirectory() stringByAppendingPathComponent: @"../.."] stringByAppendingPathComponent: relativeCachePath];
cacheDict = [NSDictionary dictionaryWithContentsOfFile: path];
user = [cacheDict objectForKey: @"User"];
NSDictionary *systemApp=[cacheDict objectForKey:@"System"];
}
systemApp
Dictionary
की सूची प्राप्त करने के लिए संभव है सभी सिस्टम से संबंधित एप्लिकेशन की सूची और user
Dictionary
अन्य एप्लिकेशन में जानकारी शामिल हैं।
आप की जाँच के लिए एक आवेदन या canOpenURL
विधि का उपयोग कर या पृष्ठभूमि प्रक्रियाओं की जाँच और ऐप्स में आप में रुचि रखते हैं के नाम के साथ मेल द्वारा स्थापित नहीं है कि क्या द्वारा यह कर सकते हैं।
इस कोशिश, यह यहां तक कि गैर jailbroken उपकरणों के साथ काम:
#include <objc/runtime.h>
Class LSApplicationWorkspace_class = objc_getClass("LSApplicationWorkspace");
SEL selector=NSSelectorFromString(@"defaultWorkspace");
NSObject* workspace = [LSApplicationWorkspace_class performSelector:selector];
SEL selectorALL = NSSelectorFromString(@"allApplications");
NSLog(@"apps: %@", [workspace performSelector:selectorALL]);//will give you all **Bundle IDS** of user's all installed apps
इस से ऐप नाम और बंडल आईडी कैसे पार्स करें? कृपया मेरी मदद करें –
@VikashRajput मेरा उत्तर 100% परीक्षण किया गया है। आपको उपरोक्त कोड की अंतिम पंक्ति में सभी ऐप्स (यानी बंडल आईडी) मिलेंगे, लेकिन आप सैंडबॉक्सिंग के कारण कुछ भी ओवरराइट नहीं कर सकते हैं। हालांकि, आप इसके लिए Google कर सकते हैं। यदि यह आपके लिए सहायक था तो एक अपवित्र होना चाहिए :)। –
यह LSApplicationProxy प्रकार ऑब्जेक्ट्स की एक सरणी देगा, लेकिन मैं एनएसएसटींग के रूप में बंडल आईडी प्राप्त करने में सक्षम नहीं हूं। क्या आप कृपया बंडल आईडी को एनएसएसटींग के रूप में पार्स कर सकते हैं? –
आप क्रम उद्देश्य सी का उपयोग कर सकते सभी इंस्टॉल किए गए एप्लिकेशन की सूची प्राप्त करने। यह आपको LSApplicationProxy
ऑब्जेक्ट्स की सरणी देगा।
एक कोड स्निपेट है जो आपके डिवाइस में स्थापित सभी एप्लिकेशन का नाम प्रिंट करता है।
Class LSApplicationWorkspace_class = objc_getClass("LSApplicationWorkspace");
NSObject* workspace = [LSApplicationWorkspace_class performSelector:NSSelectorFromString(@"defaultWorkspace")];
NSMutableArray *array = [workspace performSelector:NSSelectorFromString(@"allApplications")];
NSMutableArray *mutableArray = [[NSMutableArray alloc] init];
for (id lsApplicationProxy in array) {
if(nil != [lsApplicationProxy performSelector:NSSelectorFromString(@"itemName")]){
[mutableArray addObject:[lsApplicationProxy performSelector:NSSelectorFromString(@"itemName")]];
}
}
NSLog(@"********* Applications List ************* : \n %@",mutableArray);
<objc/runtime.h>
शामिल करना न भूलें।
मुझे एक कामकाजी समाधान मिला, यकीन नहीं है कि यह सेब द्वारा स्वीकार किया जाएगा !!! विचार ??? – Unicorn
मुझे लगता है कि यह नहीं होगा) –
यहां लिंक है: http://www.iphonedevsdk.com/forum/iphone-sdk-development/22289-possible-retrieve-these-information.html – Unicorn