سؤال

لديّ لايت ونسخة كاملة وأريد أن يعملوا مع ملفات التكوين المختلفة.

الآن أحتاج إلى الاستعلام ، داخل التطبيق ، إذا كان اسم التطبيق "Lite" فيه وتحميل ملف التكوين Corenters الذي لم أكن لأجده كيفية القيام بذلك. اي فكرة ؟ أم أن هناك عمومًا طريقة أفضل لذلك؟

شكرا مقدما هيكو

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

المحلول

محاولة

[[NSProcessInfo processInfo] processName]

هذا يرجع اسم العملية ، والذي عادة ما يكون اسم التطبيق الخاص بك.

نصائح أخرى

إذا كنت تريد ما تم وضعه في ملف info.plist ، فاستخدم:

NSString * displayName = [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleDisplayName"];

لديك تطبيق يحتوي على Main () في Main.m (إذا استخدمت قالبًا). يتم تمرير وسيطات سطر الأوامر ويجب أن يكون Argv [0] هو المسار الكامل للتطبيق ، والذي يمكنك تحليله. سيكون عليك حفظه في متغير عالمي.

يمكنك أيضًا التحقق من LaunchOptions في AppDelegate لمعرفة ما إذا كان هناك أيضًا.

جرب هذا من أجل سويفت:

if let appName = Bundle.main.infoDictionary?["CFBundleName"] as? String {
    print("App Name - \(appName)")
}

جرب هذا أيضًا ، إذا قمت بتعيين اسم العرض

if let displayName = Bundle.main.infoDictionary?["CFBundleDisplayName"] as? String {
    print("App Display Name - \(displayName)")
}

خدعة مفيدة:

// Print bundle info dictionary to get complete details about app
print("Bundle.main.infoDictionary - \(Bundle.main.infoDictionary)")
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top