IPA文件结构 - SupportSwift&符号 [英] IPA File Structure - SupportSwift & Symbols

查看:923
本文介绍了IPA文件结构 - SupportSwift&符号的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

解压缩.ipa文件时,输出为: Payload 目录,其中包含该应用程序。但是,有时输出为: Payload SwiftSupport Symbols 目录。

When unzipping the ".ipa" file, the output is: Payload directory that contains the application. However, sometimes the output is: Payload, SwiftSupport and Symbols directories.


  • 生成 SwiftSupport Symbols 目录的条件是什么?

  • What are the conditions to generate both SwiftSupport and Symbols directories?

另外,我注意到 SwiftSupport 包含 .dylib 文件,我假设它们已经存在于应用程序中(右键单击 - >显示包内容 - >框架),所以:

Also, I noticed that SwiftSupport contains .dylib files, which -I assume- they are already exist in the application (right click -> show package contents -> frameworks), so:


  • 应用程序即使它们不存在也应该正常工作,什么是生成它们的目的是什么?

我找不到任何有用的参考来描述我正在寻找的东西。

I couldn't find any useful reference to describe what I'm looking for.

推荐答案

在使用归档器后,我找到了所有问题的答案。



After playing with archiver I found answers for all your questions.


生成SwiftSupport和Symbols目录有哪些条件?

What are the conditions to generate both SwiftSupport and Symbols directories?

SwiftSupport fo lder由目标的构建设置中的选项 ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES 管理

SwiftSupport folder is managed by option ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES from target's Build Settings

符号目录由导出对话框上的复选框管理:

Symbols directory is managed by checkbox on export dialog:

自Xcode 7起,还支持 exportOptionsPlist 带命令行构建的符号导出选项,更多详细信息这里

Since Xcode 7 there is also support for exportOptionsPlist with symbol export option for command line build, more details here


应用程序即使不存在也应该正常工作,生成它们的目的是什么?

The application should work fine even if they are not exist, what are the purpose of generating them?

答案对于这个问题,我发现...苹果的文档:

Answer to this question I found in ... apple's documentation:


始终嵌入Swift标准库在目标产品中,即使目标不包含任何Swift代码。例如,如果目标是嵌入包含Swift的其他产品,或者如果它是一个不包含Swift但正在测试产品的测试目标,则应启用此功能。此设置仅适用于包装产品,而不适用于独立的二进制产品。

Always embed the Swift standard libraries in the target's products, even if the target does not contain any Swift code. For example, this should be enabled if the target is embedding other products which contain Swift, or if it is a test target which does not contain Swift but which is testing a product which does. This setting only applies to wrapped products, not to standalone binary products.

因此,即使不使用,应用程序的.ipa也可以包含此文件夹直接的swift

So application's .ipa can contains this folder with libraries even without using of swift directly

这篇关于IPA文件结构 - SupportSwift&符号的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