Jacky's Blog Jacky's Blog
  • 首页
  • 关于
  • 项目
  • 大事记
  • 留言板
  • 友情链接
  • 分类
    • 干货
    • 随笔
    • 项目
    • 公告
    • 纪念
    • 尝鲜
    • 算法
    • 深度学习
首页 › 干货 › 在 macOS 上搭建 iOSOpenDev

在 macOS 上搭建 iOSOpenDev

Jacky
11月 13, 2016干货阅读 5,488
目录
  1. 前言
  2. 准备安装
  3. 开始安装
  4. Hello World
  5. 参考资料

前言

突然想在 Mac 上进行越狱开发了,于是想起了当年无数次安装失败的 iOSOpenDev,下定决心,在网上搜索了大量资料,终于在 macOS + Xcode 8.1 下部署好了 iOSOpenDev 的开发环境。

过程中出现了各种坑,比如作者官网的下载链接已经失效了,要去 Gihub 上找 issues,部分文件有问题,Idid的安装等… 在谷歌的帮助下,一路披荆斩棘,总结出来这篇教程。

准备安装

1. 确保已经关闭了 macOS 的 SIP 可参考安装 转移DS.Store 的软件教程

2. 请确保你已经安装好了 brew,并brew install dpkg

3. 安装旧版 theos(新版不支持 iOSOpenDev)

(1)在 ~/.bash_profile 里添加 $THEOS = /opt/theos

(2)执行命令

sudo git clone -b stableversion https://github.com/haorenqq/theos/ $THEOS

(3)安装 ldid

下载编译好的 ldid 放到 /opt/iOSOpenDev/bin 目录下

(3)下载 Specifications.zip 并解压,把 iPhoneOS 开头的四个文件放到(如果没有请自己创建一个)。

/Applications/Xcode.app/Content/Developer/Platforms/IphoneOS.platform/Developer/Library/Xcode/Specifications

iPhone Simulator 开头的另外四个文件放入下面的目录下(如果没有,请同样创建一个)。

/Applications/Xcode.app/Content/Developer/Platforms/iPhoneSimulator.platform/Developer/Library/Xcode/Specifications

(4)在下面的目录下创建 usr 文件夹,usr 文件夹下创建 bin 文件夹

/Applications/Xcode.app/Content/Developer/Platforms/iPhoneSimulator.platform/Developer/

创建好的目录应该是

/Applications/Xcode.app/Content/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin

开始安装

1. iOSOpenDev 1.6-2.dmg(使用本站资源服务器下载)

2. 安装过程中请参考下这篇帖子:

https://github.com/kokoabim/iOSOpenDev/wiki/Troubleshoot 容易出现的问题在这里都有解释。

3.安装成功后,找到 ~/.bash_profile 添加环境变量

export iOSOpenDevPath=/opt/iOSOpenDev
export iOSOpenDevDevice= 真机调试的ip地址
export PATH=/opt/iOSOpenDev:$PATH
export PATH=/opt/local/bin:$PATH
export PATH=/opt/local/sbin:$PATH

4. 给 ssh 添加签名,在终端里执行 /opt/iOSOpenDev/bin/iosod $iOSOpenDevDevice,按照步骤进行签名,签名后要记得先再终端里连接一遍,输入秘钥,登陆成功后再尝试编译。

Hello World

请在测试机上确保如下插件已被安装

Core Utilities
Core Utilities(/bin)
diskdev-cmds
file-cmds
system-cmds
Mobileterminal
openSSH
sshpass
preferencdloader
substrate safe mode
syslogd to /var/log/syslog

打开 Xcode 选择 Logos Tweak,创建一个项目

在 macOS 上搭建 iOSOpenDev-Jacky's Blog

 

创建好后会出现一个 .xm 和 .mm 文件,不要编辑 .mm 文件

从 /opt/iOSOpenDev/lib 下找到 libsubstrate.dylib,在 TARGETS > Build Phases > Link Binary With Libraries 下将 libsubstrate.dylib 拖进去

在 TARGETS > Build Settings 找到iOSOpenDevDevice选项,填入测试机的 WIFI IP,准备工作就完成了~

下面你需要添加 UIKit.framework,清空 .xm 的内容输入

#import <UIKit/UIKit.h>

%hook SpringBoard

- (void)applicationDidFinishLaunching:(id)application{
%orig;
    UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Welcome"
                                                    message:@"Hello World"
                                                   delegate:nil
                                          cancelButtonTitle:@"OK"
                                          otherButtonTitles:nil];
    [alert show];
    [alert release];
}
%end

然后菜单里点击 Product> Build For > Profiling,等待测试机注销,最后 AlertView 将会弹出,部署工作也就全部完成了

在 macOS 上搭建 iOSOpenDev-Jacky's Blog

 

由于本文是在部署完毕后写的,可能会有问题,如果不能顺利安装,请在下方留言~

参考资料

  1. http://blog.csdn.net/u013583789/article/details/50396747
  2. http://www.cnblogs.com/xiongwj0910/archive/2012/09/03/2668362.html
  3. http://blog.csdn.net/lynjay/article/details/7936488
  4. https://github.com/kokoabim/iOSOpenDev/wiki/Troubleshoot
  5. http://iphonedevwiki.net/index.php/Ldid
Apple iOS iOSOpenDev macOS Sierra
赞(0)
macOS 终端使用代理
上一篇
接入阿里云 CDN 之后一定要设置缓存
下一篇
再想想
所有评论(2)
  • ny

    少年很不错啊

    6年前 回复
    • Jacky

      @ny: 工作日职业为学生,不折腾其他东西。感谢您的支持🙂

      6年前 回复
近期评论
  • Jacky发表在《Nginx UI》
  • daiwenzh5发表在《Nginx UI》
  • Jacky发表在《Nginx UI》
  • daiwenzh5发表在《Nginx UI》
  • Jacky发表在《Nginx UI》
2
  • 0
  • 2
Copyright © 2016-2023 Jacky's Blog. Designed by nicetheme.
粤ICP备16016168号-1
  • 首页
  • 关于
  • 项目
  • 大事记
  • 留言板
  • 友情链接
  • 分类
    • 干货
    • 随笔
    • 项目
    • 公告
    • 纪念
    • 尝鲜
    • 算法
    • 深度学习
# Mac # # Apple # # OS X # # iOS # # macOS #
Jacky
PHP C C++ Python | 舞象之年 | 物联网工程
174
文章
169
评论
267
喜欢