سؤال

لدي تطبيق iPhone. يبدو أنها تعمل بشكل جيد. عندما أقوم بالاتصال بجهاز iPhone المؤلفة إلى Xcode وتشغيل التطبيق، فإن سجل وحدة التحكم في نافذة المنظم، يشكو دائما من خطأ تجزئة عند الإقلاع عن التطبيق مع مفتاح المنزل.

هل رأى أي شخص آخر هذا، وهل لديك فكرة عما قد تكون المشكلة؟ يمكنني استخدام مؤشر ترابط لتحميل صفحات الويب في BACROUND، لكنني أوقف الموضوع عند الخروج.

يقوم تطبيقي بحفظ بعض المعلومات المستمرة. عندما أقوم باستخدام وظيفة الإنشاء وتحليل، أحصل على حوالي 2 تسرب ذاكرة محتملة، ولكن في كل حالة تخصيص كائن واحفظه في صفيف.

أي أفكار، أم أن هذا طبيعي؟

هل كانت مفيدة؟

المحلول

حاول تشغيل التطبيق الخاص بك مع NSZombieEnabled. سيؤدي ذلك إلى إخبارك إذا كنت فوق إصدار أي كائن. لتمكين الكسالى تفعل ما يلي:

  1. اختر Project> تحرير القابل للتنفيذ النشط لفتح نافذة المعلومات القابلة للتنفيذ.
  2. انقر فوق الحجج.
  3. انقر فوق الزر "إضافة (+) في قسم" المتغيرات المراد تعيينها في البيئة ".
  4. أدخل NSZombieEnabled في عمود الاسم ونعم في عمود القيمة.
  5. تأكد من تحديد علامة اختيار NSZombieEnabled الدخول.

نصائح أخرى

عند الخروج، يمكن للتطبيق الخاص بك الإفراط في الإفراج عن كائن حاول إغراق كل كائن قبل إبرازه أو القيام ببعض عمليات التصحيح في طريقة Deallec.

ربما تقوم بإصدار بعض الأوقات أكثر من عدد الاحتفاظ بها. تصريح علني -release مكالمات في الخاص بك dealloc الأساليب (أو في أي مكان آخر) حتى تجد الجاني.

ثم uncomment-out التي الاتصال وتبدو في مكان آخر في التعليمات البرمجية حيث تحاول الإفراط في الإفراط في الإفراج عن هذا الكائن.

إذا كنت تستخدم أساليب الراحة، على سبيل المثال، (على سبيل المثال [NSString stringWithFormat:@"..."]) في مقابل alloc-init الأساليب (على سبيل المثال [[NSString alloc] initWithFormat:@"..."]) كائن الراحة الناتج هو AutoreLeased ويجب عدم إصداره يدويا.

كانت مشكلتي UIDIDFaker ومحولهولي من Cydia، وبعد إلغاء تثبيتها تشغيل Xcode على iPhone على ما يرام.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top