应用程序从 ipa 文件崩溃,但从 Xcode 运行良好?
Posted
技术标签:
【中文标题】应用程序从 ipa 文件崩溃,但从 Xcode 运行良好?【英文标题】:App Crashes From ipa file but runs fine from Xcode? 【发布时间】:2017-08-09 19:26:49 【问题描述】:当我直接从 Xcode 运行我的项目到我的设备时,它运行完美,没有任何崩溃。但是,当我创建该项目的 ipa 文件并使用 iTunes 将该 ipa 安装到我的设备中时,当我单击登录按钮时它崩溃了,后来尝试登录后它工作正常。
如果在互联网上参考这个问题,它对我没有帮助。这是我参考的链接
App works fine with developer build with xcode. But crashes when run using ipa file
Gameplay Crashes From ipa file but runs fine from Xcode?
我不明白实现 ipa 文件的实际问题是什么。 为什么当我直接从 Xcode 运行它时它不会崩溃。作为 ipa 或从 Xcode 运行时,是否有任何代码压缩或不同的代码编译机制。
任何帮助将不胜感激。
崩溃日志
Thread 0 name: Dispatch queue: com.apple.main-thread
Thread 0 Crashed:
0 libswiftCore.dylib 0x00000001010b25dc 0x100f74000 + 1304028
1 AppName 0x00000001001030c4 0x1000bc000 + 291012
2 Appname 0x00000001001062cc 0x1000bc000 + 303820
3 Alamofire 0x00000001004c9c9c 0x10047c000 + 318620
4 Alamofire 0x00000001004c899c 0x10047c000 + 313756
5 Alamofire 0x0000000100486d08 0x10047c000 + 44296
6 libdispatch.dylib 0x000000018571e1fc 0x18571d000 + 4604
7 libdispatch.dylib 0x000000018571e1bc 0x18571d000 + 4540
8 libdispatch.dylib 0x0000000185722d68 0x18571d000 + 23912
9 CoreFoundation 0x0000000186842810 0x186765000 + 907280
10 CoreFoundation 0x00000001868403fc 0x186765000 + 898044
11 CoreFoundation 0x000000018676e2b8 0x186765000 + 37560
12 GraphicsServices 0x0000000188222198 0x188216000 + 49560
13 UIKit 0x000000018c7b57fc 0x18c73b000 + 501756
14 UIKit 0x000000018c7b0534 0x18c73b000 + 480564
15 AppName 0x0000000100139e4c 0x1000bc000 + 515660
16 libdyld.dylib 0x00000001857515b8 0x18574d000 + 17848
Thread 1:
0 libsystem_kernel.dylib 0x0000000185863a88 0x185844000 + 129672
1 libsystem_pthread.dylib 0x0000000185927344 0x185926000 + 4932
2 libsystem_pthread.dylib 0x0000000185926d8c 0x185926000 + 3468
Thread 2:
0 libsystem_kernel.dylib 0x0000000185863a88 0x185844000 + 129672
1 libsystem_pthread.dylib 0x0000000185927160 0x185926000 + 4448
2 libsystem_pthread.dylib 0x0000000185926d8c 0x185926000 + 3468
Thread 3:
0 libsystem_kernel.dylib 0x0000000185863a88 0x185844000 + 129672
1 libsystem_pthread.dylib 0x0000000185927344 0x185926000 + 4932
2 libsystem_pthread.dylib 0x0000000185926d8c 0x185926000 + 3468
Thread 4:
0 libsystem_kernel.dylib 0x0000000185863a88 0x185844000 + 129672
1 libsystem_pthread.dylib 0x0000000185927344 0x185926000 + 4932
2 libsystem_pthread.dylib 0x0000000185926d8c 0x185926000 + 3468
Thread 5 name: com.apple.uikit.eventfetch-thread
Thread 5:
0 libsystem_kernel.dylib 0x0000000185845188 0x185844000 + 4488
1 libsystem_kernel.dylib 0x0000000185844ff8 0x185844000 + 4088
2 CoreFoundation 0x00000001868425d0 0x186765000 + 906704
3 CoreFoundation 0x00000001868401ec 0x186765000 + 897516
4 CoreFoundation 0x000000018676e2b8 0x186765000 + 37560
5 Foundation 0x00000001872ab26c 0x18729f000 + 49772
6 Foundation 0x00000001872cbdd0 0x18729f000 + 183760
7 UIKit 0x000000018d129c38 0x18c73b000 + 10415160
8 Foundation 0x00000001873a8e68 0x18729f000 + 1089128
9 libsystem_pthread.dylib 0x0000000185929850 0x185926000 + 14416
10 libsystem_pthread.dylib 0x0000000185929760 0x185926000 + 14176
11 libsystem_pthread.dylib 0x0000000185926d94 0x185926000 + 3476
Thread 6:
0 libsystem_kernel.dylib 0x0000000185862e1c 0x185844000 + 126492
1 libsystem_pthread.dylib 0x00000001859289c0 0x185926000 + 10688
2 libc++.1.dylib 0x00000001852513ec 0x18524a000 + 29676
3 javascriptCore 0x000000018b0725d0 0x18a799000 + 9278928
4 JavaScriptCore 0x000000018b072544 0x18a799000 + 9278788
5 JavaScriptCore 0x000000018b072424 0x18a799000 + 9278500
6 JavaScriptCore 0x000000018b0726d4 0x18a799000 + 9279188
7 libsystem_pthread.dylib 0x0000000185929850 0x185926000 + 14416
8 libsystem_pthread.dylib 0x0000000185929760 0x185926000 + 14176
9 libsystem_pthread.dylib 0x0000000185926d94 0x185926000 + 3476
Thread 7 name: com.apple.NSURLConnectionLoader
Thread 7:
0 libsystem_kernel.dylib 0x0000000185845188 0x185844000 + 4488
1 libsystem_kernel.dylib 0x0000000185844ff8 0x185844000 + 4088
2 CoreFoundation 0x00000001868425d0 0x186765000 + 906704
3 CoreFoundation 0x00000001868401ec 0x186765000 + 897516
4 CoreFoundation 0x000000018676e2b8 0x186765000 + 37560
5 CFNetwork 0x0000000186f73a70 0x186e94000 + 916080
6 Foundation 0x00000001873a8e68 0x18729f000 + 1089128
7 libsystem_pthread.dylib 0x0000000185929850 0x185926000 + 14416
8 libsystem_pthread.dylib 0x0000000185929760 0x185926000 + 14176
9 libsystem_pthread.dylib 0x0000000185926d94 0x185926000 + 3476
Thread 8 name: JIT Worklist Worker Thread
Thread 8:
0 libsystem_kernel.dylib 0x0000000185862e1c 0x185844000 + 126492
1 libsystem_pthread.dylib 0x00000001859289c0 0x185926000 + 10688
2 libc++.1.dylib 0x00000001852513ec 0x18524a000 + 29676
3 JavaScriptCore 0x000000018b05ad64 0x18a799000 + 9182564
4 JavaScriptCore 0x000000018ae32a5c 0x18a799000 + 6920796
5 JavaScriptCore 0x000000018ae32eac 0x18a799000 + 6921900
6 JavaScriptCore 0x000000018a7a300c 0x18a799000 + 40972
7 JavaScriptCore 0x000000018a7a2f1c 0x18a799000 + 40732
8 libsystem_pthread.dylib 0x0000000185929850 0x185926000 + 14416
9 libsystem_pthread.dylib 0x0000000185929760 0x185926000 + 14176
10 libsystem_pthread.dylib 0x0000000185926d94 0x185926000 + 3476
Thread 9 name: WTF Parallel Helper Thread
Thread 9:
0 libsystem_kernel.dylib 0x0000000185862e1c 0x185844000 + 126492
1 libsystem_pthread.dylib 0x00000001859289c0 0x185926000 + 10688
2 libc++.1.dylib 0x00000001852513ec 0x18524a000 + 29676
3 JavaScriptCore 0x000000018b05ad64 0x18a799000 + 9182564
4 JavaScriptCore 0x000000018b05a2e8 0x18a799000 + 9179880
5 JavaScriptCore 0x000000018b05a088 0x18a799000 + 9179272
6 JavaScriptCore 0x000000018a7a300c 0x18a799000 + 40972
7 JavaScriptCore 0x000000018a7a2f1c 0x18a799000 + 40732
8 libsystem_pthread.dylib 0x0000000185929850 0x185926000 + 14416
9 libsystem_pthread.dylib 0x0000000185929760 0x185926000 + 14176
10 libsystem_pthread.dylib 0x0000000185926d94 0x185926000 + 3476
Thread 10 name: com.apple.CoreMotion.MotionThread
Thread 10:
0 libsystem_kernel.dylib 0x0000000185845188 0x185844000 + 4488
1 libsystem_kernel.dylib 0x0000000185844ff8 0x185844000 + 4088
2 CoreFoundation 0x00000001868425d0 0x186765000 + 906704
3 CoreFoundation 0x00000001868401ec 0x186765000 + 897516
4 CoreFoundation 0x000000018676e2b8 0x186765000 + 37560
5 CoreFoundation 0x00000001867bbb44 0x186765000 + 355140
6 CoreMotion 0x000000018d631120 0x18d5c3000 + 450848
7 libsystem_pthread.dylib 0x0000000185929850 0x185926000 + 14416
8 libsystem_pthread.dyli 0x0000000185929760 0x185926000 + 14176
9 libsystem_pthread.dylib 0x0000000185926d94 0x185926000 + 3476
Thread 0 crashed with ARM Thread State (64-bit):
x0: 0x0000000101524380 x1: 0x00000001702f4d00
x2:0x0000000000000008 x3: 0x00000001858a922c
x4: 0x0000000000000014 x5: 0x0000000000000010 x6:
0x0000000000000000 x7: 0x0000000000000600
x8: 0x00000001702f4900 x9: 0x00000001702f4900 x10:
0x0000000000000001 x11: 0xbaddc0dedeadbead
x12: 0x0000010000000100 x13: 0x206e6120676e6970 x14:
0x6c616e6f6974704f x15: 0x000a65756c617620
x16: 0x00000001858996b0 x17: 0x0000000000000000 x18:
0x0000000000000000 x19: 0x0000000170442eb0
x20: 0x0000000170e67400 x21: 0x0000000000000000 x22:
0x0000000000000000 x23: 0x0000000000000014
x24: 0x00000001ac178d20 x25: 0x0000000000000000 x26:
0xffffffffffffffff x27: 0x0000000170e67400
x28: 0x0000000002ffffff fp: 0x000000016fd415b0 lr:
0x00000001010b25dc
sp: 0x000000016fd415a0 pc: 0x00000001010b25dc cpsr: 0x20000000
谢谢
【问题讨论】:
如果是特殊问题,看看系统日志就好了。 有时您需要检查您正在使用的编译标志。某些标志可能会导致设备崩溃。 @SamuelTulach 我检查了崩溃日志:线程 0 名称:调度队列:com.apple.main-thread 线程 0 崩溃:这是我看到的崩溃部分。 @Zico 实际上是在应用程序启动时登录页面。当我输入用户名,密码,然后单击登录按钮时,它会崩溃。但在 xcode 中它不会粉碎它工作正常。该问题仅显示在 ipa 文件中。 【参考方案1】:您应该查看崩溃日志。
-
将您的设备连接到您的 Mac
在 Xcode 中,按 cmd+shift+2。
找到您的设备,然后按日志按钮
请稍等。然后你可以看到所有的崩溃日志。
找到与您的应用名称相同的应用。如果您不明白,请在此处发布。
【讨论】:
线程 0 名称:调度队列:com.apple.main-thread 线程 0 崩溃: @user5747934 您应该粘贴所有日志。 我添加了崩溃日志。请看一下 @user5747934 我建议您评论一些行并重建您的应用程序,重复此操作,直到您找到导致此问题的行。 我认为 Json 部分出错了。现在我正在接受你的建议。【参考方案2】:我也遇到过同样的问题
你必须编辑你的方案
存档 --> 构建配置 --> 将其设置为调试 现在尝试存档并测试您的 IPA。它应该可以正常工作。
【讨论】:
我以前做过。 :) 我们可以将这个 ipa 文件提供给 appstore,并使用“Achieve”作为调试模式? 是的,我们可以.. 我已经提交了带有调试模式的相同文件。它也获得了批准@Sreejiths 你是救命稻草。【参考方案3】:我假设您使用不同的构建配置构建您的应用程序,当您从 Xcode 运行它时基本上使用 Debug
配置和部署为 ipa 的 Release
配置。我们在发布配置中遇到了类似的问题,即无法解释的错误,并发现是 Swift 优化导致了问题。现在我们从Fast, Whole Module Optimization
切换到Fast, Single-File Optimization
以进行发布版本,直到我们可以缩小问题范围。
希望有帮助!
【讨论】:
我已经尝试过这种方法,但我发现它不起作用。在这个应用程序中,我使用的是 Alamofire,他们对此有什么问题吗? @Sreejiths 你找到解决方案了吗..? 我的调试版本工作正常,但我的发布版本出现崩溃尝试了解问题。 这对我有用。我有一个 SwiftUI 应用程序由于几乎无法调试的 EXC_BAD_ACCESS 错误而崩溃。不幸的是,较新版本的 xcode 中的选项不同,所以我选择了“None [-Onone]”优化发布以使其工作以上是关于应用程序从 ipa 文件崩溃,但从 Xcode 运行良好?的主要内容,如果未能解决你的问题,请参考以下文章
Objective-C Mapview在IPA上崩溃(appstore版本)Xcode 9运行良好[重复]
从 Xcode 项目中导出 .ipa 文件,而无需打开 Xcode