在IOS上随时编写c语言项目

Why？🤔️

确实，这个需求听起来很是有意思，谁会闲着没事干在手机 /iPad 上写代码。但是，这很酷不是吗？想象一下，随时随地拿起手机就可以写项目，而且是真正的可以 push 的。

实际上，怎样在手机上编写代码有着悠久的历史。极客们把设备压缩到极限，先别说生产力，光是这件事情就很酷了🤩！

所以，如果你现在还有着一颗好奇和折腾的，火热的心，接着往下看，我保证你马上就可以在朋友面前 show 一手。

第一步，陈列清单。🧾

我们现明确目标：

能真正的写代码。

能真正的在本地运行。

可以提交到我的远程仓库。

我找遍了 App Store，留下了一些还不错的：

1. Code App 30¥

Code App 是一个完全开源的项目。她拥有友善地页面和版本管理，拥有一个简易的命令行，支持十多种语言的编写和运行，不过大多数是建设在网络上的。目前支持 Node.js, Python, C, C++, PHP 的本地运行。

对于前端开发者来说，她是绝对友好的，因为几乎所有的前端框架都可以运行，其他语言的支持也很不错，可是，她对无键盘用户非常不友好，操作十分别扭，如果有钱买妙控板的话，她就是完美的开发工具。

但是！

虽然 Code 很强大，但是这不符合我们随时随地折腾的心愿，而且由于终端是个假的，限制也有一大堆。

2. C Code Develop 5¥

C Code Develop 是一位国人大佬开发的，能随时随地编写小玩具，还可以上传到作者搞的小商店里。作者写了很多好玩的东西，比如把 SwiftUI 搬到里面，编写小程序；编写小组件；搞到自己的 ip；发送 get 请求.....

而且，最重要的是，页面真的超级好看，可以自定义背景。代码上不仅有高光甚至拥有自动补全！

但是！

她不支持 git...... 不仅如此，根本没有命令行....

ish 0¥

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 然后打开她！

你会发现真的和终端一样，而你找不到设置。
其实，设置就在右下角，下面这张图给出了基本的操作。圈起来的就是设置。

好啦！个性化之后就是真正的编程啦！

开始前的调教！🎼

我们需要先调教一下包管理器。

包管理器在这里的指令是apk。

因为一些众所周知的原因，我们需要更换一下源才能正常的下载包。在终端里输入：

Copy
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，但是等你真的写了你就会发现她其实还用不了，这时候我们需要下载一个 “补丁”。

在终端输入：

Copy
apk add build-base

如果你的软件没有携带 gcc 和 make 之类的必需品，你也可以用相同的方式下载。

Copy
apk add gcc make

或者你喜欢用 clang 也可以，随喜好。

现在，当你编写一段代码再去编译时，就不会再找不到头文件啦！

现在，我们还需要 git，按照之前的方法直接 add 即可

Copy
apk add git

如果你想，你也可以下载例如 vim，nvim，nano，emase 之类的编辑器。按照之前一样 add 即可！

注意⚠️

这里有一个小问题，在 iPhone 上，nvim 十分不正常（或者说稳定），vim 在配制后也会发癫。但 iPad 上完全没有这个问题，我猜测可能是屏幕大小的问题。

关于 Git⬆️📊

Git 可是开发人员或不可缺的工具，在 ish 里有些问题让 git 无法正常的链接 Github，不过我们仍然可以通过个人令牌进行 push 操作。

首先下载 git

Copy
apk add git

然后进行最基础的配置，比如邮箱和用户名，这些就不过多介绍了，不会请自行谷歌。

我们需要在 GitHub 上创建一个新项目，并且在设置里创建一个 30 天或者更长时间的个人令牌。

在修改完项目后，进行 push 项目时，GitHub 会提示您进行登录，这时候填密码是无法正常登录的，需要把你的个人令牌填进去，就可以正常的进行 push。

最后

生命不息，折腾不止！