提升 iOS 開發效率! Xcode 9 內置模擬器的新功能與技巧

提升 iOS 開發效率! Xcode 9 內置模擬器的新功能與技巧
提升 iOS 開發效率! Xcode 9 內置模擬器的新功能與技巧
In:

iOS模擬器是任何iOS應用程式開發過程中不可或缺、無法被忽視的一個部分。來自Xcode 9的新模擬器帶來了很多有用的技巧,能夠提升你的開發效率。蘋果回憶歷代模擬器的演變!相較於以前適度的更新相比,這回似乎算是一次很重大的變更。

所以讓我們開始這篇教程的重點吧,本文會列出我在新iOS模擬器中找到的所有功能(一些技巧也可以在舊的模擬器中使用)。

1. 在全屏模式下使用Xcode模擬器

當你使用13吋屏幕時,Xcode的全屏模式是唯一救星,以前不能在全屏模式下使用Xcode模擬器,但現在開始可以使用了#xf60e;

從Xcode 9 beta 3開始,這個功能將會是系統預設的,所以你不需要做任何事情來啟用它。

更新:可能某些人預設情況下是關閉此功能的,但不用擔心,可以隨時通過Apple Internal選單啟用此功能。如果想在新的模擬器中探索更多的秘密功能,可以啟用Apple隱藏的內部選單。

internal-menu

為此,你需要在根目錄中創建一個名為“AppleInternal”的空文件夾,請執行下面的指令並重新啟動模擬器:

sudo mkdir /AppleInternal

新的選單項目應該會顯示出來 ☝️

注意:我是從Xcode 9b3的模擬器上測試這個步驟,如果你還沒有下載,請在此安裝最新的Xcode

2. 一次打開多個模擬器

你還記得在不同的模擬器上測試應用程序的挫敗感嗎?以前,你被迫一次只能打開一個模擬器,雖然有許多“hacks”教你如何在舊版本的Xcode中打開多個iOS模擬器。但是在Xcode 9當中,這個功能是垂手可得的。

3. 縮放模擬器就像調整視窗大小一樣簡單

在Xcode 9之前,我們只有透過”Scale options”才能調整模擬器的大小,現在Apple終於開放調整模擬器窗口的大小。如果一次有多個模擬器打開,這個小細節的調整這是非常有用,可以幫助你有效地組織工作空間。

4. 記錄模擬器的視頻

在Xcode 9官方的”What’s new”文檔中,蘋果聲稱現在可以錄製模擬器螢幕視頻,但即使在舊版本中,只要使用simctl也可以做到,在介面上找不到地方可以啟用視頻錄製(除了iOS 11中的內置屏幕錄製)。

要獲取視頻檔案,請執行以下指令:

xcrun simctl io booted recordVideo --type=mp4 

booted – 表示simctl選擇當前啟動的模擬器,如果你有多個已啟動的模擬器,simctl將選擇當前正在操作的那一個模擬器。

5. 從Finder共享文件到模擬器

現在,模擬器具有Finder擴展功能,可以讓你直接從Finder窗口共享文件。

你也可以執行以下simctl指令,使用圖像/視頻檔案進行類似操作:

xcrun simctl addmedia booted 

很高興有這樣的操作方法,但是對我而言,將檔案拖放至模擬器窗口似乎快得多。

6. 模擬器上打開URL

這個也能使用simctl,所以你也可以在舊版本的模擬器上打開自定義的URL schemes。

以你指定的任何URL執行以下指令:

xcrun simctl openurl booted 

關於Apple所有URL schemes的列表,請查看文檔..

7. 快速找到應用程式的文件夾

再來介紹一個simctl的指令,你可以使用單個命令在文件系統上獲取應用程式的資料夾,只需要知道應用程式的bundle identifier並執行以下指令:

xcrun simctl get_app_container booted 

或者你可以使用open指令在Finder中更快打開目標文件夾:

open `xcrun simctl get_app_container booted ` -a Finder

8. 使用命令列參數(Command Line Args)在模擬器中啟動應用程式

使用simctl,你也可以從終端機上啟動應用程式,並在其中傳遞一些命令列參數(甚至可以設置一些環境變量)。如果你想在應用程式中插入一些除錯行為,這將非常有用。

執行下列指令可以讓你完成這項工作:

xcrun simctl launch --console booted  

你可以從CommandLine.arguments獲取這些命令列參數(這裡是文件的連結)。

9. 透過Bundle ID獲取完整的應用程式資訊

有時找出應用程式的檔案或暫存數據位於文件系統上的位置很有用,如果你需要比simctl get_app_container更全面的資訊,simctl還有一個很好用的小工具,名為appinfo,它會以下列格式顯示相關資訊:

{
   ApplicationType = User;
   Bundle = ;
   BundleContainer = ;
   CFBundleDisplayName = TestiOSApp;
   CFBundleExecutable = TestiOSApp;
   CFBundleIdentifier = "com.ahmed.app.TestiOSApp";
   CFBundleName = TestiOSApp;
   CFBundleVersion = 1;
   DataContainer = ;
   GroupContainers =     {
   };
   Path = ;
   SBAppTags =     (
   );
}

執行下面的命令並觀察輸出結果:

xcrun simctl appinfo booted 

最後一件事…

iOS模擬器是一個非常強大的工具,只要知道所有的細節和技巧,它可以讓你的開發過程加快許多,身為一個好的工程師,熟悉你的開發工具是必然的工作。

Flawless中,iOS模擬器對我們來說非常重要,這個產品是一個iOS模擬器插件,允許工程師在模擬器內部檢查任何設計,對於新Xcode 9和Simulator版本的推出,我無法用言語形容我有多麼高興,已經等不及公開版本推出!我們可以實現更多有用的功能來保持iOS應用程式的視覺質感。

另外,如果我在本文中錯過了一些重要的資訊,歡迎讀者可以在評論中分享你的想法,相信將可以替本文添加更多非常實用的技巧 😊

這是一篇客座文章是由Flawless創始人兼執行長Ahmed Sulaiman所著並授權翻譯及轉載。本文的原始出處發佈在medium.com上,讀者可以通過Twitter與Ahmed聯繫。
譯者簡介:陳奕先-過去為平面財經記者,專跑產業新聞,2015年起跨進軟體開發世界,希望在不同領域中培養新的視野,於新創學校ALPHA Camp畢業後,積極投入iOS程式開發,目前任職於國內電商公司。聯絡方式:電郵[email protected]

FB : https://www.facebook.com/yishen.chen.54
Twitter : https://twitter.com/YeEeEsS

原文iOS Simulator on Steroids: Tips & Tricks in Xcode 9

作者
AppCoda 編輯團隊
此文章為客座或轉載文章,由作者授權刊登,AppCoda編輯團隊編輯。有關文章詳情,請參考文首或文末的簡介。
評論
很好! 你已成功註冊。
歡迎回來! 你已成功登入。
你已成功訂閱 AppCoda 中文版 電子報。
你的連結已失效。
成功! 請檢查你的電子郵件以獲取用於登入的連結。
好! 你的付費資料已更新。
你的付費方式並未更新。