Xcode的即时运行或热重载

时间:2017-03-01 10:22:16

标签: ios xcode android-studio android-instant-run instant-run

我是Android开发人员,最近开始学习Swift。 Android studio中有一个名为Instant Run的很酷的功能,它可以显着减少编码期间增量代码更改的构建和部署时间。

  

在Android Studio 2.0中引入,即时运行是一种行为   运行和调试命令可以显着缩短之间的时间   对您的应用进行更新。虽然你的第一次构建可能需要更长时间   完成后,即时运行将后续更新推送到您的应用程序   建立一个新的APK,以便更快地看到更改。

如果您在Android Studio上启用Instant Run,则无需从头开始构建和运行应用程序,特别是当您在应用程序中间处理一些详细的View Controller时(故事板)。

我很想知道这个功能或者类似功能在XCode中是否可用,或者每次我想测试应用程序时都必须从头开始运行应用程序?

3 个答案:

答案 0 :(得分:5)

有办法吗?

我刚才发现了这个问题,并得出结论认为在iOS中没有任何方法可以实现真正的即时运行。

但是!我最近发现了一个很棒的免费软件库,可以让你为iOS带来这个非常棒的功能。我在这里分享它,因为它对我来说变得至关重要,而且当我第一次来到这里时,我会喜欢找到它。它被称为Injection for Xcode,它采用插件的形式。由于新的Xcode限制,安装有点长。您必须修补Xcode才能在其中运行插件。您可以在自述文件或“问题”中找到所有这些信息。这可能需要30分钟,但这个插件可以节省时间

安装完成后,使用Xcode(CTRL + =)照常运行您的应用。然后,在控制器中的某处更改代码。现在,单击self.view.backgroundColor = [UIColor blackColor]; 以使用Injection插件。您不会在模拟器中看到任何重新加载,但如果您尝试,您将看到您的代码更改已经完成(几秒钟内!)。

例如,你有这一行:

CMD + R

应用程序与self.view.backgroundColor = [UIColor whiteColor]; 一起运行后,请将行更改为:

CTRL + =

按{{1}},然后享受!

希望这有助于某人!如果您有任何问题(安装或其他),请在评论中询问我。

答案 1 :(得分:1)

您可以从故事板或以编程方式为项目选择 initial - viewController;在视图中,您只需要在测试时加载。

但是,您实际上无需担心从头开始编译代码。这是xCode的一种自动行为,因为它只编译您已更改的代码。您可能会在文件层次结构中注意到这一点,如下所示: -

  

'M'&文件侧面的“A”指的是; '修改过的文件'&   '添加了文件'

The 'M' & 'A' at the side of files refers to; 'Modified files' &

没有修改的文件;在构建之后,不会花费太多时间来构建。

答案 2 :(得分:1)

如果您使用 SwiftUI,请在连接设备时使用下一个选项!!!

and press: cmd + s

enter image description here