我正在寻找在一个新的 Objective-C 项目中使用TagLib,一个用于从各种音频文件中获取标记信息的 C++ 库。
- 有没有人在 Objective-C 项目中使用过这样的 C++ 库?
- 我应该期待什么样的障碍?
- 任何人都可以为我指出这个主题的好教程或指南吗?
另外... TagLib 甚至是一个不错的选择吗?我需要支持 MP3、WMA、FLAC、MP4、M4A、AAC 和 OGG 文件。我不相信会有支持所有这些的原生 Mac 框架。
谢谢!
我正在寻找在一个新的 Objective-C 项目中使用TagLib,一个用于从各种音频文件中获取标记信息的 C++ 库。
另外... TagLib 甚至是一个不错的选择吗?我需要支持 MP3、WMA、FLAC、MP4、M4A、AAC 和 OGG 文件。我不相信会有支持所有这些的原生 Mac 框架。
谢谢!
混合 Objective-C 和 C++ 非常容易;几乎没有问题。在 Apple 阅读此文档。如那里所述,有一种叫做 Objective-C++ 的东西,它允许您在同一个文件中混合 C++ 和 Objective-C++。在 XCode 中,只需使用文件扩展名.mm
即可使用 Objective-C++。
它并没有试图统一所有的 Objective-C 对象和 C++ 对象;您可以同时独立使用它们。所以 Objective-C 对象由retain
/管理release
,C++ 对象由new
/管理delete
。有一些棘手的事情,例如将非指针 C++ 对象作为 ivar 放入 Objective-C 类中,但如果您始终使用 C++ 指针(而不是非指针对象),您将不会遇到任何重大问题。