2011-10-16 13 views
7

मैं अपने आईफोन ऐप में एक अनार फाइल विकल्प शामिल करना चाहता हूं।क्या आईओएस के लिए वहां एक अनार पुस्तकालय है?

मैं पहले से ही https://github.com/ararog/Unrar4iOS की कोशिश की है, लेकिन इस पुस्तकालय पूरा नहीं हुआ है (कुछ कार्यों अभी तक की तरह लागू नहीं किया जाता है - (bool) unrarFileTo: (NSString *) पथ के ऊपर लिख: (bool) के ऊपर लिख)

धन्यवाद।

+0

भविष्य में संदर्भ के लिए, आप बेहतर खोज परिणाम मिलेंगे यदि आप "भाषा और एपीआई" बनाम "ओएस" पर विचार करें, अन्यथा आप पूरी तरह से अच्छा ली को खो देंगे ब्रैरी और नमूना कोड जो आईओएस या मैक ओएस एक्स पर समान रूप से अच्छी तरह से काम करता है। व्यापक परिणामों के लिए "अनार ऑब्जेक्ट-सी" से शुरू करें। –

+0

कृपया साइट पर खोजें। इससे पहले आधा दर्जन बार पूछा गया है। –

+0

स्पष्ट रूप से मैंने इस सवाल से पूछने से पहले बड़े पैमाने पर खोज की। – Alex1987

उत्तर

5

का सुपरसेट मैं Unrar4ios का उपयोग कर समाप्त हो गया है, लेकिन मैं अपने आप को समारोह लिखने के लिए की जरूरत है कि वास्तव में rar फ़ाइल निकालता है:

-(BOOL) unrarFileTo:(NSString*)path overWrite:(BOOL)overwrite { 

    int RHCode = 0, PFCode = 0; 

    [self _unrarOpenFile:filename mode:RAR_OM_EXTRACT]; 

    while ((RHCode = RARReadHeaderEx(_rarFile, header)) == 0) { 

     if ((PFCode = RARProcessFile(_rarFile, RAR_EXTRACT, (char *)[path UTF8String], NULL)) != 0) { 
      [self _unrarCloseFile]; 
      return NO; 
     } 

    } 

    [self _unrarCloseFile]; 


    return YES; 
} 
+3

मूल परियोजना की सहायता के लिए, जिथूब पर पुल अनुरोध सबमिट करने पर विचार करें। – Moshe

+0

@ मोशे: ग्लेडली। समस्या यह है कि मैं जिथब से बहुत परिचित नहीं हूं - क्या आप कृपया मुझे एक संक्षिप्त स्पष्टीकरण (या एक लिंक) दे सकते हैं कि यह कैसे करें? – Alex1987

+0

मैं खुद गिटहब समर्थक नहीं हूं, लेकिन अनिवार्य रूप से, आपको रेपो को फोर्क करने, अपने बदलाव करने, प्रतिबद्धता को धक्का देने और फिर पुल का अनुरोध करने की आवश्यकता है। अगर मुझे कोई मिल जाए तो मैं एक लिंक ले जाऊंगा। – Moshe

4

यह मदद कर सकता है: https://github.com/ararog/Unrar4iOS

+0

अपडेट किया है मैंने पहले से ही इस लाइब्रेरी को आजमाया है - लेकिन यह कुछ हद तक अपूर्ण है। यदि आप स्रोत को देखते हैं तो आप देखेंगे कि कुछ फ़ंक्शन सबसे महत्वपूर्ण रूप से लागू नहीं किए गए हैं - (BOOL) unrarFileTo: (NSString *) पथ ओवरवाइट: (BOOL) ओवरराइट करें। – Alex1987

+1

@Alex: क्या आपने उदाहरण प्रोजेक्ट को देखा है जो इसके साथ आता है? विशेष रूप से -decompress: ./UnrarExample/Classes/UnrarExampleViewController.mm की विधि? ठीक काम करने लगता है। –

+0

@ जोशुआनोज़ज़ी यह काम करता है क्योंकि वह एक्स्ट्रेक्टस्ट्रीम नामक एक अलग विधि का उपयोग करता है, जो मूल रूप से आपको एनएसडीटा ऑब्जेक्ट देता है। जब हम छवियों (जैसे प्रोजेक्ट में) के बारे में बात कर रहे हों तो यह काम कर सकता है - लेकिन जब बड़ी फाइलों की बात आती है तो नहीं। – Alex1987

0

unrarlib पुस्तकालय, आप के लिए काम करना चाहिए क्योंकि उद्देश्य सी सी

+0

क्या आपने वास्तव में इसे आजमाया है? यह एक बहुत पुरानी परियोजना है (2002-2004) और रार 3.x अभिलेखागार का समर्थन नहीं करता – Alex1987

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