لا يمكن الحصول على Nsalert لترتد أيقونة قفص الاتهام باستمرار
-
21-09-2019 - |
سؤال
يبدو أن لدي المشكلة المعاكسة تمامًا من هذا السؤال حول إيقاف ترتد الرصيف.
لا يمكنني الحصول على تطبيقي لترتد أيقونة قفص الاتهام باستمرار!
أنا أيضًا أكره رموز الرصيف باستمرار ، ولكن في هذه الحالة إذا لم يدرك المستخدم أن تطبيقي لا يمكن تشغيله ، فقد يفقد بيانات الوقت من تتبع الوقت.
إليك الرمز الذي وضعته في تطبيق ApplicateWivinShlaInchLaunching: الطريقة.
if (!AXAPIEnabled()) { // I'm checking that Accessibility is turned on
NSAlert *alert = [[NSAlert alloc] init];
[alert setAlertStyle:NSCriticalAlertStyle];
[alert setMessageText:@"Lapsus cannot run."];
[alert addButtonWithTitle:@"Open Accessibility Prefs..."];
[alert addButtonWithTitle:@"Quit"];
[alert setInformativeText:@"Lapsus needs \"Enable access for assistive devices\" in the Accessibility pane of System Preferences to be turned on."];
[NSApp activateIgnoringOtherApps:YES];
int attentionrequest = [NSApp requestUserAttention:NSCriticalRequest];
NSInteger returnValue = [alert runModal];
....
[NSApp cancelUserAttentionRequest:attentionrequest];
}
لقد حاولت إزالة خط الطلب.
لقد حاولت وضع خط requestUserattention في الكثير من الأماكن المختلفة: مباشرة قبل مكالمة Runmodal ، أول شيء وما إلى ذلك.
لقد حاولت إزالة خط ActivateIgnoringOperApps.
بغض النظر عن ما أفعله ، فإن أيقونة قفص الاتهام تتوقف مرة واحدة ثم تتوقف.
من المحتمل أن يرى المستخدم أن تطبيقي وأنا أحضره إلى المقدمة ، ولكن هناك احتمال أن ينقر في الوقت المناسب ، فسيخفي تطبيقه النشط رسالة الخطأ الحرجة.
لذلك أريد شيئًا حتى أنه حتى عندما يتم إخفاء رصيفهم ، فإنهم يعرفون شيئًا غير صحيح.
أنا أقوم ببناء هذا على Mac OS X 10.5 Leopard. أي أفكار حول ما أفعله خطأ؟ أم أن Leopard لم يعد يدعم رموز الرصيف باستمرار؟
تحديث:
كنت أضع استدعاء الطريقة في ApplicationWillFinishLaunching:
بمجرد أن أضعها في ApplicationDidFinishLaunching: ، وأزلت ActivateIgnoringOringOperPs: Call ، عملت كما هو مطلوب.
ومع ذلك ، لا يزال سؤالي هو "هل يمكنني إحضار تطبيقي إلى المقدمة وكذلك كذاب أيقونة قفص الاتهام؟ من الإجابة الأولى ، لا يبدو ذلك ، على الرغم من أنني لست متأكدًا من أنني أفهم السبب.
تحديث:
لم أفهم السبب لأنني لم أكن أفكر في ذلك. الآن بعد أن تمت الإشارة لي إلى أن سرقة التركيز يعني أن قفص الاتهام حصل على ما تريد ، فمن المنطقي تمامًا.
خاتمة
إذا كنت تريد انتباه المستخدمين ، فلا تستخدم [NSAPP ActivAteignoringOperApps: نعم] ؛
المحلول
إذا قمت بإرسال ActivAteGringOringOperApps ، فأنت ترفض الإخطار الخاص بك بشكل أساسي.