iPhone SDK - إضافة محتوى مضغوط في الموارد ثم فكه إلى مجلد المستندات

StackOverflow https://stackoverflow.com/questions/1463967

  •  13-09-2019
  •  | 
  •  

سؤال

لدي بعض الموارد (مضغوط) يجب أن يتم شحنها باستخدام تطبيق iPhone الخاص بي. عندما يطلق التطبيق لأول مرة، يحتاج هذا الملف المضغوط إلى نقل / نسخ إلى مجلد المستندات وفك ضغطه هناك. يمكن للمستخدم ثم إضافة المزيد من الملفات إلى هذا المسار من التطبيق. هل يمكن لشخص يرجى اقتراح كيف يمكنني تحقيق ذلك؟

شكرا!

هل كانت مفيدة؟

المحلول

بناء على تعليقك أعلاه:

السبب في أنني أرغب في إضافة مورد مضغوط لأن هناك ملفات متعددة. إذا لم أقم بضغط، فستحتاج إلى نقل الملفات بشكل فردي. سأحتاج أيضا إلى الحفاظ على قائمة الملفات في مكان ما حتى أتمكن من قراءة اسم الملف ثم نقلها. اعتقدت أن الزفر والتفتت كان حل أبسط.

يمكنك إضافة جميع الملفات إلى مجلد في حزمة الخاص بك. عند بدء تشغيل التطبيق لأول مرة، استخدم التعداد السريع للتشغيل من خلال المجلد وما وجده في هذا المجلد، فهو نسخ في مجلد المستندات. مناولة المجلدات داخل المجلدات هي أكثر تعقيدا قليلا (إضافة العودية). وبهذه الطريقة لا داعي للقلق بشأن الرمز البريدي أو القطران، ولا للحفاظ على دليل الملفات المراد تثبيتها.

ما عليك سوى وضع مجلد الملفات التي تريدها في مجلد موارد XCode وتخبره باستيراد كجلد غير كمجموعة. بهذه الطريقة يتم تثبيت الملفات في مواردك داخل مجلد بدلا من مجرد ملفات فردية في كل مكان.

تعديل:

الأفضل من ذلك، افعل ما أقوله حول وضع جميع الملفات التي تريدها في مجلد واحد، أضف إلى مشروعك، ولكن ليس ك "مجموعة"، ثم استخدام التشغيل الأول:

[[NSFileManager defaultManager] copyItemAtPath:(NSString *)srcPath toPath:(NSString *)dstPath error:(NSError **)error];

وسوف نسخ دليلك بأكمله من مكان إلى آخر. سهل!

نصائح أخرى

أضف ال libz.dylib إطار إلى مشروعك، وتشمل Deusty's NSData Gzip الفئة والتي سوف تعطيك أساليب الضغط / الضغط.

في حين أن هذا متاح باستخدام libz.dylib، إلا أنه ليس من الضروري حقا أنه يوفر لك مساحة قليلة (إن وجدت). تم ضغط حزمة التطبيق بالفعل عند نقلها إلى الهاتف. الضغط على رأس الضغط عادة ما ينتج عنه ضغط إضافي قليلا.

جربه بنفسك. قد تجد أن Shipping تطبيقك باستخدام محتويات غير مدهومة قد يستغرق الأمر مجرد مساحة كحتويات مضغوطة.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top