كيف إعادة تشغيل تطبيق iPhone بشكل برمجي في iOS
سؤال
كيف إعادة تشغيل تطبيق iPhone بشكل برمجي في iOS؟
أجد بهذه الطريقة http://writeitstudios.com/david/؟p=54
لكن قد يكون شيئًا بسيطًا.
المحلول
الطريقة الوحيدة التي أعرفها القيام بذلك ليست مثالية ، لكنها تعمل.
أولاً ، يتعين على تطبيقك إلغاء الاشتراك في تنفيذ الخلفية (تعدد المهام) يجب أن يتوقف التطبيق عند الخروج ، وليس تشغيله كمهمة خلفية. يتم ذلك مع uiapplicationexitsons eiapplicationoSseSspend Key Key.
ثانياً ، يحتاج التطبيق الخاص بك إلى تسجيل مخطط عنوان URL مخصص يمكن استخدامه لإطلاق التطبيق.
ثالثًا ، تحتاج إلى صفحة ويب مستضافة في مكان ما عند تحميلها سيتم إعادة توجيهها إلى نظام URL المخصص للتطبيق الخاص بك.
إلى اليسار ، يحتاج المستخدم إلى اتصال إنترنت نشط.
للخروج وإعادة التشغيل ، اتصل بـ UIApplication OpenUrl على صفحة الويب المستضافة المستضافة. سيخرج تطبيقك وسيقوم Safari بتشغيل صفحتك وتحميلها. ستقوم الصفحة بإعادة توجيه Safari إلى مخطط عنوان URL المخصص الخاص بك ، مما دفع Safari إلى الاتصال داخليًا OpenUrl ، مما تسبب في تشغيل iOS تطبيقك.
نصائح أخرى
إن مشاركتي التي ارتبطت بها هي الإشارة إلى تطبيق الكاكاو ، وليس iOS. على iOS ، يمكنك التوقف عن تطبيق (لكن Apple لا تحب هذا) باستخدام exit(0);
لكني لا أوصي بذلك. لا يمكنك إعادة تشغيل تطبيقات iPhone.
ما لم تكن تتطور للأجهزة المكسورة ، لن تسمح لك Apple حتى بإنهاء تطبيقك برمجيًا. لذا فإن إعادة تشغيل الجهاز أمر غير وارد.
لك AppDelegate
مثيل له طريقة
(void)applicationDidBecomeActive:(UIApplication *)application
{
}
هنا ، يمكنك وضع المنطق لمعرفة ما إذا كان يجب إعادة التشغيل ، أو الاستمرار في القيام بكل ما كان يفعله. على سبيل المثال ، يمكنك الحصول على ملف BOOL
عامل appMustRestart
إنه false
في البداية ولكن يتم تشغيله كما هو صحيح عندما يحدث شيء ما في تطبيقك ، تود أن تكون في المرة القادمة إعادة إطلاق جديد.
if (appMustRestart)
{
[self resetVars]; // call a method that resets all your vars to initial settings
// INSERT CODE HERE TO TRANSFER FOCUS TO INITIAL VIEWCONTROLLER
}