كيف يمكنني تحميل تمثيل nsimage للرمز لتطبيقي؟

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

  •  20-09-2019
  •  | 
  •  

سؤال

لدي ملف رمز مخصص (myapp.icns) تم إعداده لتطبيق الكاكاو الخاص بي. كيف يمكنني الوصول إلى NSImage تمثيل الرمز من داخل طلبي؟

شيء مثل ما يلي سيكون مثاليًا:

NSImage * iconImage = [MyApplication defaultIconAsImage];

لكنني متأكد من أنه ليس كذلك الذي - التي سهل :)

بالطبع ، يمكنني الحصول على طريق إلى ملف الأيقونة على النحو التالي:

NSString * iconPath = [[NSBundle mainBundle]
                       pathForResource:@"MyApp" ofType:@"icns"];

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

ما هي الطريقة الصحيحة للقيام بهذا العمل؟

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

نصائح أخرى

فقط من أجل الاكتمال - هذه هي الطريقة التي تحصل بها على الرمز لأي تطبيق أو ملف على نظامك.

NSImage *iconImage = [[NSWorkspace sharedWorkspace] iconForFile:@"path"];

تمرير في المسار إلى حزمة التطبيق للحصول على أيقونة التطبيق أو المسار إلى ملف للرمز المرتبط بالملف.

لاحظ أن -[NSApplication applicationIconImage] لا تُرجع الرمز الصحيح عندما يتم لصق أيقونة مخصصة على التطبيق. ثم عليك القيام بذلك:

NSString* appPath = [[NSBundle mainBundle] bundlePath];
NSImage* appIcon = [[NSWorkspace sharedWorkspace] iconForFile:appPath];

(الرجوع إلى رمز أيقونة قفص الاتهام الذي كتبته لـ Chromium: http://src.chromium.org/svn/trunk/src/chrome/browser/ui/cocoa/dock_icon.mm)

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