我的Cocoa应用程序在Mac OS X 10.6上运行正常,但是如果我尝试在10.7下运行它,它会崩溃并显示以下堆栈跟踪:
Thread 5 Crashed:
0 libicucore.A.dylib 0x9a860a07 0x9a7df000 + 530951
1 libicucore.A.dylib 0x9a861959 0x9a7df000 + 534873
2 libicucore.A.dylib 0x9a7e26fc uloc_canonicalize + 38
3 libicucore.A.dylib 0x9a7e5179 uloc_minimizeSubtags + 71
4 libicucore.A.dylib 0x9a7e4dda icu::Calendar::setWeekData(icu::Locale const&, char const*, UErrorCode&) + 242
5 libicucore.A.dylib 0x9a7e4cd7 icu::Calendar::Calendar(icu::TimeZone*, icu::Locale const&, UErrorCode&) + 161
6 libicucore.A.dylib 0x9a7e2c73 icu::GregorianCalendar::GregorianCalendar(icu::Locale const&, UErrorCode&) + 49
7 libicucore.A.dylib 0x9a7e2248 icu::Calendar::createInstance(icu::TimeZone*, icu::Locale const&, UErrorCode&) + 762
8 libicucore.A.dylib 0x9a7dfa8a ucal_open + 352
9 com.apple.CoreFoundation 0x9b2eb41e __CFCalendarCreateUCalendar + 430
10 com.apple.CoreFoundation 0x9b2eb1a9 CFCalendarCreateWithIdentifier + 537
请告诉我,是否可以在不重建10.7下的申请的情况下解决问题?也许我应该以某种方式静态链接我使用的Cocoa库和框架?
请帮忙!
答案 0 :(得分:1)
如果不重建整个程序,您可能需要检查某些库的版本。如果系统库从10.6更改为10.7,则可能需要更新某些呼叫。
我不知道您有哪些依赖项,但可能会尝试查看您的OSX 10.7是否有最新版本
编辑:我不知道包含对象日历的库是否是你构建的,但我会从查看它的依赖开始。
答案 1 :(得分:0)
实际上这个问题与NSLog类有关,由于某些愚蠢的原因,它在10.7中似乎是非线程安全的......