【问题标题】:My App doesn't work on the release mode after upgraded to the Xcode 11.4 or later升级到 Xcode 11.4 或更高版本后,我的应用程序无法在发布模式下运行
【发布时间】:2021-02-08 05:51:46
【问题描述】:

当我将 Xcode 版本更新到 11.4 或更高版本时,我遇到了一个问题。 该项目在调试模式下运行良好。

创建了一个密钥对,然后通过私钥对数据进行签名并将其发送到服务器。最后,服务器可以通过公钥验证签名数据。

但是当我转到发布模式时,服务器无法再验证签名数据。

两种模式下的私钥相同。

有了这个私钥,我已经切换到 Xcode 11.3 或更早版本,一切都像一个魅力,我不知道。

PS:由于我的应用程序致力于创建密钥对 (ECDSA),因此与签名数据有关的部分可能无法正常工作。

我已经尝试过这种方式,我在两种模式(调试和发布)下为所有属性设置了相同的值,但问题仍然存在。

更新:如果我知道 Xcode 11.3 和 11.4 或更高版本之间的不同之处,那可能会有所帮助。

如果您需要更多信息,请告诉我。 提前致谢。

【问题讨论】:

  • 请提供比“不起作用”更多的信息。您在控制台日志中收到什么消息?它会崩溃吗?什么是异常消息?它是否运行但没有产生正确的输出或行为?如果是,请显示相关代码。
  • @Paulw11 感谢您的通知,我已经添加了一些信息,而且,在我看来,它与代码无关,但如果您认为它会更好,我可以添加它可预见的未来。
  • @Paulw11自从我编辑了我的帖子后,我想它需要一些时间才能出现。顺便说一句,在调试模式下创建了一个密钥对,签名功能工作正常,服务器验证签名数据没有任何问题,但是当我转向发布模式时,相同的代码相同的私钥和相同的签名功能看起来工作正常,但服务器可以'不验证签名数据。
  • 我建议你检查两个Xcode版本中的优化设置;也许这导致了你的问题。如果您可以创建一个重现故障的minimal reproducible example,那么人们会更容易帮助您。
  • @Paulw11谢谢 Paul,我会检查优化设置。关于最小可重现示例,我可以在客户端(iPhone)上准备一个 empale,但我必须与服务器端协调才能将响应发送到最小应用程序。所以让我检查一下,我会尽快告诉你。

标签: ios xcode cryptography xcode11.3 xcode11.4


【解决方案1】:

根据@Paulw 的推荐,我做了a simple app,我可以重现这个bug。
所以我意识到这个错误必须解决内存问题。
终于,有了this thread,我可以解决了。

【讨论】:

    猜你喜欢
    • 2023-02-07
    • 2021-12-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多