gpt4 book ai didi

ios - 在通过 iOS App Store 更新期间,什么可能会破坏应用程序?

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:22:42 26 4
gpt4 key购买 nike

我在 App Store 中遇到了一个非常奇怪且极难解决的 iPad 应用程序问题。在过去的几周内,有关该应用程序在推出新版本后不再运行的报道成倍增加。现在,我能够在一台内部新 iPad 上重现该问题,该新 iPad 从旧版本的备份中恢复,然后通过正常的 App Store 程序进行更新。

问题:虽然应用程序在通过 App Store 全新安装或通过 XCode 运行时工作正常,但在更新后它根本无法按预期工作。但是,一旦应用程序处于“损坏”状态,我什至无法通过有效的 XCode 安装新版本。在这种情况下,这可能是一件好事,因为它将帮助我解决这个问题。

我们有什么:

  • 该应用有一组 UIWebView从网页加载内容。
  • 网页加载 Javascript 框架并创建全局对象 h5可用于调用其中的方法。
  • 从这里开始,通信应用程序 -> UIWebView 是通过 [webView stringByEvaluatingJavaScriptFromString] 调用此 h5 完成的对象。

问题来了:

  • HTML 在 UIWebView 中设置正常,但如果更新应用程序,JavaScript 似乎不会执行。
  • 我可以通过 [webView stringByEvaluatingJavaScriptFromString] 运行 javascript 东西并且我能够检索呈现的 outerHTML这样只是为了找出我的<script>东西丢失,因此没有执行。

不用说,如果我通过应用商店或 XCode 进行全新安装,应用运行良好,JavaScript 已执行,没有任何问题。

到目前为止我尝试了什么:

  • 我们使用 Three20 库来实现我们的一些功能,它有一个缓存。此缓存已被清除并检查是否真的被清除。
  • 我删除了 <Application root>/Library/caches 中的所有内容
  • 而不是通过单独的请求加载 URL,然后通过 [webView loadData] 将其推送到 WebView我尝试过了
    • 使用[webView loadRequest] 直接从网络服务器加载URL
    • 转换NSDataNSString并通过 [webView loadHTMLString] 插入它
    • 有一个NSString按住 html 并将其推送到 [webView loadHTMLString]无需远程加载内容。

我有点不明白这里可能是什么原因,我想听听您对这个问题的看法。我错过了什么吗?

最佳答案

首先,我可以说我不知道​​为什么您的特定系统无法正常工作。不过,我可以提供一些我希望有用的建议。

根据你所说的,我了解到:

  1. 应用程序的版本 A 有效
  2. 全新安装版本 B 的应用程序有效
  3. 在版本 A 之上安装版本 B 可以管理应用程序。

对我来说,这表明版本 A 遗留了一些干扰版本 B 的东西 - 例如位于优先于新文件的路径中的旧文件。

我知道您说过您清理了缓存,但是系统中是否还有其他地方存储了未被清理的数据?

因此,总的来说,我建议对应用程序进行一些深入的取证,以跟踪每个版本中所有 Assets 的名称和位置,并确保它们可以被记录下来。

好处是,当您管理应用程序时,它是永久性的。这种错误比“有时”发生的错误更容易定位。

关于ios - 在通过 iOS App Store 更新期间,什么可能会破坏应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9913279/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com