गायब हो जाता है मैं कुछ महीनों के लिए कुछ भी काम नहीं करने के बाद कोको विकास में वापस आना शुरू कर रहा हूं। मूल रूप से जब मैंने शुरू किया था तो मैं हिम तेंदुए और एक्सकोड 3 का उपयोग कर रहा था। अब मैं एक्सकोड 4.2 के साथ शेर चला रहा हूं और मैं कुछ मुद्दों पर चल रहा हूं जो मैंने पहले नहीं चला था।NSStatusItem लॉन्च पर संक्षिप्त रूप से प्रकट होता है, लेकिन तुरंत
मुझे विश्वास है कि शायद यह तथ्य है कि मैंने पहले कभी एआरसी का उपयोग नहीं किया है, इसलिए मुझे यकीन है कि मुझे कुछ याद आ रहा है।
मैं मुख्य विंडो या डॉक आइकन के बिना स्टेटसबार एप्लिकेशन बनाने की कोशिश कर रहा हूं। जब मैं एप्लिकेशन चलाता हूं तो मेरे आवेदन के लिए स्टेटसबार आइकन संक्षिप्त रूप से दिखाई देता है, लगभग एक सेकंड के लिए, लेकिन फिर गायब हो जाता है।
मेरा कोड है।
QuickPlusAppDelegate.h
#import <Cocoa/Cocoa.h>
@interface QuickPlusAppDelegate : NSObject <NSApplicationDelegate>
@property (assign) IBOutlet NSWindow *window;
@property (assign) NSStatusItem *statusItem;
@property (weak) IBOutlet NSMenu *statusItemMenu;
@property (strong) NSImage *statusItemIcon;
@property (strong) NSImage *statusItemIconHighlighted;
@property (strong) NSImage *statusItemIconNewNotification;
@end
QuickPlusAppDelegate.m
#import "QuickPlusAppDelegate.h"
@implementation QuickPlusAppDelegate
@synthesize statusItemMenu = _statusItemMenu;
@synthesize window = _window, statusItem = _statusItem;
@synthesize statusItemIcon = _statusItemIcon,
statusItemIconHighlighted = _statusItemIconHighlighted,
statusItemIconNewNotification = _statusItemIconNewNotification;
- (void) awakeFromNib
{
NSBundle *appBundle = [NSBundle mainBundle];
_statusItemIcon = [[NSImage alloc] initWithContentsOfFile:[appBundle pathForResource:@"statusItemIcon" ofType:@"png"]];
_statusItemIconHighlighted = [[NSImage alloc] initWithContentsOfFile:[appBundle pathForResource:@"statusItemIconHighlighted" ofType:@"png"]];
_statusItemIconNewNotification = [[NSImage alloc] initWithContentsOfFile:[appBundle pathForResource:@"statusItemIconNewNotification" ofType:@"png"]];
_statusItem = [[NSStatusBar systemStatusBar] statusItemWithLength:NSVariableStatusItemLength];
[_statusItem setImage:_statusItemIcon];
[_statusItem setAlternateImage:_statusItemIconHighlighted];
[_statusItem setHighlightMode:YES];
}
- (void)applicationDidFinishLaunching:(NSNotification *)aNotification
{
// empty
}
@end
संपादित तुम मेरे कोड के साथ कुछ भी गलत दिखाई देता है तो कृपया मुझे पता है। मैं निश्चित रूप से कुछ आलोचना करता हूं ताकि मैं बेहतर हो सकूं।
एक और संपादित करें ऐसा लगता है जैसे मुख्य विंडो स्वयं लोड होने पर स्टेटसबार आइकन गायब हो जाता है।
अपने कोड के लिए सुझाव: अपने वर्तमान छवि लोडिंग कोड के बजाय [appbundle imageForResource: @ "statusItemIcon"] का उपयोग करें। यह तेज़ होना चाहिए, पारदर्शी रूप से @ 2x छवियों का समर्थन करें, कोड परिवर्तनों के बिना गैर-पीएनजी का समर्थन करें, और पढ़ने में आसान है :) –
@Catfish_Man धन्यवाद! यही वह आलोचना है जिसे मैं ढूंढ रहा हूं! –