7

这个问题对于 Xcode 专业人士来说很容易,但对于 MonoTouch 开发人员来说,这似乎是不可能解决的。:-)

我正在使用 Xcode 4.5,我想针对 iOS 5.1 及更高版本和 iOS Simulator 5.1 及更高版本。

我在这里有一个库项目,它带有一个名为“DemoLib”的预构建二进制文件(无扩展,大小为 11MB)。该库是模拟器和 iOS 5.1+ 的胖库。我可以毫无问题地使用该库。但是,如果我尝试自己构建库,我最终会得到一个“DemoLib.a”文件(注意扩展名和 30MB 的大小)。如何获得相同的构建结果?与没有扩展名的文件相比,什么是 .a 文件?我尝试在 Xcode 中构建“用于运行”和“用于归档”的项目。两者都产生相同的 30MB .a 文件。我期待 Xcode 中有一些下拉菜单,可以在其中选择“DEBUG”或“RELEASE”构建,而后者将创建较小的库。

4

2 回答 2

3

当然,如果没有看到框架的项目文件,我永远无法判断。话虽如此,这里有一个创建和编译 iOS 框架的优秀指南:https ://github.com/jverkoey/iOS-Framework

使用上述指南,您应该能够从头开始重新创建框架的项目,将您拥有的文件添加到其中,并正确编译它。

希望这可以帮助!:)

于 2012-12-11T23:28:47.080 回答
0

它带有 Makefile 吗?创建一个新目标,将目标的构建设置设置为 Makefile 中的内容,然后将您的项目设置为依赖于该新目标。

带有 .a 的文件是一个静态库,这意味着它不依赖任何外部资源,它需要的所有代码都在其中编译。我认为没有扩展通常意味着动态库,这意味着它将取决于系统上存在的一些依赖项来链接。也许这就是 .a 更大的原因。我认为 Xcode 默认会构建静态的,因为 iOS 不允许使用动态库。

要构建的内容的下拉列表在您的方案中。Command+shift+< 查看您的方案。在该方案中,您可以编辑每种构建方法将使用的环境。

于 2012-12-02T15:17:30.543 回答