Veracode、调试符号和XCode

7
我正在尝试让Veracode(一个应用程序安全平台)扫描iOS应用程序。为了使他们能够扫描.IPA文件,.IPA文件需要包含调试符号。
对于正在使用的存档构建配置和项目/目标,我已经指定了以下内容:
生成调试符号:是
在复制期间剥离调试符号:否
死代码剥离:否
默认情况下隐藏符号:否
剥离链接产品:否
然而,当我提交.IPA文件时,Veracode仍然给出以下错误信息:
“没有调试符号编译的主文件 - 1个文件”
是否还有其他步骤需要采取来创建调试符号,也许是关于归档?

你找到解决方法了吗?我也有同样的问题。 - zyxel
谢谢,我已经解决了,但是在设置中我做了一个不同于你的更改,死代码剥离:是的。谢谢@skmathu!!! - Ashwin G
在Xcode 8.3.2中,我没有看到所有上述属性。我只看到“剥离链接产品”和“剥离调试符号”这两个属性在目标和项目的复制属性中。 - SameerShaik
1个回答

15

我曾经遇到过同样的问题。按照下面的 Veracode 说明,我解决了这个问题。它基本上告诉你手动创建存档包,将 .app 和 .app.sym 文件夹移动到一个新位置,然后将 zip 文件重命名为 ipa。

来自 Veracode 帮助中心:

“因为 Xcode 不会创建包含 DSYM 信息的 .IPA 包,所以你必须自己创建该包。Xcode 动态地创建一个文件夹来包含 .app 和 .app.dsym 文件。这个文件夹没有明确的路径,但是你可以在构建应用程序之后搜索该文件夹。要做到这一点,请打开 Xcode 并单击窗口左侧的 产品。右键单击 .app 文件,选择在 Finder 中显示,这会带你进入 .app 和 .app.dsym 文件所在的文件夹。一旦你找到 DSYM 信息,就可以按照以下步骤打包编译后的 iOS 应用程序:

  1. 选择应用程序的 .app 和 .app.dSYM 文件夹。
  2. 将这两个文件夹复制到一个名为 Payload 的文件夹中。注意:文件夹的名称必须大写。
  3. 创建一个zip压缩包,其中包含 Payload 文件夹。你可以在 Mac 上选择 Payload 文件夹,然后从上下文菜单中选择 Compress,或者使用您选择的兼容zip的压缩实用程序。
  4. 将生成的归档文件扩展名更改为 .ipa。
  5. 上传此存档到 Veracode 应用程序配置文件。

1
非常感谢,它起作用了。这应该被接受为正确答案。 - zyxel

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接