نکاتی برای بهبود جریان کار در Xcode — به زبان ساده

۵۶ بازدید
آخرین به‌روزرسانی: ۲۸ شهریور ۱۴۰۲
زمان مطالعه: ۳ دقیقه
نکاتی برای بهبود جریان کار در Xcode — به زبان ساده

Xcode یک ابزار جالب برای ایجاد اپلیکیشن‌های iOS محسوب می‌شود؛ اما در برخی موارد ممکن است پیچیده به نظر بیاید و موجب کند شدن جریان کاری شما بشود. در این مقاله برخی نکات که برای بهبود جریان کاری Xcode مورد نیاز هستند را ارائه کرده‌ایم که امیدواریم موجب صرفه‌جویی در زمان و انرژی شما بشوند.

1. ردگیری زمان‌های مورد نیاز Xcode برای Build

زمان‌های Build یکی از منفی‌ترین نکات در مورد Xcode هستند. برای بهبود همه چیز نخست باید روشی برای اندازه‌گیری آن داشته باشیم. برای اندازه‌گیری زمان‌های build در Xcode برحسب ثانیه باید ترمینال را باز کنید و دستور زیر را در آن وارد کنید:

defaults write com.apple.dt.Xcode ShowBuildOperationDuration -bool YES

پس از آن، باید Xcode را ری‌استارت کنید تا تغییر را مشاهده کنید. در این صورت می‌بینید که زمان‌های Build پس از هر بار build کردن کد، در نوارابزار فوقانی نمایش می‌یابند:

Track Build times

اینک می‌دانیم که زمان مورد نیاز برای build کردن پروژه چه مقدار است و می‌توانیم از روش‌های مختلف که برای کاهش این زمان وجود دارند، استفاده کنیم.

2. ردگیری زمان‌های آغاز اپلیکیشن

سرعت باز شدن اپلیکیشن یکی از مهم‌ترین عوامل است که باید در هنگام ساخت اپلیکیشن در نظر بگیریم. کاربران انتظار دارند که اپلیکیشن‌ها بی‌درنگ اجرا شوند. یافتن منبع یک اجرای کُند می‌تواند دشوار باشد. به جز استفاده از «پروفایلر» (profiler) روش‌های دیگر برای اندازه‌گیری زمان آغازین اپلیکیشن و همچنین راهبردهای بهبود آن می‌تواند دشوار باشند.

یک روش برای بهبود زمان اجرا از طریق ردگیری همه چیز پیش از فراخوانی applicationDidFinishLaunching است. این همان جایی است که اپلیکیشن کتابخانه‌ها را مقداردهی می‌کند، و ObjC را راه‌اندازی کرده و dylibs را بارگذاری می‌کند. Xocde با استفاده از این متد زمان‌های بارگذاری را نمایش می‌دهد و هر بار که اپلیکیشن را اجرا کند، مواردی که باعث می‌شود این زمان، کند شود را در ترمینال نمایش می‌دهد.

به مسیر Product>Scheme>Edit Scheme بروید و زیر بخش run متغیر محیطی DYLD_PRINT_STATISTICS به صورت زیر اضافه کرده و مقدار آن را برابر با 1 قرار دهید.

Track app start time

اینک پس از هر build باید ببینید که زمان مورد نظر به صورت زیر در ترمینال نمایش می‌یابد:

Track app start time

برای یادگیری موارد بیشتر در مورد شیوه استفاده از این اطلاعات می‌توانید از مطالبی که در مورد بهبود زمان‌های آغازین اپلیکیشن در iOS ارائه شده است بهره بگیرید.

3. تغییر نام سریع

یافتن و جایگزینی نام یک متغیر در کد همواره کار دشواری محسوب می‌شده است؛ اما دیگر چنین نیست. کافی است دکمه CMD را فشرده و نگهدارید و همزمان روی متغیر یا تابعی که می‌خواهید تغییر نام دهید کلیک کنید. سپس از منوی باز شده گزینه rename را انتخاب کنید. بدین ترتیب هر کپی از این نام که در پروژه و حتی در استوری بوردها موجود باشد نیز تغییر پیدا می‌کند.

Quick rename

همچنین با استفاده از کلیدهای میانبر cmd+ctrl+e می‌توانید همه موارد مختلف را در همان دامنه به سرعت تغییر نام دهد. گرچه این میانبر شامل همه وهله‌های نام در کل پروژه نمی‌شود؛ اما با این حال، در برخی موارد مفید خواهد بود.

4. استفاده از breakpoints

همه‌ی ما میدانیم که استفاده از گزاره‌های print آسان است؛ اما در موارد متعدد، استفاده از «نقاط توقف» (breakpoints) بسیار آسان‌تر است و موجب صرفه‌جویی زمانی زیادی نیز می‌شود.

برای تعیین یک نقطه توقف باید روی شماره خط در کنار کدی که می‌خواهید متوقف شوید کلیک کنید و سپس پروژه خود را اجرا کنید. زمانی که پروژه به این خط کد برسد، اجرا متوقف می‌شود و می‌توانید مقدار همه متغیرها را با صرفاً بردن ماوس روی آن‌ها مشاهده کنید.

break points

به طور جایگزین می‌توانید از lldb برای نمایش آن‌ها در کنسول با دستور شیء print، برای نمونه po yourVariable استفاده کنید.

break points

نقاط توقف ممکن است پیچیده‌تر به نظر بیایند؛ اما زمانی که با برخی دستورهای lldb آشنا شوید و ابزارهای دیباگر دیگر Xcode را بشناسید، می‌بیند که در عمل موجب صرفه‌جویی زمانی زیادی می‌شود زیرا می‌توانید بدون این که مجبور باشید کل اپلیکیشن را به طور کامل از نو اجرا کنید، در یک نقطه توقف متوقف شوید.

زمانی که کار ارزیابی مقادیر پایان یافت، می‌توانید دکمه resume را بزنید و نقطه توقف را غیرفعال کنید تا دیگر کد در آن نقطه متوقف نشود.

break points

اگر این مطلب برای شما مفید بوده است، آموزش‌های زیر نیز به شما پیشنهاد می‌شوند:

==

بر اساس رای ۰ نفر
آیا این مطلب برای شما مفید بود؟
اگر بازخوردی درباره این مطلب دارید یا پرسشی دارید که بدون پاسخ مانده است، آن را از طریق بخش نظرات مطرح کنید.
منابع:
gabriel_lewis
نظر شما چیست؟

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *