2012-06-28 36 views
5

इंस्टॉल करना चाहते हैं, मैं डिवाइस के फाइल सिस्टम पर एक प्लेस्ट से आईओएस ऐप इंस्टॉल करने की कोशिश कर रहा हूं।स्थानीय प्लेस्ट (शून्य) से आईओएस ऐप्स इंस्टॉल करना

NSString *launchNewPlistURL = [NSString stringWithFormat:@"itms-services://?action=download-manifest&url=file://%@",[self saveFilePath]]; 
[[UIApplication sharedApplication]openURL:[NSURL URLWithString:launchNewPlistURL]]; 

और मुझे "(शून्य) {myappname} इंस्टॉल करना है" के साथ संकेत दिया जाता है। आम तौर पर (शून्य) डोमेन नाम है जो प्लास्ट आ रहा है, लेकिन इस मामले में यह शून्य है क्योंकि यह एक स्थानीय फ़ाइल है।

क्या प्लास्ट में शीर्षक निर्दिष्ट करने या यूआरएल में नकली डोमेन नाम पास करने के लिए वैसे भी है?

धन्यवाद, दान

उत्तर

3

आप एक HTTP स्थानीय सर्वर बनाने के लिए परियोजना MongooseDaemon उपयोग कर सकते हैं।

एक डोमेन के साथ: http://192.168.xxx.xxx/yourplist.plist इसे स्थापित करने के लिए।

किसी भी तरह, मुझे लगता है कि आप इसे एक बड़े आईपीए के साथ उपयोग नहीं कर सकते हैं। मैंने अपने आईपीए के साथ 15 एमबी से अधिक की कोशिश की है और यह इंस्टॉल शुरू करने के लिए बहुत धीमी है।

+0

फ़ाइल का आकार एक बड़ा मुद्दा नहीं होना चाहिए, क्योंकि केवल प्लास्ट को मोंगोसडेमन द्वारा होस्ट करने की आवश्यकता होगी, और आईपीए अभी भी वेब पर कहीं और रह सकता है। – fischerdan

2

मैं इसी तरह की स्थिति में था, और मूल रूप से मोंगोस का उपयोग करने के मार्ग से गुजर गया, लेकिन आज CocoaHttpServer पर ठोकर खाई।

मोंगोस के साथ, मुझे केवल स्थानीय प्लिस्ट/आईपीए फाइलों की सेवा करने वाली 20% सफलता दर मिल रही थी। कभी-कभी localhost would like to install संवाद कभी नहीं आया, कभी-कभी इंस्टॉल शुरू हो गया और लगभग आधे रास्ते में विफल रहा, और कभी-कभी यह वास्तव में काम करता था। एक बार ऐप विफल होने के बाद भी, मुझे पूरी तरह से अनइंस्टॉल करना पड़ा और इसे पुनर्स्थापित करना पड़ा, इसलिए सभी डेटा खो गया था। मैं एक असफल इंस्टॉल सफलतापूर्वक "ठीक" करने में सक्षम नहीं था।

अभी तक, परीक्षण के लगभग 10-15 मिनट के साथ, कोकोहटपसेवर विफल नहीं हुआ है, फिर भी। मुझे पता है कि यह एक बहुत छोटा नमूना आकार है, लेकिन मेरी मोंगोस सफलता दर लगभग 10% थी।

self.httpServer = [[HTTPServer alloc] init]; 
[self.httpServer setType:@"_http._tcp."]; 
[self.httpServer setPort:8080]; 
//This is just a path where I save my IPA and Plist file locally. 
//In my case it's /{NSDocumentDirectory}/install/ 
[self.httpServer setDocumentRoot:[self pathForLocalInstallFiles]]; 

फिर डिस्क पर plist करने के लिए यूआरएल:

NSURL *plistUrl = [NSURL URLWithString:@"itms-services://?action=download-manifest&url=http://localhost:8080/appname.plist"]; 
[[UIApplication sharedApplication] openURL:plistUrl]; 

plist अंदर, जहां आप अपने यूआरएल है कि स्थानीय आईपीए फ़ाइल की ओर इशारा करता है, मैं या तो file:// या http://localhost/ का उपयोग कर सफलता मिली।