سؤال

أنا أستخدم Xcode لبناء تطبيق iPhone، حيث أود أن أعالجها خارجيا الملف Plist Info Plist بنفس الطريقة التي تعمل بها خطوة بناء Xcode الموضحة أدناه

Processing /Users/kte/Projects/build/Debug-iphonesimulator/TestAppGen.app/Info.plist TestAppGen-Info.plist
mkdir /Users/kte/Projects/build/Debug-iphonesimulator/TestAppGen.app
cd /Users/kte/Projects/TestAppGen
setenv PATH "/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin:/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin"
<com.apple.tools.info-plist-utility> TestAppGen-Info.plist -genpkginfo /Users/kte/Projects/build/Debug-iphonesimulator/TestAppGen.app/PkgInfo -expandbuildsettings -format xml -o /Users/kte/Projects/build/Debug-iphonesimulator/TestAppGen.app/Info.plist

يشير هذه المقتطفات من سجل الإنشاء إلى COM.APPLE.TOOLS.Info-plist-idility، والتي جمعتها من مصادر مختلفة حول الشبكة، هي أداة مساعدة داخلية Xcode.

هل من الممكن تشغيل COM.APPLE.TOOLS.Info-Verist-Utility من سطر أوامر؟

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

المحلول

يمكنك استخدام أداة تسمى PlistBuddy، /usr/libexec/PlistBuddy, ، إلقاء نظرة على صفحة الرجل.

ولكن ستحتاج أيضا إلى تحويل المعطر إلى ملف متقطع ثنائي. هذا يمكن القيام به مثل هذا في البرنامج النصي

plutil -convert binary1 "$TARGET_BUILD_DIR/$INFOPLIST_PATH"

نصائح أخرى

الجواب "بلوتيل" بداية رائعة. لسوء الحظ، تقوم عملية بناء XCODE بأكثر من ملف info.plist من تحويلها إلى ثنائي، على سبيل المثال على نظامي يضيف في الحقول:

-MinuMosVersion.
-platformname.
-CFBundleExecutable.
-Sdkname.
- cfbundleresourcespecification.
- cfbundlesupportedplatforms.

بحسب ال وثائق أبل ليس من المفترض أن تقوم بإعداد بعض هذه القيم بنفسك:

الحد الأدنى

الحد الأدنى (سلسلة). عند إنشاء تطبيق iPhone، يلاحظ xcode نظام التشغيل الهدف (كما هو محدد بواسطة اختيار SDK الأساسي) كخاصية MiniMiMosVersion. لا تحدد هذه الخاصية بنفسك في الملف. إنه خاصية مكتوبة للنظام. عند نشر طلبك إلى متجر التطبيقات، يشير المتجر إلى إصدار نظام التشغيل iPhone الذي يمكن أن يعمل فيه تطبيقك بناء على هذه الخاصية. إنه يعادل خاصية lsminimumsystemversion على Mac OS X.

أنا أركض في جميع أنواع المشاكل التي تحاول إعادة توقيع طلبي كجزء من عملية بناء المخصص الخاصة بي.

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