0

我的开发环境是:

OSX Mavericks,Xcode 5 Cocoa mac 应用程序

我一直在使用 FANN 来训练和运行 ANN。到目前为止,它一直有效,我已经能够训练和运行一个人工神经网络。我什至制作了一个简单的命令行应用程序来使用 FANN 训练 ANN。但是,我遇到了一个可能与 FANN 分布方式有关的问题。我想导出和分享我制作的应用程序,所以我归档了 Xcode 项目。当我这样做时,我确保在构建阶段复制 libfann.2.2.0.dylib,因此最终用户将拥有在我的应用程序中使用 FANN 代码所需的库。但是,当我尝试使用 Xcode 保存开发人员 ID 签名应用程序时,它无法对其进行代码签名。我仍然可以在没有代码签名的情况下保存它。有趣的是,如果我从 Build 阶段下的复制阶段中删除 libfann.2.2.0.dylib,Xcode 可以成功地对应用程序进行代码签名并保存它。但是,如果我这样做,则生成的应用程序已损坏,因为它找不到 FANN 库。我按照上的说明制作了 libfann.2.2.0.dylibhttp://leenissen.dk/fann/wp/help/installing-fann/。我知道这可能不是 FANN 的问题,而是 Xcode 的问题。但是,我在同一个项目中有其他静态库,而 FANN 是唯一造成这些问题的库,所以我相信它很有可能与 FANN 库有关。我不是代码签名方面的专家,但我的猜测是使用 Cmake 制作 FANN 库的方式与代码签名之间存在冲突。提前致谢。

4

1 回答 1

1

在玩过代码签名之后,我能够找到解决方案。我决定尝试使用http://www.digicert.com/code-signing/mac-os-codesign-tool.htm的说明手动对我的应用程序进行代码签名。这没有用。然而,代码签名工具指出了 libfann.2.2.0.dylib 的问题。所以我检查了 libfann.2.2.0.dylib 是否经过代码签名,但不是。当我看到这个时,我想我会尝试使用我的开发人员 ID 对 libfann.2.2.0.dylib 进行代码签名并将其重新导入到我的项目中。这个策略奏效了,我能够导出我的应用程序的开发者 ID 签名版本。

于 2013-12-05T11:36:10.357 回答