ios - 应用扩展 : multiple instances interfering with each other

标签 ios c static-linking

我正在构建一个 iOS 应用程序扩展(在本例中是一个音频单元插件)。该代码混合了 Objective-C、C++ 和 C 文件。

当我在主机中运行我的音频单元的一个实例时,它工作正常,但一旦我打开另一个实例,这两个实例就开始相互干扰。似乎这两个实例都意外地在它们之间共享了一些变量,我怀疑它发生在我正在使用的 C 库中的某个地方。

我在我的 .m 文件中使用了很多“静态”声明变量,以确保它们具有文件范围。我是否正确地假设扩展的每个实例也将有其自己的每个静态变量实例,即使它们是在 C 库中声明的?还是在这种情况下使用 C 是一个糟糕的架构选择?

最佳答案

是的,同一个 Audio Unit Extension 的多个实例确实共享相同的过程,这非常令人惊讶并且没有在任何地方记录(好像关于音频单元的任何都被记录了!)。

关于ios - 应用扩展 : multiple instances interfering with each other,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36675475/

相关文章:

ios - Q : [iOS] Can I send push notifications to both debug and Ad Hoc builds at the same time?

c - 是否可以在堆栈上分配

c - 如何调试用 cgo 调用的 C 代码?

c++ - 将静态库与 gnu g++ : No such file or directory, Makefile 链接

c++ - 在 cgo 库中链接第 3 方静态库

ios - 如何在ios中使用nsmutableurlrequest发送递归json请求?

ios - Flutter iOS 运行错误 : Could not parse callback cache, 中止恢复

c - 如何从字符数组中删除特定单词?

go - 链接 Go against a static 32 bit 3rd party library

ios - 多部分请求 - 使用 UIImage 进行编码的结构