كيفية إنشاء ملف مضغوط بنفس تنسيق عنصر القائمة "الضغط" في Finder؟

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

  •  01-07-2019
  •  | 
  •  

سؤال

في نظام التشغيل Mac OS X، يمكنك إنشاء أرشيف مضغوط من Finder عن طريق تحديد بعض الملفات واختيار "ضغط" من القائمة السياقية أو قائمة "ملف".لسوء الحظ، الملف الناتج ليس مطابقًا للأرشيف الذي تم إنشاؤه بواسطة ملف zip الأمر (مع الخيارات الافتراضية).

هذا التمييز مهم لخدمة واحدة على الأقل تديرها شركة Apple، والتي تفشل في قبول الأرشيفات التي تم إنشاؤها باستخدام zip يأمر.إن الاضطرار إلى إنشاء أرشيفات يدويًا يمنعني من أتمتة عملية إنشاء الإصدار بشكل كامل.

كيف يمكنني إنشاء أرشيف مضغوط بالتنسيق الصحيح داخل برنامج Shell النصي؟

يحرر:منذ أن كتبت هذا السؤال منذ فترة طويلة، اكتشفت أن الفرق الرئيسي بين ditto و zip هي كيفية تعاملهم مع الروابط الرمزية:نظرًا لأن توقيع التعليمات البرمجية داخل حزمة التطبيق يحتوي على رابط رمزي، فيجب الاحتفاظ به كرابط وعدم تخزينه كملف عادي. ditto يفعل هذا بشكل افتراضي، ولكن zip لا (الخيار -y مطلوب).

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

المحلول

استخدم أداة سطر الأوامر كما سبق كما يلي:

ditto -ck --rsrc --sequesterRsrc folder file.zip

انظر كما سبق صفحة الرجل للمزيد من.

نصائح أخرى

لدي برنامج نصي روبي يجعل iPhone App Store يصمم لي، ولكن الملفات المضغوطة التي كان ينشئها لن يتم قبولها بواسطة iTunes Connect.تم قبولها إذا استخدمت وظيفة "الضغط" الخاصة بـ Finder.

لقد اقتربت إجابة ميلينومي بالنسبة لي، ولكن هذا الأمر هو ما نجح في النهاية.قبل iTunes Connect الإصدار الخاص بي، وتمت الموافقة على التطبيق ويمكن تنزيله دون أي مشكلة، لذلك تم اختباره.

ditto -c -k --sequesterRsrc --keepParent AppName.app AppName.zip

يقول الرجل كما سبق:

 The command:
       ditto -c -k --sequesterRsrc --keepParent src_directory archive.zip
 will create a PKZip archive similarly to the Finder's Compress functionality.

إشعار --keepParent

الفكرة موجودة في علامة "الأتمتة".

أنشئ إجراءً في Automator.app يستخدم إجراء "إنشاء أرشيف"، واستدعاه من سطر الأوامر (راجع "automator").

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