قيمة السلسلة في Settings.Bundle فارغة بعد التحديث

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

  •  19-09-2019
  •  | 
  •  

سؤال

لأغراض ضمان الجودة، أقوم بعرض إصدار بناء التطبيق لدينا في عرض إعدادات التطبيق كأداة PStitleValuesPecifier. قمت بتعيين رقم بناء التطبيق الحالي الخاص بنا كإصدار DefaultValue وأنا قمت بتحديثه لكل بناء جديد.

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

لقد حاولت، قم بتنظيف المشروع وإعادة تجميعها ونشرها لكنني أحصل على نفس السلوك.

هل شهد أي شخص آخر هذه المشكلة؟ أي فكرة حول كيفية العمل حولها / إصلاحها؟

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

المحلول

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

NSString *value = [[NSBundle mainBundle] objectForInfoDictionaryKey:@"build_version"];
[[NSUserDefaults standardDefaults] setObject:value forKey@"build_version"];
[[NSUserDefaults standardDefaults] synchronize];

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

بالنسبة للحجة، فمن المعقول في الواقع أن تتوقع أن تقوم بإزالة الإصدار السابق تماما قبل رؤية تحديث رقم الإصدار، ولكن أكن أدرك أن جميع الأشخاص ضمان الجودة معقولة. ؛-)

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