Include a non-modular header inside a structure error - how do you make transitive dependencies work with cocoapods?

I created an open source library ( https://github.com/linkedin/LayoutTest-iOS ), in which there are two Cocoapods inside - LayoutTest and LayoutTestBase. LayoutTest is dependent on LayoutTestBase, and one of the .h files should import something from LayoutTestBase. I am currently doing this using:

@import LayoutTestBase;

However, this only works if the application uses use_frameworks!in its subfile. Some applications do not want to use this cocoapods option. Without use_frameworks!it, it works if I use:

#import <LayoutTestBase/LYTLayoutPropertyTester.h> // OR
#import "LYTLayoutPropertyTester.h"

However, when using this parameter with, use_frameworks!it gives an error: "Include a non-modular header inside the frame module" LayoutTest.LYTLayoutTestCase "

Obviously, there must be a way to do this import, regardless of whether the user uses it use_frameworks!or not in their subfile. How can I get this library to compile and run correctly?

Study

stackoverflow, , , : CocoaPods - -. , Parse, , . , . " " (, , ..), , , .

. :

target :'{MyAppTarget}Tests' do
pod 'LayoutTest'
end

pod install. . . LYTLayoutTestCase.h, #import <LayoutTestBase/LYTLayoutPropertyTester.h>. . , use_frameworks! , .

+4
1

, , , #if __has_include , use_frameworks!

github : https://github.com/linkedin/LayoutTest-iOS/issues/8

- , , parse-SDK, , .

0

Source: https://habr.com/ru/post/1629256/


All Articles