邱 璇洛 (ゝ∀・)

邱 璇洛 (ゝ∀・)

你好哇(*゚∀゚*)~这里是邱璇洛的博客,常常用来记录一些技术文章和小日常~(σ゚∀゚)σ
twitter
tg_channel

在iOS上隨時編寫C語言專案

為什麼?🤔️#

確實,這個需求聽起來很有趣,誰會閒著沒事在手機 /iPad 上寫程式碼。但是,這很酷不是嗎?想像一下,隨時隨地拿起手機就可以寫專案,而且是真正可以推送的。

實際上,在手機上編寫程式碼有著悠久的歷史。極客們把設備壓縮到極限,先別說生產力,光是這件事情就很酷了🤩!

所以,如果你現在還有著一顆好奇和折騰的,火熱的心,接著往下看,我保證你馬上就可以在朋友面前 show 一手。

第一步,陳列清單。🧾#

我們現明確目標:

  1. 能真正的寫程式碼。
  2. 能真正的在本地運行。
  3. 可以提交到我的遠程倉庫。

我找遍了 App Store,留下了一些還不錯的:

1. Code App 30¥#

IMG_1580

Code App 是一個完全開源的項目。她擁有友善地頁面和版本管理,擁有一個簡易的命令行,支持十多種語言的編寫和運行,不過大多數是建設在網絡上的。目前支持 Node.js, Python, C, C++, PHP 的本地運行。

對於前端開發者來說,她是絕對友好的,因為幾乎所有的前端框架都可以運行,其他語言的支持也很不錯,可是,她對無鍵盤用戶非常不友好,操作十分別扭,如果有錢買妙控板的話,她就是完美的開發工具。

但是!#

雖然 Code 很強大,但是這不符合我們隨時隨地折騰的心願,而且由於終端是個假的,限制也有一大堆。

2. C Code Develop#

IMG_1579

C Code Develop 是一位國人大佬開發的,能隨時隨地編寫小玩具,還可以上傳到作者搞的小商店裡。作者寫了很多好玩的東西,比如把 SwiftUI 搬到裡面,編寫小程式;編寫小組件;搞到自己的 ip;發送 get 請求.....

而且,最重要的是,頁面真的超級好看,可以自定義背景。代碼上不僅有高亮甚至擁有自動補全!

但是!#

她不支持 git...... 不僅如此,根本沒有命令行....

ish#

IMG_1581

ish 是一個完全開源免費的,運行在 ios 上的 Linux 仿真軟體。你可以在上面使用一個近乎完整的Alpine Linux,你可能會疑惑:“蘋果不是從來不允許虛擬機上架 App Store 嘛?”。小了,格局小了!這仿真器怎麼能叫虛擬機呢!

總之,有了這玩意,你幾乎可以在你的 iPhone 上 iPad 上愉快的嘗試 Linux,然後灰溜溜跑回圖形頁面

關於這個軟體的介紹可就太多了,國內外都有,在上面幾乎可以運行所以編程語言,比如我試過的 c,py3,py2,lua,OCaml。可惜的是,她現在還不支持 node 和 rust,當然,我還試了 dotnet,也是無法運行(順帶提一嘴,想要在 ios/iPadOS 上運行 dotnet 最好的軟體我認為只有Continuous)。她的內核版本還是 AlpineLinux 3.14,而 rust 直到 3.18 才支持 AlpineLinux....

最重要的是,她還支持 git(畢竟就是半個 Linux 系統)。

但是!#

這玩意發展沒多久,作者還在勤奮更新,坑實在是太多了,許多東西也不完善,不過已經是 ios/iPadOS 上最好的了。

綜合評價下來,似乎只有 ish 能夠大約滿足我們的要求。而且,手機上的終端實在是太酷了!

現在,開始折騰!

Begin!🤩#

首先,下載好ish 然後打開她!

你會發現真的和終端一樣,而你找不到設置。
其實,設置就在右下角,下面這張圖給出了基本的操作。圈起來的就是設置。

IMG_1583

好啦!個性化之後就是真正的編程啦!

開始前的調教!🎼#

我們需要先調教一下包管理器。

包管理器在這裡的指令是apk

因為一些眾所周知的原因,我們需要更換一下源才能正常的下載包。在終端裡輸入:

sed -i 's/dl-cdn.alpinelinux.org/mirrors.tuna.tsinghua.edu.cn/g' /etc/apk/repositories && apk update

等待命令跑完,就可以愉快的 install 啦!

你也可以在/etc/apk/repositories裡自定義源。記得編輯完之後運行apk update哦!

下載!配置!⬇️📦⚙️📄#

我們需要安裝一些必須的東西。

軟體原生攜帶了 gcc 和 make,但是等你真的寫了你就會發現她其實還用不了,這時候我們需要下載一個 “補丁”。

在終端輸入:

apk add build-base

如果你的軟體沒有攜帶 gcc 和 make 之類的必需品,你也可以用相同的方式下載。

apk add gcc make

或者你喜歡用 clang 也可以,隨喜好。

現在,當你編寫一段代碼再去編譯時,就不會再找不到頭文件啦!

現在,我們還需要 git,按照之前的方法直接 add 即可

apk add git

如果你想,你也可以下載例如 vim,nvim,nano,emase 之類的編輯器。按照之前一樣 add 即可!

注意⚠️#

這裡有一個小問題,在 iPhone 上,nvim 十分不正常(或者說穩定),vim 在配制後也會發癲。但 iPad 上完全沒有這個問題,我猜測可能是屏幕大小的問題。

關於 Git⬆️📊#

Git 可是開發人員或不可缺的工具,在 ish 裡有些問題讓 git 無法正常的連接 Github,不過我們仍然可以通過個人令牌進行 push 操作。

首先下載 git

apk add git

然後進行最基礎的配置,比如郵箱和用戶名,這些就不過多介紹了,不會請自行谷歌。

我們需要在 GitHub 上創建一個新項目,並且在設置裡創建一個 30 天或者更長時間的個人令牌。

在修改完項目後,進行 push 項目時,GitHub 會提示您進行登錄,這時候填密碼是無法正常登錄的,需要把你的個人令牌填進去,就可以正常的進行 push。

最後#

生命不息,折騰不止!

載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。