2016-12-20 20 views
0

現在Swift 2.3を使用して独自のカスタムiOSフレームワークを作成しようとしています。 Obj-Cで書かれたテスト用のiOSアプリがあり、カスタムフレームワークに+リンクが埋め込まれています。iOS Framework - 宣言されていない識別子の使用

public class Constants: NSObject 
{ 
    private static let sharedInstance = Constants() 

    override init() { } 

    public static let CONST_VALUE1 = "somevalue1" 

    public static let CONST_VALUE2 = "somevalue2" 
} 

public class RandomUtils: NSObject 
{ 
    private static let sharedInstance = RandomUtils() 

    override init() { } 

    public static func randomFunction(someValue: String) -> String? 
    { 
     return someValue 
    } 
} 

RandomUtilsクラスは全く問題は見られず、テストアプリケーションで使用されています

フレームワークは、それらの二人は以下に似た、複数のクラスを有します。私のテストのアプリで

SWIFT_CLASS("_TtC6sdk9Constants") 
@interface Constants : NSObject 
+ (NSString * _Nonnull)CONST_VALUE1; 
+ (NSString * _Nonnull)CONST_VALUE2; 
@end 

SWIFT_CLASS("_TtC6sdk16RandomUtils") 
@interface RandomUtils : NSObject 
+ (NSString * _Nonnull)randomFunction:(NSString * _Nonnull)someValue; 
@end 

、私は私のViewControllerのヘッダファイル内のフレームワークアンブレラヘッダファイルをインポートしています:それはSDK-Swift.hヘッダーでに参照されているにもかかわらず定数クラスは、しかし、発見されるように見えることはできません例えば:このエラーメッセージ

の定数クラス

NSLog(@"%@", [Constants CONST_VALUE1]); 

結果を使用する

#import <UIKit/UIKit.h> 

#import <SDK/SDK-Swift.h> 

@interface TestVC : UIViewController 

@property (weak, nonatomic) IBOutlet UITextField *txtValue1; 

@end 

試み

Use of undeclared identifier 'Constants' 

誰かが私が間違っていることを知っている人はいますか?

答えて

0

いくつかの試行錯誤の末、.frameworkを直接テストアプリケーションフォルダに配置することで問題を解決しました。

関連する問題