2013-03-06 12 views
12

पर चलने से पहले एप्लिकेशन हटाएं क्या इसे स्थापित करने से पहले डिवाइस पर एप्लिकेशन को हटाने के लिए एक्सकोड (4.6) में कोई तरीका है?एक्सकोड - डिवाइस

मुझे परीक्षण उद्देश्यों के लिए इसकी आवश्यकता है और यदि एप्लिकेशन को फिर से स्थापित करने से पहले डिवाइस से हटा दिया जाएगा तो यह आसान होगा।

उत्तर

4

इसे मैन्युअल रूप से हटाने का एकमात्र तरीका है। यदि आप यही पूछ रहे थे तो प्रत्येक बार चलने से पहले एक्सकोड को डिवाइस से ऐप को हटाने का कोई तरीका नहीं है। क्षमा करें, यह एक शानदार विशेषता होगी, लेकिन अभी के लिए, ऐसा करने का कोई तरीका नहीं है। सिम्युलेटर पर भी नहीं।

मुझे लगता है कि आपको एप्पल के साथ एक बग/फीचर अनुरोध दर्ज करना चाहिए! वह कार्यक्षमता मेरे लिए आसान हो जाएगी!

2

हैकीस्टैक की तरह, मुझे लगता है कि आपको मैन्युअल रूप से ऐप को हटाना होगा। उस ने कहा, आपके पास एक डीबग स्टार्टअप विधि हो सकती है जो उस सामग्री को साफ़ करता है जो स्थापना के दौरान अधिलेखित नहीं है। उदाहरण के लिए, एक विधि जो दस्तावेज़ निर्देशिका की सामग्री को हटाती है, ऐप से जुड़े कीचेन आइटम, आईक्लाउड केवी जानकारी और दस्तावेज इत्यादि। यह एक प्रकार का दर्द होगा, लेकिन आपको वह स्थान मिल सकता है जहां आप जाना चाहते हैं ....

3

सिम्युलेटर छोड़ने के लिए एक्सकोड बिल्ड स्क्रिप्ट बनाने के बारे में, फिर सिम्युलेटर अनुप्रयोग निर्देशिका की सामग्री हटाएं। निर्देशिका

~/Library/Application Support/iPhone Simulator/6.1/Applications/ 
+0

अच्छा विचार है, लेकिन मैं यह डिवाइस – giorashc

5

XCode स्वचालित रूप से डिवाइस से हर बार जब आप इसे चलाने एप्लिकेशन को हटाने के लिए एक विकल्प प्रदान नहीं करते है, लेकिन आसान तरीका एक क्लिक में इसे हटाने के लिए 'डिवाइस' स्क्रीन का उपयोग करना है।

Link to the Apple documentation

3

नहीं, ऐप को हटाने के लिए कोई रास्ता नहीं है।

लेकिन आप इस तरह से पिछले रन से सभी एप्लिकेशन संसाधनों को साफ करने के लिए एक सरल समारोह लिख सकते हैं:

 
- (void)cleanUp { 
    NSString *appDomain = [[NSBundle mainBundle] bundleIdentifier]; 
    [[NSUserDefaults standardUserDefaults] removePersistentDomainForName:appDomain]; 

    [MagicalRecord saveWithBlockAndWait:^(NSManagedObjectContext *context) { 
     [[NSManagedObjectModel MR_defaultManagedObjectModel].entities enumerateObjectsUsingBlock:^(NSEntityDescription *entityDescription, NSUInteger idx, BOOL *stop) { 
      [NSClassFromString([entityDescription managedObjectClassName]) MR_truncateAllInContext:context]; 
     }]; 
    }]; 
} 
+0

से हटाए जाने कहाँ मैं इस रखना चाहिए की आवश्यकता है? ViewDidLoad() की शुरुआत में? – Andrej

+2

@Andrej, इस विधि को अपने ऐपडिलेगेट में '[MagicalRecord setupCoreDataStack]' पंक्ति के ठीक बाद कॉल करें। लेकिन ध्यान दें कि आपको अपने ऐप को सभी डेटा मैन्युअल रूप से साफ करना होगा ** ** कहीं कहीं लिख सकता है। –

3

हाँ आप कर सकते हैं।

https://github.com/libimobiledevice/ideviceinstaller

आप बैश वातावरण में ideviceinstaller --uninstall <app-id> उपयोग करने की क्षमता लाता है कौन सा प्राप्त करें।

तो जैसे, xcode में अपने निर्माण विन्यास में एक स्क्रिप्ट कार्य करें: http://www.runscriptbuildphase.com/

+0

मुझे इसे जोड़ने दें, ** ideviceinstaller ** को स्थापित करने का आसान तरीका है [macappstore.org/ideviceinstaller](http://macappstore.org/ideviceinstaller/) – SirEnder

+0

में निर्देशों का पालन करना है, यदि आप ' --uninstall' कमांड, आपको त्रुटि मिलती है: ** "लॉकडॉन्ड से कनेक्ट नहीं हो सका।" बाहर निकलें। "**, फिर यहां जाएं: [github.com/libimobiledevice/ideviceinstaller/issues/58 ](https://github। com/libimobiledevice/ideviceinstaller/मुद्दों/58) – SirEnder

संबंधित मुद्दे