Tôi đã viết một tinh chỉnh cho Cydia, nó thêm một biểu tượng vào thanh trạng thái. Nó hoạt động tốt trên màn hình chính và khi SpringBoard được khởi chạy, đồng thời, nếu một ứng dụng đã được khởi chạy thì nó vẫn hoạt động tốt, tuy nhiên, nếu một ứng dụng (như Facebook hoặc Twitter) bị đóng (hoàn toàn) và biểu tượng sẽ hiển thị, khi nào Khởi chạy ứng dụng, nó sẽ khiến biểu tượng biến mất. Biểu tượng được hiển thị bằng libStatusBar bằng mã này:
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"];
Tôi cũng đã thử sử dụng các phương thức được đề xuất trong libStatusBar
tệp README
[[UIApplication sharedApplication] addStatusBarImageNamed:@"ON_Mute"]; // and removeStatusBarImageNamed:...
Tôi đã thử ghi đè -(id)init
và cập nhật biểu tượng ở đó, nhưng kết quả tương tự.
Mã được hiển thị ở trên đang được gọi từ một static void
chức năng. chức năng này đang được gọi nhiều lần, ví dụ từ -(void)applicationDidFinishLaunching:(id)application
bên dưới %hook SpringBoard
và-(void)ringerChanged:(int)changed
Tất cả bên trong Tweak.xm
. Vấn đề xảy ra iOS7
là tốt.