繁体   English   中英

可以将xcode项目构建到没有源代码的静态库中吗?

[英]Can you build an xcode project into a static library that doesn't have source code in it?

我有一个Objective-C iPad应用程序,我想从中构建一个不透明的静态库,因此我可以将其提供给使用X代码进行测试的测试人员,而无需提供源代码。 我怎样才能做到这一点?

使用“静态库”目标。 将源添加到目标并进行构建。 由于将Objective-C编译为机器代码,因此生成的库仅是二进制的。 就是说,例如,Objective-C二进制文件不像C ++那样难于挖掘。 由于Objective-C使用运行时调度,因此保留了许多符号名称。 在命令行上使用classdump ,用户仍将至少能够学习二进制文件中的类和选择器。 如果这是不可接受的,那么您将不得不考虑使用纯C语言编写库(我不鼓励您使用C ++,因为它会要求客户端仅使用Objective-C ++才能使用您的库)。

Objective-C已编译,因此只需对其进行编译,然后分发二进制文件。

如果您希望收件人能够在设备和模拟器上进行测试,请构建一个胖库。 我喜欢这篇关于胖二进制文件的文章

静态库本身并不是很有用。 您可能需要复制整个项目,删除除main.m之外的所有标头和源,并添加静态库。 这样,所有资源,框架和构建规则将保持不变。 然后发送库,项目和所有资源。

除非有特定原因,否则您希望测试人员通过XCode访问您的应用程序,否则,您可以为临时分发构建二进制文件,该二进制文件可以安装在最多100个设备上。 检查iPhone的“临时分发”。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM