【问题标题】:App crashes on some devices after update更新后某些设备上的应用程序崩溃
【发布时间】:2013-02-20 23:28:07
【问题描述】:

我在 Appstore 中更新我的应用时遇到了一些奇怪的事情。 1.4 版适用于所有设备。但是,2.0 版在更新时会在某些设备上崩溃。启动时加载屏幕甚至不会显示,应用程序会在一秒钟内崩溃。从应用商店删除并重新安装应用程序可以解决此问题。同样,这只发生在某些设备上(到目前为止,iPod、iPhone 4、iPhone 4s、iPad)。 我设法将手放在崩溃的设备上并检查设备日志。另外我想我发现了一些东西,但我无法真正理解错误。它说:

Dyld Error Message:
  Library not loaded: /System/Library/Frameworks/AdSupport.framework/AdSupport
  Referenced from: /var/mobile/Applications/(ID)/AppName.app/AppName
Reason: image not found
  Dyld Version: 199.6

我添加了 AdSupport.framework,因为我在 2.0 版的应用中实现了 Facebook,并且该文件位于我的项目中的“Frameworks”文件夹中。 有人知道如何解决这个问题吗?

如果有用的话,这里是完整的崩溃报告。

Incident Identifier: ID
CrashReporter Key:   crash key
Hardware Model:      iPod4,1
Process:         AppName [35491]
Path:            /var/mobile/Applications/id/AppName.app/AppName
Identifier:      AppName
Version:         ??? (???)
Code Type:       ARM (Native)
Parent Process:  launchd [1]

Date/Time:       2013-03-05 23:23:35.041 +0100
OS Version:      iPhone OS 5.1.1 (9B206)
Report Version:  104

Exception Type:  EXC_BREAKPOINT (SIGTRAP)
Exception Codes: 0x00000001, 0xe7ffdefe
Crashed Thread:  0

Dyld Error Message:
  Library not loaded: /System/Library/Frameworks/AdSupport.framework/AdSupport
  Referenced from: /var/mobile/Applications/(id)/AppName.app/AppName
  Reason: image not found
  Dyld Version: 199.6

Binary Images:
   0x7a000 -   0x106fff +AppName armv7  <0c108dce50ee3e65970e2538a3e319f8> /var/mobile/Applications/(id)/AppName.app/AppName
0x2fe79000 - 0x2fe9afff  dyld armv7  <77eddfd654df393ba9c95ff01715fd08> /usr/lib/dyld
0x3075a000 - 0x307d9fff  libsqlite3.dylib armv7  <bf01f5ed47b033d8bde30d735ff44416> /usr/lib/libsqlite3.dylib
0x3113c000 - 0x311a0fff  MessageUI armv7  <da7af4f9494b35558bf7892dfdb36ee3> /System/Library/Frameworks/MessageUI.framework/MessageUI

这个 iPod 有 iOS 5.1,但我也收到了关于 iOS 6.1 的报告

【问题讨论】:

  • 1.4 和 2.0 有什么区别,尤其是在使用的框架上?
  • 添加了更多框架 1.4:SystemConfiguration、CoreLocation、MapKit、QuartzCore、UIKit、Foundation、CoreGraphics、CoreData 2.0:MessagesUI、FacebookSDKResources.bundle、FacebookSDK、Social、Accounts、SystemConfiguration、CoreLocation、Mapkit、 QuartzCore、UIKit、Foundation、CoreGraphics、CoreData
  • 还添加了 Flurry Analytics、Facebook 实施、应用内电子邮件,

标签: objective-c xcode app-store updates crash-reports


【解决方案1】:

因为 AdSupport.framework 仅在 iOS 6 上可用。所以 Dyld 无法找到过去 IOS 上不存在的东西。即使您将框架添加到您的项目中,您实际上也不会包含二进制文件,而只是包含引用。

如果在您重新安装应用时它没有崩溃,那可能是因为当时它没有使用 adSupport 功能。但我不确定这个理论,因为我没有编写你的代码;)

这里是苹果可用的框架链接,希望对你有帮助 http://developer.apple.com/library/ios/#documentation/miscellaneous/conceptual/iphoneostechoverview/iPhoneOSFrameworks/iPhoneOSFrameworks.html

【讨论】:

  • 谢谢...如果你在输入那个答案,我把头发拉出来了。我现在检查我所有的框架并将重新提交我的应用程序
  • 我的链接框架和库中也有 FacebookSDK.framework。在您的列表中找不到该框架。这需要设置为必需还是可选?
  • 似乎 facebookSDK,已经作为 ios 的静态库提供。这意味着它将与您的应用程序二进制文件一起编译。只要您尊重 FacebookSDK 的要求,就可以了。您应该阅读他们的文档以确定。
猜你喜欢
  • 1970-01-01
  • 2023-04-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多