前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >iOS Xcode 热加载

iOS Xcode 热加载

作者头像
赵哥窟
发布2021-06-01 20:39:15
7110
发布2021-06-01 20:39:15
举报
文章被收录于专栏:日常技术分享日常技术分享

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

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

截屏2021-05-26 16.11.41.png

didFinishLaunchingWithOptions 加入如下代码:
代码语言:javascript
复制
- (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中加入如下代码
代码语言:javascript
复制
-(void)injected{
    NSLog(@"I've been injected: %@", self);
    [self viewDidLoad];
}
注意

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

代码语言:javascript
复制
? 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都有了。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • didFinishLaunchingWithOptions 加入如下代码:
  • 在需要调用的ViewController中加入如下代码
    • 注意
      • 缺点
        • 寄语
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档