plist (قائمة الممتلكات) ملف md5sum التغييرات عند تجميعها في اي فون التطبيق

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

  •  16-09-2019
  •  | 
  •  

سؤال

أنا بما في ذلك plist في اي فون بلدي التطبيق.هو في تنسيق ثنائي (باستخدام plutil لتحويل من xml الثنائية).أريد أن MD5 المجموع الاختباري (أو SHA-1) على ذلك في وقت التشغيل للتأكد من محتوياته ما هو متوقع.للأسف, أنا دائما الحصول على اختباري مختلف عن ما كنت أصلا.بعد أكثر من ساعة من افتراض كنت لحساب MD5 sum الخطأ ، قررت تشغيل اختبار وتأكيد أن وحدات البايت هي في الواقع نفس.أنها ليست كذلك.حجم الملف لا يزال هو نفسه ، ولكن ابتداء من الساعة بايت 30 على مدار الملف (باستثناء الماضي 32 بايت), محتويات الملف هي مختلفة تماما.لا أحد يعرف إذا كان العقار قائمة الملفات توقيع أو "تجميع" مختلفة تنسيق ثنائي قبل إدراجها في اي فون التطبيق ؟ إذا كان الأمر كذلك, يمكنك توفير المزيد من التفاصيل عن هذه العملية ؟

شكرا مقدما!

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

المحلول

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

لا أعرف ما إذا كان هذا هو ما يسبب تغيير في ملف PLIST الخاص بك، ولكن إذا كنت ترغب في الحصول على معلومات الملف الموجودة في ملف Plist نفسه في مشروعك وتغيير نوع الملف من "النص" إلى "نص" فقط "نص". يجب أن يتسبب ذلك في تعامل XCode بمعالجة ذلك كملف نصي عادي بدلا من ملف قائمة الخصائص وإجراء نسخة مستقيمة بدلا من تشغيلها من خلال أداة CopyPlistFile.

نصائح أخرى

سوف البوب لماذا كومة على هذا السؤال.أنا لا أعرف الجواب على سؤالك, ولكن أنا الغريب لماذا كنت قضاء بعض الوقت على ذلك.

منذ التطبيقات الموقعة رقميا ، لماذا أنت قلقة بشأن سلامة PList ؟ إذا كان شخص ما تعديله ، ثم التطبيق لن تثبيت لأن التوقيع الرقمي لم تعد صالحة.

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

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