يمكنني برمجيا الوجه القيم Info.plist في حين طلبي قيد التشغيل؟

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

  •  07-07-2019
  •  | 
  •  

سؤال

وأنا مهتم في استخدام SBUsesNetwork وUIRequiresPersistentWiFi المفاتيح في طلبي. ومع ذلك، أود أن تمكنهم فقط عند استخدام مجموعة معينة من وحدات تحكم الرأي. هل هناك طريقة لقلب تلك القيم الأساسية برمجيا أثناء تشغيل التطبيق؟

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

المحلول

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

نصائح أخرى

وأنا أعلم أنك يمكن أن تحصل info.plist الخاص باعتباره NSDictionary عبر <لأ href = "http://developer.apple.com/iPhone/library/documentation/Cocoa/Reference/Foundation/Classes/NSBundle_Class/Reference/Reference هتمل "يختلط =" نوفولو noreferrer "> NSBundle بما يلي:

NSDictionary* infoDictionary = [[NSBundle mainBundle] infoDictionary];

ومن هناك كنت قد جعل mutableCopy من NSDictionary وتعيين قيم فيه. عند إجراء الاستعلامات إلى مفاتيح سيكون لديك للتأكد من الاستعلام عن NSDictionary وليس ملف info.plist الخاص بك، ولكن لا ينبغي أن يكون من الصعب أن تغلف كل هذا إلى الفئة التي يتعامل مع كل المشاكل بالنسبة لك.

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

ولا تستطيع تعديل Info.plist. لا يبدو أن أبل طريقة يعاقب من فعل ما كنت بعد.

وأنا لا أعتقد أن هذا سوف يعمل. [NSBundle mainBundle] لديه مؤشر إلى infoDictionary محددة. على الرغم من أن تأخذ نسخة قابلة للتغيير، فإن NSBundle لا أعرف أي شيء عن لدينا بليست الجديد. حاول احد حتى الآن؟

وInfo.plist ليس سوى القاموس. وبالتالي فإنه يمكن تحريرها.

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