【问题标题】:My iOS app works in simulator but instantly crashes when I try to open it on my phone我的 iOS 应用程序在模拟器中运行,但当我尝试在手机上打开它时立即崩溃
【发布时间】:2015-06-14 07:26:05
【问题描述】:

[编辑] 可能的解决方法:我的 ipa 未签名,我购买了开发者帐户,明天将使用已签名的 .ipa 进行测试。 [/EDIT] 这是我的第二个应用程序。这很简单,它所做的就是向我的服务器发送一个发布请求,并显示一个响应。它在 Xcode 上的 iOS 模拟器上完美运行,但是当我将 ipa 推送到手机时,它就崩溃了。我的一个朋友也测试了它,并且发生了同样的情况。你能看一下代码吗? 时间不长: https://drive.google.com/file/d/0ByoF_XNJWlVyeHJHdHp3LVdTS3c/view?usp=sharing 这是ipa: https://drive.google.com/file/d/0ByoF_XNJWlVyeGJrNldMb1BPMVE/view

我也不能/不知道如何在我的手机上获取应用程序的崩溃报告,所以如果你需要,我也需要有关如何获取它的帮助。

提前致谢!

【问题讨论】:

  • 在发出发布请求之前确保您的手机已连接到互联网,并且您提交了构建而不是我无法检查您的代码的代码
  • 嗯,我刚刚在我的设备上运行了这个项目,它工作得非常好。它要求输入一些代码以继续。
  • 你能做的就是对所有异常都下断点,在调试的时候,检查代码在哪里中断。 i.stack.imgur.com/LPKMV.png。还要进行干净的构建。
  • @BurhanuddinSunelwala 你能告诉我在哪个设备/iOS 版本上吗?谢谢!
  • iPhone 5 - iOS 8.1.2

标签: ios objective-c xcode xcode5


【解决方案1】:

购买开发者帐户解决了我的问题。

【讨论】:

    【解决方案2】:

    如果你能粘贴崩溃报告会很有帮助,你可以连接你的设备并调试它。

    可能性是:您可能使用 iOS SDK 8.0 或更高版本构建了您的应用程序,并尝试在较低版本上运行它。 此外,为了使其与您的设备兼容,您需要避免使用 iOS8 中引入的方法。

    【讨论】:

    • 感谢您的建议。我用 XCode 5.1 写了这个应用,部署目标是 7.1,基础 SDK 也是 7.1。我正在 iPhone 6+ 8.1.1 上对其进行测试。在我的手机上,在设置 - 隐私 - 诊断和使用 - 数据 - 我找不到 RealCode 应用程序的崩溃报告...
    • 我刚刚下载了您的应用并将其安装在我的设备上。您需要将代码签名从开发人员更改为分发。只需在 Build Settings --> Code Signing 中检查您的 Target 即可。检查更新答案中的屏幕截图
    • 恐怕我还没有开发者帐户,因此我无法签署该应用程序:/ 但我想这就是问题所在。问你是否可以上传签名的.ipa让我测试是不是太过分了?
    • 如果我有自己的帐户,我会这样做的 :)。但是由于我使用的是我组织的开发帐户,因此我无权这样做。至少你现在知道解决方案了:)
    • 按照以下步骤创建 ipa。 (stackoverflow.com/questions/26928721/…) 并将其上传到 (diawi.com/#),您将获得一个链接。在您设备的浏览器中打开该链接。
    【解决方案3】:

    正如您所提到的,您已经使用 Xcode 5.1 开发了应用程序,并将目标部署到 7.1。
    如果你想确保它应该在最新版本上工作,你需要更新你的 xcode 并将基本 sdk 设置为最新,部署目标你可以设置 7.0

    【讨论】:

    • 我无法升级 xcode,因为我不在 Yosemite 上,并且由于某种原因我的更新失败。这也是在 hackintosh 上......但我会继续尝试更新,谢谢
    【解决方案4】:

    在您发出发布请求以检查互联网是否已连接之前添加此内容..

    NSURL *scriptUrl = [NSURL URLWithString:@"http://www.google.com"];
    NSData *data = [NSData dataWithContentsOfURL:scriptUrl];
    if (data){
        [self yourPostMethod];
    }
    
    else{
        UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"Network not Reachable" message:@"Please check your internet connection!" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil, nil];
    
            [alert show];
    }
    

    【讨论】:

    • 要查看源代码,请下载第一个链接上的 zip 文件,它应该在 RealCode/RealCode/RCViewController.m 上
    猜你喜欢
    • 1970-01-01
    • 2017-05-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-26
    相关资源
    最近更新 更多