美文网首页
iOS Xcode 热加载

iOS Xcode 热加载

作者: 赵哥窟 | 来源:发表于2021-05-27 08:26 被阅读0次

    用了Flutter之后感觉最方便的就是热加载,修改后点击热加载后马上就可以看效果,为什么Xcode反而不能,如果页面层级很深重新启动加上页面跳转很浪费时间。

    不过搜索一下幸好还有injectionIII iOS代码注入工具,Apps Store搜索,下载安装好之后,OpenProject选择项目的根目录就可以了。


    截屏2021-05-26 16.11.41.png
    didFinishLaunchingWithOptions 加入如下代码:
    - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
        // Override point for customization after application launch.
        
        //Objective-C
        #if DEBUG
            NSBundle *injectionBundle = [NSBundle bundleWithPath:@"/Applications/InjectionIII.app/Contents/Resources/iOSInjection.bundle"];
            [injectionBundle load];
        #endif
    
        
        return YES;
    }
    

    在需要调用的ViewController中加入如下代码

    -(void)injected{
        NSLog(@"I've been injected: %@", self);
        [self viewDidLoad];
    }
    
    注意

    我在桌面上新建一个测试项目,修改后cmd+s并没有什么改变,还有如下信息

    💉 InjectionIII connected /Users/Destiny/Desktop/HotLoad/HotLoad.xcodeproj
    💉 Watching files under /Users/Destiny/Desktop/HotLoad
    💉 💉 ⚠️ Your project file seems to be in the Desktop or Documents folder and may prevent InjectionIII working as it has special permissions.
    

    意思就是您的项目文件似乎位于Desktop或Documents文件夹中,并且由于具有特殊权限,因此可能阻止InjectionIII工作。

    所以把项目放到其他目录就可以了,而且修改后也不需要cmd+s运行,修改后马上就可以看到效果,还是很强大的。

    缺点

    不能真机调试,不过先在模拟器调试好后在用真机也算方便。

    寄语

    真希望苹果在Xcode中加入热加载功能,好歹人家Flutter都有了。

    相关文章

      网友评论

          本文标题:iOS Xcode 热加载

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