将静态iOS框架链接到应用程序和XCTest目标时出错

时间:2016-09-17 07:43:07

标签: ios objective-c swift ios-frameworks

我有一个将Objective-C和Swift结合在一起的应用程序。它有一个XCTest目标。我有一个用Objective-C编写的静态框架,它链接到一个主目标,并由主目标和测试目标使用。

我已经测试了3种不同的情况,其中有两种是编译但有警告,而我想在运行测试时看不到任何警告:

1)静态框架未链接到测试目标(通过Link Binary With Libraries),但包含在测试目标的Framework search paths中。测试目标编译,但我有警告:

ld: warning: Auto-Linking supplied '.../MyStaticFramework/MyStaticFramework.framework/MyStaticFramework', framework linker option at /.../MyStaticFramework/MyStaticFramework.framework/MyStaticFramework is not a dylib

2)静态框架链接到测试目标(通过Link Binary With Libraries),并包含在测试目标的Framework search paths中。测试目标编译,但我有警告:

objc[2653]: Class MyStaticFrameworkClassA is implemented in both /.../MyApp.app/MyApp and /.../MyApp.app/PlugIns/Tests.xctest/Tests. One of the two will be used. Which one is undefined.

3)静态框架未链接到测试目标(通过Link Binary With Libraries),并且未包含在测试目标Framework search paths中。测试目标无法编译:

In file included from ".../Tests/.../TestFile.m:13:
.../Build/Intermediates/MyApp.build/Debug-iphonesimulator/Tests.build/../MyApp.build/DerivedSources/MyApp-Swift.h:103:9: fatal error: module 'MyStaticFramework' not found
@import MyStaticFramework;
 ^~~~~~~~

0 个答案:

没有答案