我有一个Objective-C iPad应用程序我想构建一个不透明的静态库,因此我可以使用X代码将其提供给测试人员进行测试而不给他们源代码。我怎么能这样做?
答案 0 :(得分:5)
使用“静态库”目标。将您的源添加到目标,然后构建。由于Objective-C被编译为机器代码,因此生成的库只是二进制的。也就是说,Objective-C二进制文件并不像C ++那样难以挖掘。由于Objective-C使用运行时调度,因此会保留许多符号名称。在命令行使用classdump
,用户仍然可以至少学习二进制文件中的类和选择器。如果这是不可接受的,你将不得不考虑用纯C编写库(我不鼓励你使用C ++,因为它要求客户只使用Objective-C ++来使用你的库)。
答案 1 :(得分:2)
编译Objective-C,所以只需编译它然后分发二进制文件。
答案 2 :(得分:2)
如果您希望收件人能够在设备和模拟器上进行测试,请构建一个胖库。我喜欢胖{2}上的this article。
静态库本身并不是很有用。您可能希望复制整个项目,删除除main.m之外的所有标题和源,并添加静态库。这样,所有资源,框架和构建规则都将保持一致。然后发送库,项目和所有资源。
答案 3 :(得分:0)
除非有特定原因要求测试人员通过XCode访问您的应用程序,否则您可以构建一个可以安装在最多100台设备上的ad-hoc分发二进制文件。查看iPhone的“Ad Hoc Distribution”。