iPhone App处于挂起状态,由URL启动,显示Default.png

时间:2010-10-28 22:37:39

标签: iphone ios

该应用响应自定义网址,并在处于暂停状态时正确启动。问题是,我可以通过这种方式禁用显示Default.png吗?

清晰的用例

  1. app正常启动
  2. 主页按钮按下可将应用程序置于待机状态
  3. 应用程序识别的方案的网址在手机游戏中被点击
  4. 用户在启动完成之前会看到Default.png。
  5. 正如您可能知道的那样,当快速应用切换激活时,通常会使用最后一个状态的屏幕截图而不是Default.png重新显示应用。这也是我希望在URL启动时发生的事情。

3 个答案:

答案 0 :(得分:3)

听起来好像是Fast App Switching实际上并没有工作。所以:

  1. 确保您正在构建SDK for OS 4.0的应用程序。如果不这样做,您的应用将无法获得快速的应用切换支持。

  2. 查看正常的快速应用切换(否则)是否适用于您的应用。 I.E.当你刚刚切换到safari,然后重新启动你的应用程序时,你会得到“default.png”吗?

  3. 在调试器下运行应用程序,但在您的实际设备上运行。让问题发生,进入管理器,查看设备日志。这将显示是否存在导致应用程序终止的低内存问题,当Safari启动时,因此需要在 重新启动时被选中了。

  4. 我相信有两个机制。在我的应用程序中,我不支持“使用URL启动” - 但我所做的是支持Application Delegate的调用:

  5. -(BOOL) application:(UIApplication *) application handleOpenURL:(NSURL *) url {

    这可能是不同的 - 这是可以对正在运行 的应用程序进行的调用。如果您使用的是其他技术,请使用此代替。我使用它,并没有看到“default.png” - 即当我被调用时不要唤起“干净的重新启动”。

答案 1 :(得分:3)

这是一种可行的解决方法。这让我头疼,试图从Facebook的单点登录过程无缝返回。我想要回到我的应用程序的登录区域,而不是重新启动应用程序的外观,即使我以各种可能的方式验证应用程序确实从快速应用程序切换返回而不是实际重新启动。

虽然我找不到任何方法强制应用程序显示上一个状态的屏幕截图,但我确实发现应用程序将显示Default- scheme .png(例如,Default-fb12345。使用url调用时,png或Default-appname.png)。因此,如果您的应用后切换截图是可预测的,请从iOS模拟器中获取屏幕截图并将其复制到您的应用中。我认为这是一个iOS错误。应用程序切换时应该始终显示最后一个屏幕截图,而不是Default- scheme .png只是因为涉及到网址。

我没有测试的另一种可能性是将bundle的Default- scheme .png(和Default- scheme @ 2x.png)符号链接到应用程序主目录中的快照文件。对于大多数情况,这将是Library / Caches / Snapshots / [Bundle identifier] /UIApplicationAutomaticSnapshotDefault-Portrait@2x.jpg(除非它的风景或iPad)。如果你的应用程序的状态不可预测但方向是固定的,那么这可能是一个不错的选择。

答案 2 :(得分:0)

确保您已将Info.plist中的“必需背景模式”键设置为应用所需的功能。如果没有列出,我只需使用“App Plays Audio”将其保持打开状态。