美文网首页iOS Developer
Injection For Xcode10 MacOS Moja

Injection For Xcode10 MacOS Moja

作者: 我们只是GitHub的搬运工 | 来源:发表于2018-09-25 16:44 被阅读333次

    使用Xcode最痛苦的就是使用纯代码布局时界面的调试,这也是Xcode备受吐槽的一点.作为当代的前端IDE每次界面调试却需要重新完整的运行整App哪怕仅仅只是调整了一个字体大小也是如此.特别是在大中型项目与电脑配置比较差时,花5s时间调整一段代码,需要耗费5-20s来查看最终效果.这无疑是每个iOS开发者的噩梦...

    官方示例

    然'鹅'国外的一位朋友通过自己的(xia)努(zhe)力(teng),为大家提供了一款界面开发神器->GitHub Injection 可以像安卓与WEB一样,改颜色改字体改文字,改完command + s 片刻即刷新页面,是不是很shuang?

    具体功能及详细使用请查看Injection官网

    在 Mac AppStore 中也是可以搜索下载安装的.但是最新支持Xcode10的版本是1.2,AppStore的还未更新emmmmmm,

    [Injection v1.2将在在文末提供下载地址/Demo]

    xcode10用法:

    Swift

    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
            // Override point for customization after application launch.
            #if DEBUG
            Bundle(path: "/Applications/InjectionIII.app/Contents/Resources/iOSInjection10.bundle")?.load()
            //for tvOS:
            Bundle(path: "/Applications/InjectionIII.app/Contents/Resources/tvOSInjection10.bundle")?.load()
            //Or for macOS:
            Bundle(path: "/Applications/InjectionIII.app/Contents/Resources/macOSInjection10.bundle")?.load()
            #endif
           
            return true
        }
    
    在需要修改的地方重写injected()
     @objc func injected() {
            //在这里改变背景颜色试试~~ command + s 即刻呈现
        }
    

    OC

    - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
        // Override point for customization after application launch.
        
    #if DEBUG
        //    for iOS
        [[NSBundle bundleWithPath:@"/Applications/InjectionIII.app/Contents/Resources/iOSInjection10.bundle"] load];
        //    for tvOS
        [[NSBundle bundleWithPath:@"/Applications/InjectionIII.app/Contents/Resources/tvOSInjection10.bundle"] load];
        //    for masOS
        [[NSBundle bundleWithPath:@"/Applications/InjectionIII.app/Contents/Resources/macOSInjection10.bundle"] load];
    #endif
    
        return YES;
    }
    
    在需要修改的地方重写- (void)injected{}
    
    - (void)injected
    {
        NSLog(@"I've been injected: %@", self);
        self.view.backgroundColor = [UIColor blueColor];
        for (UIView *value in self.view.subviews) {
            if ([value isKindOfClass:[UILabel class]]) {
                [value removeFromSuperview];
            }
        }
    /*程序运行完成后打开下面代码的注释并保存即可在界面上看到改变 */
    
    //    UILabel *lab = [UILabel new];
    //    lab.text = @"这是i一个新的label";
    //    lab.textColor = [UIColor whiteColor];
    //    lab.frame = CGRectMake(0, 0, 200, 20);
    //    lab.center = self.view.center;
    //    [self.view addSubview:lab];
    }
    
    

    支持Xcode 8.3.3安装包:Injection

    支持Xcode 9.3安装包:Injection

    支持Xcode 9.2安装包:Injection

    支持xcode10最新安装包:Injection v1.2

    示例:TestDemo

    Xcode10需要将AppDelegate中的路径修改成:
    Bundle(path: "/Applications/InjectionIII.app/Contents/Resources/iOSInjection10.bundle")?.load()
    

    1,运行Injection
    2,运行演示项目将自动弹出一个文件夹选择界面选择项目文件夹并选中打开Injection 勾上File Watcher即可.

    界面主要的三个选项:

    • Open project //选择需要支持实时刷新项目的目录
    • Open recent //最近使用的项目目录
    • File Watcher //敲黑板 这里必须勾上~~

    最后提醒大家插件虽好,但使用需适量,也不要太过于依赖.

    end

    相关文章

      网友评论

      • 君赏:可以不实现回调方法,可以让界面重新进去,意思重新alloc一个即可。这样做饭项目零污染。
      • 690e1b7b387c:不错哦,第一次知道竟然有这样的工具

      本文标题:Injection For Xcode10 MacOS Moja

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