zoukankan      html  css  js  c++  java
  • Theos 工程

    一、tweak 工程

      1、创建步骤

        a) terminal cd 到想要存放项目的目录下

        b) 按图步骤完成即可

      


    二、工程文件描述

      1、control 

        记录 deb 包管理系统所需的基本信息。

      2、appInfo.plist 描述 tweak 的作用范围,以下可混合使用

        a)  bubdles,tweak 控制的应用 bundle id

        b) classed, tweak 控制的 class

        c) executables tweak 控制的

      注意:如果 Filter 下的类别超过一个,需要加上 "Mode String Any"

      3、makefile  

        a) ProjectName = Tweak.xm,多个文件的时候改为 "= Tweakxm New.mm Objc.m"  

        b) ProjectName_FRAMEWORKS = UIKit 所依赖的框架

        c) 指定 ios sdk 版本,安装要求的版本

          下面两段意思是: 开发框架为 armv7,采用 7.1 版本的 sdk,且发布要求在 ios 7.1以上版本。    

    ARCHS = armv7
    TARGET = iphone:7.1:7.1
    

        d) 安装的时候需要指定设备的 ip address,故在最上面加上

    THEOS_DEVICE_IP = 192.168.2.117
    

     

        

      4、Tweak.xm

        a) %hook

    %hook ClassName
    
    // 要 hook 的方法名
    
    %end
    

      b) %log, 多个表达的时候加上 ","

    %log((NSString*)@"abc", (NSString*)@"efg");
    

      c) %orig:调用原来的方法

      d) %group: 将 hook 分组, 如果不指定默认是 %group _ungrouped

    %group name
    % hook className
    
    %end
    %end
    

      e) %init(groupName): 不带参数等价于 %init(_ungrouped)

      f) %ctor {}: tweak 的构造完成初始化工作。

    %ctor {
        %init;  // 如果此处没有初始化 _ungrouped,则所有属于 _ungrouped 的 hook 将不工作。
        %init(custom group);
    }
    

      

      


     三、部署和安装

      a) cd 到项目目录

      b) make:编译操作

        多次后会有提示  "make[2]: Nothing to be done for ",执行 "$ make clean"

      c) make package:打包

        出现错误: 

    Making stage for tweak FirstTweak...

    /Applications/Xcode.app/Contents/Developer/usr/bin/make package requires you to have a layout/ directory in the project root, containing the basic package structure, or a control file in the project root describing the package.

    make: *** [internal-package] Error 1

        原因:文件路径含有空格

      d) 在 makefile 中填写好设备的 ip address,并 ssh 连接设备 "$ ssh root@192.168.2.117" 再执行 "make package install" 。


    四、清理编译打包产生的工程文件

    $ make clean
    
    $ rm -rf ./obj
    
    $ rm -rf /Users/...../tweak project/_
    

      

  • 相关阅读:
    SAP Cloud for Customer的Account Team里的role如何配置
    SAP标准培训课程C4C10学习笔记(二)第二单元
    SAP标准培训课程C4C10学习笔记(一)第一单元
    如何找到SAP Cloud for Customer标准培训和认证方面的信息
    我用ABAP做过的那些无聊的事情
    有道云笔记不需要通过开通会员的方式来去除广告显示
    微软OneDrive使用体验
    自己开发的在线视频下载工具,基于Java多线程
    CloudFoundry命令行和Kubernetes命令行的Restful API消费方式
    利用装饰器计算函数运行的时间
  • 原文地址:https://www.cnblogs.com/eileenleung/p/3839613.html
Copyright © 2011-2022 走看看