Skip to Content

Mac

在 Xcode 操作 Git

我未來有機會要在 Mac 的 Xcode 開發程式,因為是在不熟悉的環境,所以要先了解一些基本的工具,其中版本控制的 Git 就是重要的工具之一。

在 Windows 環境下,我使用 Git 是用 TortoiseGit 這一套工具,它是 GUI 界面,非常方便好用。在 Windows 下的開發環境或 VSCode 等編輯程式雖然也有整合 Git,我就懶得學那麼多套了,直接用 TortoiseGit 來操作。當然,我更懶得背 Git 的指令了。

在 Mac 上,我雖然有安裝 Sourcetree 這套工具,但還沒有熟悉,所以打算直接學習在 Xcode 上操作 Git,也省得每次要離開 Xcode 才能操作 Git 的功能。

底下記錄我常用的功能與操作方式,不過並不會介紹 Git 的細節,所以這是只適合對 Git 已有初步認識的人閱讀的。

環境

macOS 10.15 Catalina

Xcode 11.1

 

在 Mac 上安裝二套 macOS

很多人都知道多重開機,在使用 Windows 時常見到的就是用不同的硬碟或分割區來安裝另一套 Windows 或 Linux 系統,另一種方式就是用虛擬主機來啟動另一套作業系統,我也試過在虛擬主機安裝過 Mac 來測試。

在 Mac 上也有內建的 Boot Camp 可用來安裝 Windows,同樣也可以使用虛擬主機程式來安裝 Windows。

但是若要安裝二套 macOS 呢?對 Mac 是超級新手的我來說,以前還真沒聽過有人討論這件事。

WebKit View 在 Xcode 上的問題

執行環境:MacBook Pro + macOS Mojava 10.14.5 + Xcode 10.2.1

事情是這樣的,我用 Xcode 製作一個單純的 App,只是放入一個 WebKit View 元件(底下簡稱 WKWebView ),在 Xcode 上執行並沒問題。

如下圖,白框是 WKWebView 元件,左邊的 Windows 是執行的畫面。

然而,我想直接執行 Build 出來的 App,問題就來了。

如下圖,我先選紅圈 ①,在藍圈 ② 可以看到 App 的位置,點下之後就可以看到綠圈 ③ 的 App 檔案,直接執行它,就看到黃圈 ④ 的錯誤報告。

 

我測試過其他簡單的元件如 Label、Button 則沒有這個問題,就 WKWebView 才會如此。

在 Win10 用 VMware Workstation Player 12 安裝 Mac OS X 10.12 Sierra 和開發 c++ 程式

在 2015 年 10 月左右,我在 Win7 上試著用 VMware 安裝了 Mac OS X 10.10 Yosemite。(詳見此頁)

在 2016 年 11 月左右,我用 Embarcadero C++ Builder Berlin Update 2 試用版試著撰寫 Mac 版的程式,Mac 的環境就是上面提到的 10.10 Yosemite。(詳見此頁)

如今作業系統已換成 Win10 專業版,單位也買了正式版的 Embarcadero C++ Builder Berlin Update 2,所以打算重頭安裝最新版的 Mac OS X 10.12 Sierra,以期能用最新的環境來測試程式。

以下是工作環境:

作業系統:Microsoft Windows 10 專業版
開發程式:Embarcadero C++ Builder Berlin Update 2 專業版
虛擬程式:VMware Workstation Player 12.5 ( 此處可下載 )
VMware 支援 Mac 程式 : unlock208 ( 此處可找到相關資料 )
Mac OS X 虛擬檔案:Mac OS X 10.12 Sierra ( 別人準備好的版本 )
Mac 下的開發程式:Xcode v8.2.1 ( Mac App Store 可以安裝 )

請注意,我們不知道這個由別人安裝好的系統裡面究竟有沒有藏什麼病毒、後門等東西,所以千萬不要拿來做重要的事情,只能拿來做些測試。如果要做重要的事,請找正確的管道來安裝 Mac OS。

使用 C++ Builder 產生 Mac 版程式

 
本文是要說明如何在 Windows 上執行 Embarcadero C++ Builder (它的前身就是 Borland C++ Builder, BCB),並且產生 Mac 版的程式,讓程式可以在 Mac 上執行。
 
