V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
iOS 开发实用技术导航
NSHipster 中文版
http://nshipster.cn/
cocos2d 开源 2D 游戏引擎
http://www.cocos2d-iphone.org/
CocoaPods
http://cocoapods.org/
Google Analytics for Mobile 统计解决方案
http://code.google.com/mobile/analytics/
WWDC
https://developer.apple.com/wwdc/
Design Guides and Resources
https://developer.apple.com/design/
Transcripts of WWDC sessions
http://asciiwwdc.com
Cocoa with Love
http://cocoawithlove.com/
Cocoa Dev Central
http://cocoadevcentral.com/
NSHipster
http://nshipster.com/
Style Guides
Google Objective-C Style Guide
NYTimes Objective-C Style Guide
Useful Tools and Services
Charles Web Debugging Proxy
Smore
qq2511296
V2EX  ›  iDev

问一个关于 Theos 引用第三方 framework 的问题

  •  
  •   qq2511296 · 2016-04-26 15:15:06 +08:00 · 3912 次点击
    这是一个创建于 3162 天前的主题,其中的信息可能已经有所发展或是发生改变。

    就是 import 个 JSPatch.framework 我已经把 JSPatch.framework 拷贝到了 theos 工程目录了。
    JSPatch.framework 的指令集
    Architectures in the fat file: JSPatch.framework/JSPatch are: armv7 armv7s i386 x86_64 arm64
    请问下 makefile 要怎么写?
    Tweak.xm

    #import <JSPatch/JSPatch.h>
    
    %hook AppDelegate
    - (BOOL)application:(id)arg1 didFinishLaunchingWithOptions:(id)arg2{
        BOOL supBool = %orig(arg1,arg2);
        [%c(JSPatch) startWithAppKey:@"xxxxxxxx"];
        [%c(JSPatch) sync];
        return supBool;
    }
    %end
    
    

    makefile:

    THEOS_DEVICE_IP = 192.168.199.240
    SDKVERSION=0.1
    ARCHS=armv7 arm64
    TARGET = iphone:latest:8.0
    include theos/makefiles/common.mk
    
    TWEAK_NAME = MyTest
    MyTest_FILES = Tweak.xm
    MyTest_FRAMEWORKS = UIKit JSPatch
    
    
    include $(THEOS_MAKE_PATH)/tweak.mk
    
    after-install::
    	install.exec "killall -9 MyTestApp"
    

    错误提示

    fatal error: 'JSPatch/JSPatch.h'
          file not found
    #import <JSPatch/JSPatch.h>
            ^
    1 error generated.
    
    7 条回复    2017-01-02 20:48:50 +08:00
    h4x3rotab
        1
    h4x3rotab  
       2016-04-26 18:37:21 +08:00 via iPhone
    为什么不用 iosod
    qq2511296
        2
    qq2511296  
    OP
       2016-04-26 18:43:46 +08:00
    @h4x3rotab 请问下, iosod 这是什么? iOSOpenDev ?
    这个注入的话貌似是可以吧,难道 theos 就不行吗?感觉 iOSOpenDev 调试安装 没 theos 方便
    qq2511296
        3
    qq2511296  
    OP
       2016-04-26 18:49:12 +08:00
    @h4x3rotab 我试试去 谢谢
    h4x3rotab
        4
    h4x3rotab  
       2016-04-29 13:02:41 +08:00 via iPhone
    @qq2511296 怎么可能,大家早就迁移到 iosod 了, theos 太古老了吧
    qq2511296
        5
    qq2511296  
    OP
       2016-04-29 23:35:47 +08:00
    @h4x3rotab 我不知道为什么用 iOSOpenDev 这个直接 install 到手机里 选择 Logos Tweak 或者 CaptainHook Tweak 这 2 个模板,代码是一样的 但是用这 2 个模板直接安装到手机里就是不通过 报一个 error
    ```
    Apr 26 22:36:34 Rickde-iPhone WeChat[11434] <Error>: MS:Error: Invalid CoreFoundationVersion: <CFArray 0x145e05f40 [0x1a1ce2b68]>{type = immutable, count = 0, values = ()}
    Apr 26 22:36:34 Rickde-iPhone WeChat[11434] <Error>: MS:Error: failure to check xxx.dylib
    ```
    h4x3rotab
        6
    h4x3rotab  
       2016-05-05 10:57:51 +08:00
    据说是 CaptainHook 的问题,另一个同学换成了 Logos 就好了
    jcyangzh
        7
    jcyangzh  
       2017-01-02 20:48:50 +08:00
    可以直接复制 jspatch 源代码进去啊.
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1065 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 18:09 · PVG 02:09 · LAX 10:09 · JFK 13:09
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.