मैंने Cydia के लिए एक ट्वीक लिखा, यह स्टेटस बार में एक आइकन जोड़ता है। यह होम स्क्रीन पर ठीक काम करता है और जब स्प्रिंगबोर्ड लॉन्च किया जाता है, तब भी, यदि कोई ऐप पहले से लॉन्च किया जाता है, तो यह ठीक काम करता है, हालाँकि, यदि कोई ऐप (जैसे कि फेसबुक या ट्विटर) बंद है (पूरी तरह से) और आइकन दिख रहा है, जब ऐप लॉन्च करने पर, यह आइकन को गायब कर देगा। आइकन इस कोड का उपयोग करके libStatusBar का उपयोग करके प्रदर्शित किया गया है:
if(icon) // if icon needs to be removed
{
[icon release];
icon = nil;
}
...
// add the icon to the status bar
icon = [[%c(LSStatusBarItem) alloc] initWithIdentifier:[NSString stringWithFormat:@"muteIconLablabla"] alignment:StatusBarAlignmentRight];
icon.imageName = [NSString stringWithFormat:@"Mute"];
मैंने libStatusBar
README फ़ाइल में सुझाए गए तरीकों का उपयोग करने का भी प्रयास किया
[[UIApplication sharedApplication] addStatusBarImageNamed:@"ON_Mute"]; // and removeStatusBarImageNamed:...
मैंने -(id)init
वहां आइकन को ओवरराइड करने और अपडेट करने का प्रयास किया , लेकिन वही परिणाम।
ऊपर दिखाए गए कोड को एक static void
फ़ंक्शन से बुलाया जा रहा है। इस फ़ंक्शन को कई बार कहा जा रहा है, उदाहरण के लिए और -(void)applicationDidFinishLaunching:(id)application
नीचे से%hook SpringBoard
-(void)ringerChanged:(int)changed
सब अंदर Tweak.xm
। iOS7
साथ ही समस्या होती है ।