因為幾年前好不容易測試成功過,如今又要重做一次卻忘了流程了,所以才想到要記下來,免得日後自己又忘掉,也可以給第一次做的人參考參考。
 
手中雖然有一台公司的 MacBook Pro,不過裡面的 OS X 是 10.6,這個版本太舊了,至少要 10.8 才能開發。所以我採用虛擬主機中的 Mac OS X 來測試,好處是不用二台機器,缺點當然是效率不好,不過若不是常常需要編譯 Mac 版,應該還可以接受。
 
以前看李維大師演講時,他是在 Mac 中跑虛擬主機 Windows ,然後在 Windows 中執行開發程式,可以想像這就更慢了,因為主要的工作都在虛擬機中執行,而這個方法也是官方建議的方法之一。
 
在 Mac 中也要安裝 Xcode,這是 Mac 下的開發程式,整個原理應該是 C++ Builder 把程式先轉成 Xcode 可以編譯的資料,然後透過連結的程式,請 Xcode 把程式編譯出來,這樣就有可以在 Mac 下執行的程式了。
 

在 VMware Player 安裝 Mac OS

因為未來工作上的需要,需要弄一套 Mac OS 來玩,雖然公司先前有提供一台 Macbook Pro,不過是比較早期的,作業系統也舊了一點,無法應付未來的工作。
 
第一個解決方法是看看硬體等級夠不夠高,或許還有機會升級到最新的 Mac OS,不過我打算採用第二種方法,也就是在虛擬主機 VMware Player 安裝一套 Mac OS,它的好處是我在一台電腦就可以處理了,不用同時開二台電腦來試。
 
首先是在網路上找資料,找到一堆看似有用的,就開始逐一過濾,我大概是花了三階段的工夫,最後才完成。
 
底下第一與第二階段是我失敗的方法,不過還是有一些重要觀念有用到,直到第三階段才成功。這裡先說明出此重點,是怕有興趣的人也逐步依第一第二階段的方式操作,最後如果也失敗了,大概會罵我為何不早說,所以我先說明我是第三個方法才成功的。
 

不用 Windows 也能跑 Windows 程式

看來在麥金塔上直接執行 Windows 的程式愈來愈有機會了,說不定日後我真的不用寫跨平台的程式。

以下轉貼自
http://taiwan.cnet.com/news/software/0,2000064574,20107643,00.htm


不用 Windows 也能跑 Windows 程式
CNET新聞專區:Ina Fried  03/07/2006

以前,在麥金塔電腦 (Mac) 上執行 Windows 程式,是漫長、痛苦的過程。只有一種選擇:執行 Virtual PC 模擬軟體。

但隨著蘋果電腦公司改用英特爾晶片,選擇日益擴增。其中一個例子,就是蘋果自製 Boot Camp 軟體,讓英特爾架構的 Mac 可選擇以 Windows 或 Mac OS X 作業系統開機。同時,新創公司 Parallels 也推出新軟體,讓微軟作業系統在獨立的虛擬機器 (virtual machine;VM) 上執行,執行效能只慢一點點。

不久後,將有另一種選擇。新選擇的特色是:連 Windows 都不必買。雇員約 20 人的明尼蘇達州小公司 CodeWeavers 採用一種稱為「Wine」的開放原始碼技術,即可在 Mac OS X 環境下執行一些 Windows 應用程式。

能同時使用 Windows、Mac OS 的軟體

我幾乎沒有使用麥金塔的經驗,只有在前前公司測試網路時,因為需要測試 apple talk 的通訊協定,才有機會略為接觸。

那麼現在為什麼會關心麥金塔?因為據說國外有不少佛教學者是使用麥金塔,他們就無法使用我們提供的閱藏系統與全文檢索,所以我們會希望做出跨平台的閱藏系統,除了 Windows 的使用者之外,讓 unix 系列與麥金塔的使用者也都能使用這套工具。

所以若麥金塔能直接執行 windows 的程式,那就太方便,至少我們就不用頭痛去想如何設計跨平台,因為那對我而言,是一個由零開始的工程,更何況目前現有的選擇方案--主要是跨平台的 C# 及 Java,在功能及效率上,都還不是讓人很滿意。

訂閱文章


about seo