برنامه خود را بدون دستگاه فیزیکی تست کنید
آزمایش یک دوربین در شبیه ساز Xcode امکان پذیر است، اما مطمئنم که اکنون از خود می پرسید: چگونه؟!
سال هاست که این امکان وجود ندارد. به معنای واقعی کلمه هرگز امکان تست دوربین شبیه ساز وجود نداشته است. دیوانه است اگر به آن فکر کنید. شبیهساز اندروید حداقل قابلیتهای اساسی دارد، اما iOS همیشه از ما میخواهد که روی یک دستگاه فیزیکی اجرا کنیم.
از سال 2019 من در حال توسعه یک ابزار توسعه دهنده به نام RocketSim هستم. تنها هدف من همیشه این بوده است که شما را به یک توسعه دهنده سازنده تر تبدیل کنم. چیزی که مطمئناً میدانستم توسعهدهندگان را بازدهی بیشتری میدهد، آزمایش دوربین در شبیهساز بود. پس شروع شد…
مسیر من برای ساختن پشتیبانی از دوربین شبیه ساز
اگر می خواهید غیرممکن ها را بسازید از کجا شروع می کنید؟
برای سال ها، شبیه ساز اپل بدون تغییر باقی مانده است. ما چند پیشرفت کوچک داشتیم، اما واضح است که پیشرفتهای بزرگی مانند پشتیبانی از دوربین شبیهساز دریافت نخواهیم کرد. من فکر کردم که دلیلی وجود دارد، زیرا چگونه میتوانید آن را عملی کنید؟
برنامه من این بود که از دوربین مک شما به عنوان ورودی دوربین iOS استفاده کنم. منطقی است، درست است؟
پس از تلاش های فراوان در طول سال ها، بالاخره آن را به کار گرفتم:
اولین باری که این کار کرد، جادویی، شگفتانگیز بود، و من مطمئن هستم که پس از امتحان کردن، شما هم همین احساس را خواهید داشت.
نمی توانید صبر کنید؟ این ویژگی اکنون در اپ استور مک در دسترس است:
RocketSim را دانلود کنید
Plug & Play
اگر کاربر RocketSim هستید، میدانید که میخواهم کارها به خوبی اجرا شود.
- بدون تنظیمات پیچیده
- هیچ گواهی یا بسته ای برای همگام سازی وجود ندارد
برای اینکه این تابع را موفقیت آمیز نامید، باید همان را حساب کرد.
ویژگی نظارت بر شبکه اکنون کار می کند و به شما امکان می دهد تمام درخواست های شبکه URLSession را در یک پنجره اختصاصی نظارت کنید. این ویژگی نیاز به اتصال شما دارد RocketSimConnect فقط برای ساخت اشکال زدایی. این کمی کد است که به یک چارچوب موجود در RocketSim پیوند میدهد. اگر RocketSim را به روز کنید، بسته به طور خودکار همگام می شود.
من خوشحالم که آن را به اشتراک می گذارم ویژگی دوربین شبیه ساز RocketSim با تمام API های AVCaptureSession موجود شما کاملاً کار می کند. بله، درست خواندید، نیازی نیست منطق دوربین خود را تنظیم کنید یا حالت های پروتکل میانی را پیاده سازی کنید.
کمی بیش از حد خوب کار می کند
به اندازه کافی خنده دار، من آن را بسیار خوب کار کردم. شبیه ساز در واقع معتقد است که یک دستگاه سخت افزاری دوربین وجود دارد. تصمیم گرفتم زنگ بزنم RocketSimCaptureDevice، و اگر سازنده را چاپ کنید، می گوید “SwiftLee” ha!
در نتیجه، جلسه ضبط سعی می کند به دستگاه سخت افزاری متصل شود. این یک چالش است زیرا من واقعاً راهی برای پاسخ دادن و گفتن “ما به هم وصل شده ایم” ندارم. با این حال، شما متوجه این محدودیت نخواهید شد، و من راهی پیدا کرده ام که بتوانم همه چیز را یکپارچه کنم.
دوره 5 روزه رایگان ایمیل: The Swift Concurrency Playbook
الف دوره 5 روزه رایگان ایمیل افشای 5 اشتباه بزرگ توسعهدهندگان iOS با async/wait کار میکنند، که منجر به رد کردن App Store و پروژههای مهاجرت به جای چند روز، ماهها طول میکشد (حتی اگر سالها در حال نوشتن Swift باشید).
دوربین شبیه ساز: دوربین مک خود را به شبیه ساز استریم کنید
پس از چند ماه آزمایش، اکنون آماده اشتراک گذاری گسترده آن هستم. ما بسیاری از موارد لبه را حل کرده ایم و قبلاً آن را برای چندین تیم ثابت کرده ایم. سناریوهای رایج مانند اسکن بارکد یا اتصال قاب Vision باید فوراً کار کنند.
حتی این امکان وجود دارد که از آیفون خود با استفاده از دوربین تداومی استفاده کنید:
https://twitter.com/twannl/status/1928014373210972202
به عبارت دیگر، می توانید از شبیه ساز برای ساخت سریع استفاده کنید و در مواقع نیاز از گوشی خود استفاده کنید.
نحوه تست دوربین در شبیه ساز Xcode
- RocketSim را دانلود کنید
RocketSim را به صورت رایگان از اپ استور مک دانلود کنید
- سفارشی کردن RocketSim را تمام کنید
از آنجایی که RocketSim در یک جعبه ایمنی امنیتی قرار دارد، از شما میخواهد چندین مجوز را در فهرستهای برنامهنویس رایج اعطا کنید.
- RocketSim Connect را یکپارچه کنید
- ویژگی دوربین برنامه خود را فعال کنید
پس از راهاندازی، میتوانید از برنامهتان بهگونهای استفاده کنید که گویی روی یک دستگاه فیزیکی اجرا میشود.
و بس! در صورت مواجه شدن با سناریوهای غیرمنتظره، حتماً دستورالعمل های عیب یابی را دنبال کنید.
نتیجه گیری
دوربین شبیه ساز به توسعه دهندگانی که روی برنامه های مجهز به دوربین کار می کنند کمک می کند تا بهره وری بیشتری داشته باشند. این یکی از آن ویژگی هایی است که فکر می کردید هرگز امکان پذیر نخواهد بود، و دیدن کارکرد آن برای اولین بار جادویی است.
من نمی توانم صبر کنم تا شما آن را امتحان کنید و به من بگویید که چگونه پیش می رود!
متشکرم



