在不启动应用程序的情况下将应用程序从 Xcode 部署到设备

Posted

技术标签:

【中文标题】在不启动应用程序的情况下将应用程序从 Xcode 部署到设备【英文标题】:Deploying an App from Xcode to a device without launching the app 【发布时间】:2010-11-05 18:47:56 【问题描述】:

我正在尝试追踪一个 0x8badf00d 错误,这是由于看门狗进程在启动时杀死我们的应用程序花费了太长时间而导致的。问题是它只发生在应用程序第一次启动时(当应用程序正在创建我们的数据库时)。

所以我需要能够将应用程序从 XCode 部署到我的 iPad,而无需让它自动启动应用程序。我在 Xcode 中看到的唯一选项是 Build-run 或 Build-debug。如何在没有 Xcode 启动的情况下将应用程序部署到设备。我想这样做是因为我读到如果 Xcode 启动您的应用程序,它会禁用看门狗进程。

谢谢,

【问题讨论】:

【参考方案1】:

Xcode 的 Organzier(可从菜单中获得:Window/Organizer)将允许您将应用加载到设备上。然后,您可以在没有调试器的情况下运行应用程序。

【讨论】:

谢谢,成功了。我能够将 XXX.app 文件从 Products 文件夹拖到 Organizer 中的设备上,它出现在设备上但没有启动。【参考方案2】:

我不确定这在 Xcode 中是否可用,但一种解决方法是让您将代码添加到您的应用程序以始终强制它在启动时通过初始化代码路径。例如,如果您在创建数据库时受到监视,请添加一些代码以在启动后立即删除数据库,这样您将始终重新创建数据库。这应该适用于您的调试目的。

【讨论】:

OP 正在尝试运行没有附加调试器来观察看门狗的行为。 (如果您正在调试,看门狗计时器不会启动。)问题不是强制数据库重新创建。 对。他将从 Xcode 运行一次以将应用程序放到设备上,然后他将终止该进程并通过在 iPhone 上点击它再次运行它(而不是从 Xcode 运行它)。当他第二次运行它时,它不会被 Xcode 附加,他将能够像第一次启动一样观察它的行为。 这似乎也可以,谢谢瑞恩。在这种情况下,我会选择 Jon 的答案,因为它不涉及代码更改。 是的,他是更好的答案。 :)

以上是关于在不启动应用程序的情况下将应用程序从 Xcode 部署到设备的主要内容,如果未能解决你的问题,请参考以下文章

如何在不使用 Xcode 的情况下将 iCloud Documents 功能添加到我的应用程序?

在不安装 Xcode 的情况下将 GCC 安装到 Mac OS X Leopard

在不启动接收活动的情况下将数据传递给活动 (Android)

c#在不退出子线程的情况下将值从子线程传递给父线程

在不知道编码类型的情况下将 NSData 转换为 NSString

在不知道类型的情况下将程序集从文件加载到自定义 AppDomain