ไอคอน LibStatusBar หายไปจากการเปิดตัวแอปของบุคคลที่สาม


152

ฉันเขียน tweak สำหรับ Cydia มันเพิ่มไอคอนลงในแถบสถานะ มันทำงานได้ดีบนหน้าจอหลักและเมื่อเปิดตัว SpringBoard เช่นกันหากมีการเปิดตัวแอปแล้วก็ทำงานได้ดีอย่างไรก็ตามหากปิดแอพ (เช่น Facebook หรือ Twitter) (สมบูรณ์) และไอคอนจะปรากฏขึ้นเมื่อ เมื่อเปิดแอพจะทำให้ไอคอนหายไป ไอคอนถูกแสดงโดยใช้ 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เช่นกัน

คำตอบ:


2

เป็นเวลานานแล้วที่ฉันใช้ libstatusbar แต่ถ้าคุณแน่ใจLSStatusBarItemว่าไม่ได้เปิดตัวมันเป็นไปได้ที่ Springboard หรือแอพอื่นซ่อนอยู่ พิจารณาการตั้งค่าicon.visible = YESอย่างชัดเจน นอกจากนี้คุณยังอาจต้องการที่จะต้องพิจารณาการตั้งค่าtimeHiddenในLSStatusBarServerการNOอย่างชัดเจนโดยการเรียก[item setHidesTime:NO]อย่างชัดเจนโดยการเรียก

นอกจากนี้หากคุณไม่ได้ทำการเปลี่ยนแปลงไอคอนให้ตั้งค่า icon.manualUpdate = NOกับไอคอนชุด

อ้างอิง:

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.