美文网首页
iPad 使用 sideload 方式安装支持本地编译pytho

iPad 使用 sideload 方式安装支持本地编译pytho

作者: Yao_Fairytale | 来源:发表于2018-07-31 14:15 被阅读0次

    首先感谢Nicolas Holzschuch (https://github.com/holzschu)的开发和 Michael Goerz 的教程。https://michaelgoerz.net/notes/editing-latex-on-the-ipad-with-ivim.html

    拥有免费开发者账号便可使用sidload 7天一续而已。当然越狱后也可以用越狱方式用xcode编译越狱模式下的app。
    首先下载未编译的开源程序,ivim 我用的版本是97401cfd328c5eb56c6d1a79caf96f66ab37d8e4

    https://github.com/holzschu/iVim/tree/97401cfd328c5eb56c6d1a79caf96f66ab37d8e4

    iVim

    Blink mosh我用的版本是 1ab0f4f6ba876582311a84d0c2a3b77253d18159

    https://github.com/holzschu/blink/tree/1ab0f4f6ba876582311a84d0c2a3b77253d18159

    Blink mosh

    以下开始讲iVim的配置
    下载这个版本的iVim
    https://github.com/holzschu/iVim/archive/97401cfd328c5eb56c6d1a79caf96f66ab37d8e4.zip

    下载后修改文件夹名字为iVim 放入 iVimWorkdir 文件夹,名字你随意,自己知道就行。

    cd iVimWorkdir/iVim/
    ./get_frameworks.sh
    

    打开 iVim.xcodepro文件,由于我使用免费开发者账号,在切换成自己账号之前,先把capability里面所有选项关闭,如果在此之前切换账号则不能关闭。

    关闭capability

    在general里面讲 “Bundle Identifier” 和 “Team”都切换为自己账号。你的电脑只有自己账号的证书。Bundle Identifier按照规则随意取,不行就多试试别的名字。

    修改“Bundle Identifier” 和 “Team”

    注意Embedded Binaries和Linked Frameworks and Libraries 两项的内容,这两项内容决定了我们是否给程序加入了命令

    Embedded Binaries和Linked Frameworks and Libraries

    run程序,发现报错

    <unknown>:0: error: no such file or directory: '/Users/yao/Downloads/iVimWorkdir/iVim/URLRealizer.swift'
    <unknown>:0: error: no such file or directory: '/Users/yao/Downloads/iVimWorkdir/iVim/ArgumentToken.swift'
    <unknown>:0: error: no such file or directory: '/Users/yao/Downloads/iVimWorkdir/iVim/URLOpener.swift'
    Command /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swiftc failed with exit code 1
    

    将URLRealizer.swift,ArgumentToken.swift,URLOpener.swift 三个文件拷贝到上从 iVimWorkdir/iVim/iVim/里面拷贝 到上一层文件夹 iVimWorkdir/iVim/。

    再次点击 run。
    发现一堆python和lua 链接错误

    cd iVimWorkdir/python_ios
    vim getPackages.sh 
    

    将 getPackages.sh 第27行的断行去掉,否则会错误。运行getPackages.sh 文件。

    ./getPackages.sh 
    

    打开Python_ios.xcodeproj 进行编译,发现两个错误

    Non-thread-local declaration of 'Py_DivisionWarningFlag' follows thread-local declaration
    Non-thread-local declaration of 'Py_Py3kWarningFlag' follows thread-local declaration
    

    汗,我忘了我怎么解决的,可能是我下了好多版本,直到我找到一个能正确编译的。反正我是反复比对作者各个版本。

    Blink shell 的安装
    1.下载Blink shell

    2.手动将Framework里面缺失的文件夹内容下载补全

    3.运行 get_frameworks.sh

    4.修改 “Bundle Identifier” 和 “Team”

    5.在Embedded Binaries里面添加latex和python相关的项

    6.在目标device上run。

    安装好带命令行的blink shell 和 iVim 后,还需要复制命令所依赖 submodule 文件

    首先你要有一台安装了latex和python包的Mac或者黑苹果,将Mac上/usr/local/texlive 整个文件夹拷贝到 你iPad对应app的 Library文件夹底下。将Mac底下 /usr/lib/python2.7 整个文件夹你iPad对应app的 Library/lib底下。
    vim的配置文件夹.vim 和配置文件.vimrc 放到iVim 的 Library文件夹根目录底下。

    同时blink 配置文件 MCPSession.m 添加

    setenv PATH = $PATH:~/Library/bin:~/Documents/bin
    setenv PYTHONHOME = $HOME/Library/
    setenv SSH_HOME = $HOME/Documents/
    setenv CURL_HOME = $HOME/Documents/
    setenv HGRCPATH = $HOME/Documents/.hgrc/
    setenv SSL_CERT_FILE = $HOME/Documents/cacert.pem
    

    iVim的配置文件.vimrc 中添加

    " iVim fixes
    let $PATH .= ':'.$HOME.'/../Library/bin:'.$HOME.'/bin'
    let $PYTHONHOME = $HOME.'/../Library/'
    let $SSH_HOME = $HOME
    let $CURL_HOME = $HOME
    let $SSL_CERT_FILE = $HOME.'/cacert.pem'
    let $HGRCPATH = $HOME.'/.hgrc'
    

    我自己版本的iVim链接 git@github.com:yxrdydh/iVim.git , 你可以试试我的。如果你编译不通过。

    我的vim配置文件是 git@github.com:yxrdydh/vimrc.git

    iVim的配置文件.vimrc放置在iVim app的Documents文件夹根目录底下,同时.vim 配置文件夹也同在Documents 的文件夹根目录底下。

    在iPad上iVim调用shell命令前面都加!号,例如

    :!pdflatex
    :!bibtex
    

    相关文章

      网友评论

          本文标题:iPad 使用 sideload 方式安装支持本地编译pytho

          本文链接:https://www.haomeiwen.com/subject/piicvftx.html