应用程序从 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 运行良好?的主要内容,如果未能解决你的问题,请参考以下文章

.ipa 在 iPad 上崩溃

Xcode 6.3.2 应用程序在加载启动屏幕后崩溃

Objective-C Mapview在IPA上崩溃(appstore版本)Xcode 9运行良好[重复]

从 Xcode 项目中导出 .ipa 文件,而无需打开 Xcode

从 Xcode 12 CarPlay 模拟器启动时,CarPlay 停车应用程序崩溃

使用 xcode 从 react native 导出 ipa