Tag: 文件大小

使用Swift脚本计算iOS框架的大小

我正在写一个Swift脚本来计算iOS框架的文件大小。 不过,我有不可思议的结果。 在一个框架中,我有这个文件结构,如Finder所示: /{FrameworkName}.framework/Modules/{FrameworkName}.swiftmodule/ /{FrameworkName}.framework/Modules/{FrameworkName}.swiftmodule/x86_64.swiftmodule /{FrameworkName}.framework/Modules/{FrameworkName}.swiftmodule/x86_64.swiftdoc 然而! 如果我运行代码来计算我的Swift脚本中的文件大小,当我循环浏览这些文件时,我看到这些文件: /{FrameworkName}.framework/Modules/{FrameworkName}.swiftmodule/ /{FrameworkName}.framework/Modules/{FrameworkName}.swiftmodule/arm64.swiftmodule /{FrameworkName}.framework/Modules/{FrameworkName}.swiftmodule/arm.swiftmodule /{FrameworkName}.framework/Modules/{FrameworkName}.swiftmodule/arm64.swiftdoc /{FrameworkName}.framework/Modules/{FrameworkName}.swiftmodule/arm.swiftdoc 正如你所看到的,这些文件似乎分裂成两个不同的文件,每个架构都没有在Finder中显示。 这里的问题是,这两个arm和arm64文件是相同的大小计数,因此我的文件大小的iOS框架的双重计数! 现在我认为这可能是一个Swift循环如何通过文件结构的错误,但也许我做错了什么。 这是我的文件大小计算代码: var bool: ObjCBool = false if FileManager.default.fileExists(atPath: documentsDirectoryURL.path, isDirectory: &bool), bool.boolValue { var folderSize = 0 FileManager.default.enumerator(at: documentsDirectoryURL, includingPropertiesForKeys: [.<key_here>], options: [])?.forEach { folderSize += (try? ($0 as? URL)?.resourceValues(forKeys: [.<key_here>]))??.<key_here> ?? 0 } return Int64(folderSize) }

App Store是否从IPA中移除架构?

自从苹果发布App Store发布的所有应用程序需要64位支持以来,我不得不构build多架构的胖二进制文件,从而增加了产生的IPA的大小。 这种大小的增加是否会直接影响到我的用户,或者App Store在下载到设备时是否会从包含fat二进制文件的IPA中删除不相关的体系结构?

iOS应用的最大尺寸

我读过苹果的开发指南有iOS应用程序大小的限制,但我真的不明白这一点。 它说: iOS应用程序可以大到2 GB,但可执行文件不能超过60 MB。 整个应用程序不是可执行文件吗? 我不明白2 GB的限制和60 MB的限制之间的差异。