CI/CD .ipa 文件中的 CI/CD 工具参考
References for CI/CD tool inside iOS .ipa file
我正在使用的应用程序已经过审核,安全团队存在一个问题:因此,出于某种原因,如果我提取 .ipa
的有效负载,我能够确定哪个 CI/CD 工具被用来生成它。例如:
航站楼:
cd MyApp.app <- payload
strings * > ~/Desktop/file.txt
在文件中我可以发现我们正在使用 jenkins
/Volumes/jenkins-workspace/MyApp-Generic/MyApp/MyApp/SomeViewModel.swift
有没有人遇到过这个问题(如果我们可以称之为问题的话)?有没有办法混淆或完全删除 IPA 中的此类引用?
谢谢
该文件中是否有 fatalError() 调用?如果是这样,运行时将报告文件和行号。如果您真的需要 fatalError 调用,这里是 a way to fix that。
如果您的任何源文件中有#file 编译器指令,它们将在可执行文件中记录该文件的路径。
Swift 5.3 introduces a #fileID identifier which produces a shorter
string than #file. The #fileID string contains the filename and module
name, but leaves out the rest of the path to the file; this saves
space, improves performance, and avoids accidentally embedding private
information like the developer’s home directory name in binaries.
Compiler-generated error messages (like force-unwraps) and standard
library assertions like precondition and fatalError now use #fileID
strings, and we recommend you use them instead of #file in production
code. (SE-0285, 65514304)
这几乎概括了我的问题。我在某些方法(主要用于日志)中使用 #file
标识符,调用该方法的每个文件都将嵌入应用程序二进制文件中。
参考:https://developer.apple.com/documentation/xcode-release-notes/xcode-12-release-notes
我正在使用的应用程序已经过审核,安全团队存在一个问题:因此,出于某种原因,如果我提取 .ipa
的有效负载,我能够确定哪个 CI/CD 工具被用来生成它。例如:
航站楼:
cd MyApp.app <- payload
strings * > ~/Desktop/file.txt
在文件中我可以发现我们正在使用 jenkins
/Volumes/jenkins-workspace/MyApp-Generic/MyApp/MyApp/SomeViewModel.swift
有没有人遇到过这个问题(如果我们可以称之为问题的话)?有没有办法混淆或完全删除 IPA 中的此类引用?
谢谢
该文件中是否有 fatalError() 调用?如果是这样,运行时将报告文件和行号。如果您真的需要 fatalError 调用,这里是 a way to fix that。
如果您的任何源文件中有#file 编译器指令,它们将在可执行文件中记录该文件的路径。
Swift 5.3 introduces a #fileID identifier which produces a shorter string than #file. The #fileID string contains the filename and module name, but leaves out the rest of the path to the file; this saves space, improves performance, and avoids accidentally embedding private information like the developer’s home directory name in binaries. Compiler-generated error messages (like force-unwraps) and standard library assertions like precondition and fatalError now use #fileID strings, and we recommend you use them instead of #file in production code. (SE-0285, 65514304)
这几乎概括了我的问题。我在某些方法(主要用于日志)中使用 #file
标识符,调用该方法的每个文件都将嵌入应用程序二进制文件中。
参考:https://developer.apple.com/documentation/xcode-release-notes/xcode-12-release-notes