从Objective Sharpie为Xamarin iOS绑定项目生成ApiDefinition.cs时出错



我遵循的步骤:

  1. 我已经从下载了Aviary SDK 4.0.1https://developers.aviary.com/docs/ios

  2. 我创建了一个iOS绑定项目。

  3. 将AviarySDK文件重命名为AviarySDK.a

  4. 已将此文件添加到绑定项目中。

  5. 已将AviarySDKResources.bundle添加到此项目。

  6. 现在根据绑定项目的文档(http://docs.xamarin.com/guides/ios/advanced_topics/binding_objective-c/binding_walkthrough/offline.pdf),我尝试在ObjectiveSharpie中通过选择路径中的头文件"AviarySDK-4.0.1/AviarySDK/AviarySDK.framework/版本/A/Headers/">

  7. 这会产生一个错误:

    在/Users/ramnathyyer/Documents/Projects/Aviary iOS SDK/AviarySDK-4.0.1/AviarySDK/AvirySDK.framework/Versions/A/Headers/AInAppPurchaseManager.h:8:/Users/ramnathyyer/Documents/Projects/Aviary iOS SDK/AviarySDK-4.0.1/AviarySDK/AvirySDK.framework/Versions/A/Headers/AFPhotoEditorProduct.h:17:8:错误:未知类型名称"NSString"static NSString*const kAFProductEffectsGrunge=@"com.aviariy.effectpack.01";^/Users/ramnathyyer/Documents/Projects/Aviary iOS SDK/AviarySDK-4.0.1/AviarySDK/AvirySDK.framework/Versions/A/Headers/AFPhotoEditorProduct.h:22:8:错误:未知类型名称"NSString"static NSString*const kAFProductEffectsNostalgia=@"com.aviariy.effectpack.02";^/Users/ramnathyyer/Documents/Projects/Aviary iOS SDK/AviarySDK-4.0.1/AviarySDK/AvirySDK.framework/Versions/A/Headers/AFPhotoEditorProduct.h:27:8:错误:未知类型名称"NSString"static NSString*const kAFProductEffectsViewfinder=@"com.aviary.effectpack.03";^/Users/ramnathyyer/Documents/Projects/Aviary iOS SDK/AviarySDK-4.0.1/AviarySDK/AvirySDK.framework/Versions/A/Headers/AFPhotoEditorProduct.h:35:error:找不到"NSObject"的接口声明,该接口声明是"AFPhotoEditorProduct"的超类@接口AFPhotoEditor产品:NSObject~~~~~~^/Users/ramnathyyer/Documents/Projects/Aviary iOS SDK/AviarySDK-4.0.1/AviarySDK/AvirySDK.framework/Versions/A/Headers/AFPhotoEditorProduct.h:44:39:错误:未知类型名称"NSString"@属性(非原子、复制、只读)NSString*productName;^/Users/ramnathyyer/Documents/Projects/Aviary iOS SDK/AviarySDK-4.0.1/AviarySDK/AvirySDK.framework/Versions/A/Headers/AFPhotoEditorProduct.h:44:1:错误:具有"copy"属性的属性必须为对象类型@属性(非原子、复制、只读)NSString*productName;^/Users/ramnathyyer/Documents/Projects/Aviary iOS SDK/AviarySDK-4.0.1/AviarySDK/AvirySDK.framework/Versions/A/Headers/AFPhotoEditorProduct.h:52:39:错误:未知类型名称"NSString"@属性(非原子、复制、只读)NSString*productDescription;^/Users/ramnathyyer/Documents/Projects/Aviary iOS SDK/AviarySDK-4.0.1/AviarySDK/AvirySDK.framework/Versions/A/Headers/AFPhotoEditorProduct.h:52:1:错误:具有"copy"属性的属性必须为对象类型@属性(非原子、复制、只读)NSString*productDescription;^/Users/ramnathyyer/Documents/Projects/Aviary iOS SDK/AviarySDK-4.0.1/AviarySDK/AvirySDK.framework/Versions/A/Headers/AFPhotoEditorProduct.h:64:39:错误:未知类型名称"NSString"@属性(非原子、复制、只读)NSString*internalProductIdentifier;^/Users/ramnathyyer/Documents/Projects/Aviary iOS SDK/AviarySDK-4.0.1/AviarySDK/AvirySDK.framework/Versions/A/Headers/AFPhotoEditorProduct.h:64:1:错误:具有"copy"属性的属性必须为对象类型@属性(非原子、复制、只读)NSString*internalProductIdentifier;^/Users/ramnathyyer/Documents/Projects/Aviary iOS SDK/AviarySDK-4.0.1/AviarySDK/AvirySDK.framework/Versions/A/Headers/AFInAppPurchaseManager.h:16:8:错误:未知类型名称"NSString"extern NSString*const kAFPhotoEditorEffectsIAPEnabledKey;^/Users/ramnathyyer/Documents/Projects/Aviary iOS SDK/AviarySDK-4.0.1/AviarySDK/AvirySDK.framework/Versions/A/Headers/AFInAppPurchaseManager.h:21:43:错误:找不到"NSObject"的协议声明@协议AFInAppPurchaseManagerDelegate^/Users/ramnathyyer/Documents/Projects/Aviary iOS SDK/AviarySDK-4.0.1/AviarySDK/AvirySDK.framework/Versions/A/Headers/AFInAppPurchaseManager.h:40:4:错误:应为类型

    • (NSString*)inAppPurchaseManager:(id)经理productIdentifierForProduct:(AFPhotoEditorProduct*)产品DEPRECATED_ATTRIBUTE;^/Users/ramnathyyer/Documents/Projects/Aviary iOS SDK/AviarySDK-4.0.1/AviarySDK/AvirySDK.framework/Versions/A/Headers/AFInAppPurchaseManager.h:40:152:错误:应为":">
    • (NSString*)inAppPurchaseManager:(id)manager productIdentifierForProduct:(AFPhotoEditorProduct*)product DEPRECATED_ATTRIBUTE;^/Users/ramnathyyer/Documents/Projects/Aviary iOS SDK/AviarySDK-4.0.1/AviarySDK/AvirySDK.framework/Versions/A/Headers/AFInAppPurchaseManager.h:51:35:错误:找不到"NSObject"的协议声明@协议AFInAppPurchaseManager^/Users/ramnathyyer/Documents/Projects/Aviary iOS SDK/AviarySDK-4.0.1/AviarySDK/AvirySDK.framework/Versions/A/Headers/AFInAppPurchaseManager.h:62:72:错误:应为";"在申报单末尾@属性(非原子,弱)id委托DEPRECATED_ATTRIBUTE;^;/Users/ramnathyyer/Documents/Projects/Aviary iOS SDK/AviarySDK-4.0.1/AviarySDK/AvirySDK.framework/Versions/A/Headers/AFInAppPurchaseManager.h:62:73:警告:缺少类型说明符,默认为"int"[-Wimplicit int]@属性(非原子,弱)id委托DEPRECATED_ATTRIBUTE;^~~~~~~~~~~~~~~~~~~~/Users/ramnathyyer/Documents/Projects/Aviary iOS SDK/AviarySDK-4.0.1/AviarySDK/AvirySDK.framework/Versions/A/Headers/AFInAppPurchaseManager.h:70:73:错误:未知类型名称"BOOL"@property(nonatomic,assign,readonly,getter=isObservingTransactions)BOOL observingTransaction;^/Users/ramnathyyer/Documents/Projects/Aviary iOS SDK/AviarySDK-4.0.1/AviarySDK/AvirySDK.framework/Versions/A/Headers/AFInAppPurchaseManager.h:62:73:错误:无法在@interface或@protocol内声明变量@属性(非原子,弱)id委托DEPRECATED_ATTRIBUTE;^生成1个警告和18个错误。处理/Users/ramnathyyer/Documents/Projects/Aviary iOS SDK/AviarySDK-4.0.1/AviarySDK/AvirySDK.framework/Versions/A/Headers/AInAppPurchaseManager.h时出错。/Users/ramnathyyer/Documents/Projects/Aviary iOS SDK/AviarySDK-4.0.1/AviarySDK/AvirySDK.framework/Versions/A/Headers/AFPOpenGLManager.h:28:30:错误:找不到"NSObject"的接口声明,"AFOpenGLManager"的超类@接口AFOpenGLManager:NSObject~~~~~~^/Users/ramnathyyer/Documents/Projects/Aviary iOS SDK/AviarySDK-4.0.1/AviarySDK/AvirySDK.framework/Versions/A/Headers/AFPOpenGLManager.h:34:40:错误:应为类型
    • (void)setPurgeGPUMemory When Possible:(BOOL)purgeGPUMMemory;^生成2个错误。处理/Users/ramnathyyer/Documents/Projects/Aviary iOS SDK/AviarySDK-4.0.1/AviarySDK/AvirySDK.framework/Versions/A/Headers/AFPOpenGLManager.h时出错。/Users/ramnathyyer/Documents/Projects/Aviary iOS SDK/AviarySDK-4.0.1/AviarySDK/AvirySDK.framework/Versions/A/Headers/AFPhotoEditorContext.h:35:错误:找不到"NSObject"的接口声明,"AFPhotoEditorContext"的超类@接口AFPhotoEditorContext:NSObject~~~~~~^/Users/ramnathyyer/Documents/Projects/Aviary iOS SDK/AviarySDK-4.0.1/AviarySDK/AvirySDK.framework/Versions/A/Headers/AFPhotoEditorContext.h:45:41:错误:未知类型名称"CGSize"@属性(非原子、赋值、只读)CGSize大小;^/Users/ramnathyyer/Documents/Projects/Aviary iOS SDK/AviarySDK-4.0.1/AviarySDK/AvirySDK.framework/Versions/A/Headers/AFPhotoEditorContext.h:48:60:错误:未知类型名称"BOOL"@属性(nonatomic,assign,readonly,getter=isCanceled)BOOL已取消;^/Users/ramnathyyer/Documents/Projects/Aviary iOS SDK/AviarySDK-4.0.1/AviarySDK/AvirySDK.framework/Versions/A/Headers/AFPhotoEditorContext.h:51:60:错误:未知类型名称"BOOL"@属性(nonatomic,assign,readonly,getter=isModified)BOOL已修改;^/Users/ramnathyyer/Documents/Projects/Aviary iOS SDK/AviarySDK-4.0.1/AviarySDK/AvirySDK.framework/Versions/A/Headers/AFPhotoEditorContext.h:58:41:错误:未知类型名称"BOOL"@属性(非原子、赋值、只读)BOOL已开始渲染;^/Users/ramnathyyer/Documents/Projects/Aviary iOS SDK/AviarySDK-4.0.1/AviarySDK/AvirySDK.framework/Versions/A/Headers/AFPhotoEditorContext.h:75:26:错误:未知类型名称"UIImage">
    • (void)渲染:(void(^)(UIImage*结果))完成;^生成6个错误。处理/Users/ramnathyyer/Documents/Projects/Aviary iOS SDK/AviarySDK-4.0.1/AviarySDK/AvirySDK.framework/Versions/A/Headers/AFPhotoEditorContext.h时出错。/Users/ramnathyyer/Documents/Projects/Aviary iOS SDK/AviarySDK-4.0.1/AviarySDK/AvirySDK.framework/Versions/A/Headers/AFPhotoEditorCustomization。h:14:8:错误:未知类型名称"NSString"extern NSStringconst kAFEnhance/增强*/^/Users/ramnathyyer/Documents/Projects/Aviary iOS SDK/AviarySDK-4.0.1/AviarySDK/AvirySDK.framework/Versions/A/Headers/AFPhotoEditorCustomization。h:15:8:错误:未知类型名称"NSString"extern NSStringconst kAFEffects/效果*/^/Users/ramnathyyer/Documents/Projects/Aviary iOS SDK/AviarySDK-4.0.1/AviarySDK/AvirySDK.framework/Versions/A/Headers/AFPhotoEditorCustomization。h:16:8:错误:未知类型名称"NSString"extern NSStringconst kAFStickers/贴纸*/^/Users/ramnathyyer/Documents/Projects/Aviary iOS SDK/AviarySDK-4.0.1/AviarySDK/AvirySDK.framework/Versions/A/Headers/AFPhotoEditorCustomization。h:17:8:错误:未知类型名称"NSString"extern NSStringconst kAFOrientation/方向*/^/Users/ramnathyyer/Documents/Projects/Aviary iOS SDK/AviarySDK-4.0.1/AviarySDK/AvirySDK.framework/Versions/A/Headers/AFPhotoEditorCustomization。h:18:8:错误:未知类型名称"NSString"extern NSStringconst kAFCrop/裁剪*/^/Users/ramnathyyer/Documents/Projects/Aviary iOS SDK/AviarySDK-4.0.1/AviarySDK/AvirySDK.framework/Versions/A/Headers/AFPhotoEditorCustomization。h:19:8:错误:未知类型名称"NSString"extern NSStringconst kAFAdjustments/调整*/^/Users/ramnathyyer/Documents/Projects/Aviary iOS SDK/AviarySDK-4.0.1/AviarySDK/AvirySDK.framework/Versions/A/Headers/AFPhotoEditorCustomization。h:20:8:错误:未知类型名称"NSString"extern NSStringconst kAFSharpness/清晰度*/^/Users/ramnathyyer/Documents/Projects/Aviary iOS SDK/AviarySDK-4.0.1/AviarySDK/AvirySDK.framework/Versions/A/Headers/AFPhotoEditorCustomization。h:21:8:错误:未知类型名称"NSString"extern NSStringconst kAFDraw/绘制*/^/Users/ramnathyyer/Documents/Projects/Aviary iOS SDK/AviarySDK-4.0.1/AviarySDK/AvirySDK.framework/Versions/A/Headers/AFPhotoEditorCustomization。h:22:8:错误:未知类型名称"NSString"extern NSStringconst kAFText/文本*/^/Users/ramnathyyer/Documents/Projects/Aviary iOS SDK/AviarySDK-4.0.1/AviarySDK/AvirySDK.framework/Versions/A/Headers/AFPhotoEditorCustomization。h:23:8:错误:未知类型名称"NSString"外部NSString常量kAFRedeye/Redeye*/^/Users/ramnathyyer/Documents/Projects/Aviary iOS SDK/AviarySDK-4.0.1/AviarySDK/AvirySDK.framework/Versions/A/Headers/AFPhotoEditorCustomization。h:24:8:错误:未知类型名称"NSString"extern NSStringconst kAFWhiten/美白*/^/Users/ramnathyyer/Documents/Projects/Aviary iOS SDK/AviarySDK-4.0.1/AviarySDK/AvirySDK.framework/Versions/A/Headers/AFPhotoEditorCustomization。h:25:8:错误:未知类型名称"NSString"extern NSStringconst kAFBlemish/Blemish*/^/Users/ramnathyyer/Documents/Projects/Aviary iOS SDK/AviarySDK-4.0.1/AviarySDK/AvirySDK.framework/Versions/A/Headers/AFPhotoEditorCustomization。h:26:8:错误:未知类型名称"NSString"extern NSStringconst kAFMeme/记忆*/^/Users/ramnathyyer/Documents/Projects/Aviary iOS SDK/AviarySDK-4.0.1/AviarySDK/AvirySDK.framework/Versions/A/Headers/AFPhotoEditorCustomization。h:27:8:错误:未知类型名称"NSString"extern NSStringconst kAFFrame/框架*/^/Users/ramnathyyer/Documents/Projects/Aviary iOS SDK/AviarySDK-4.0.1/AviarySDK/AvirySDK.framework/Versions/A/Headers/AFPhotoEditorCustomization。h:28:8:错误:未知类型名称"NSString"extern NSStringconst kAFFocus/TiltShift*/^/Users/ramnathyyer/Documents/Projects/Aviary iOS SDK/AviarySDK-4.0.1/AviarySDK/AvirySDK.framework/Versions/A/Headers/AFPhotoEditorCustomization。h:29:8:错误:未知类型名称"NSString"extern NSStringconst kAFSplash/彩色飞溅*/^/Users/ramnathyyer/Documents/Projects/Aviary iOS SDK/AviarySDK-4.0.1/AviarySDK/AvirySDK.framework/Versions/A/Headers/AFPhotoEditorCustomization。h:31:8:错误:未知类型名称"NSString"extern NSStringconst kAFLeftAviationTitlePresetCancel/取消*/^/Users/ramnathyyer/Documents/Projects/Aviary iOS SDK/AviarySDK-4.0.1/AviarySDK/AvirySDK.framework/Versions/A/Headers/AFPhotoEditorCustomization。h:32:8:错误:未知类型名称"NSString"extern NSStringconst kAFLeftAviationTitlePresetBack/返回*/^/Users/ramnathyyer/Documents/Projects/Aviary iOS SDK/AviarySDK-4.0.1/AviarySDK/AvirySDK.framework/Versions/A/Headers/AFPhotoEditorCustomization。h:33:8:错误:未知类型名称"NSString"extern NSStringconst kAFLeftAviationTitlePresetExit/退出*/^致命错误:发出的错误太多,现在停止[-ferrorlimit=]生成20个错误。处理/Users/ramnathyyer/Documents/Projects/Aviary iOS SDK/AviarySDK-4.0.1/AviarySDK/AvirySDK.framework/Versions/A/Headers/AFPhotoEditorCustomization.h时出错。/Users/ramnathyyer/Documents/Projects/Aviary iOS SDK/AviarySDK-4.0.1/AviarySDK/AvirySDK.framework/Versions/A/Headers/AFPhotoEditorProduct.h:17:8:错误:未知类型名称"NSString"static NSString*const kAFProductEffectsGrunge=@"com.aviariy.effectpack.01";^/Users/ramnathyyer/Documents/Projects/Aviary iOS SDK/AviarySDK-4.0.1/AviarySDK/AvirySDK.framework/Versions/A/Headers/AFPhotoEditorProduct.h:22:8:错误:未知类型名称"NSString"static NSString*const kAFProductEffectsNostalgia=@"com.aviariy.effectpack.02";^/Users/ramnathyyer/Documents/Projects/Aviary iOS SDK/AviarySDK-4.0.1/AviarySDK/AvirySDK.framework/Versions/A/Headers/AFPhotoEditorProduct.h:27:8:错误:未知类型名称"NSString"static NSString*const kAFProductEffectsViewfinder=@"com.aviary.effectpack.03";^/Users/ramnathyyer/Documents/Projects/Aviary iOS SDK/AviarySDK-4.0.1/AviarySDK/AvirySDK.framework/Versions/A/Headers/AFPhotoEditorProduct.h:35:error:找不到"NSObject"的接口声明,该接口声明是"AFPhotoEditorProduct"的超类@接口AFPhotoEditor产品:NSObject~~~~~~^/Users/ramnathyyer/Documents/Projects/Aviary iOS SDK/AviarySDK-4.0.1/AviarySDK/AvirySDK.framework/Versions/A/Headers/AFPhotoEditorProduct.h:44:39:错误:未知类型名称"NSString"@属性(非原子、复制、只读)NSString*productName;^/Users/ramnathyyer/Documents/Projects/Aviary iOS SDK/AviarySDK-4.0.1/AviarySDK/AvirySDK.framework/Versions/A/Headers/AFPhotoEditorProduct.h:44:1:错误:具有"copy"属性的属性必须为对象类型@属性(非原子、复制、只读)NSString*productName;^/Users/ramnathyyer/Documents/Projects/Aviary iOS SDK/AviarySDK-4.0.1/AviarySDK/AvirySDK.framework/Versions/A/Headers/AFPhotoEditorProduct.h:52:39:错误:未知类型名称"NSString"@属性(非原子、复制、只读)NSString*productDescription;^/Users/ramnathyyer/Documents/Projects/Aviary iOS SDK/AviarySDK-4.0.1/AviarySDK/AvirySDK.framework/Versions/A/Headers/AFPhotoEditorProduct.h:52:1:错误:具有"copy"属性的属性必须为对象类型@属性(非原子、复制、只读)NSString*productDescription;^/Users/ramnathyyer/Documents/Projects/Aviary iOS SDK/AviarySDK-4.0.1/AviarySDK/AvirySDK.framework/Versions/A/Headers/AFPhotoEditorProduct.h:64:39:错误:未知类型名称"NSString"@属性(非原子、复制、只读)NSString*internalProductIdentifier;^/Users/ramnathyyer/Documents/Projects/Aviary iOS SDK/AviarySDK-4.0.1/AviarySDK/AvirySDK.framework/Versions/A/Headers/AFPhotoEditorProduct.h:64:1:错误:具有"copy"属性的属性必须为对象类型@属性(非原子、复制、只读)NSString*internalProductIdentifier;^生成了10个错误。处理/Users/ramnathyyer/Documents/Projects/Aviary iOS SDK/AviarySDK-4.0.1/AviarySDK/AvirySDK.framework/Versions/A/Headers/AFPhotoEditorProduct.h时出错。/Users/ramnathyyer/Documents/Projects/Aviary iOS SDK/AviarySDK-4.0.1/AviarySDK/AvirySDK.framework/Versions/A/Headers/AFPhotoEditorSession.h:10:8:错误:未知类型名称"NSString"extern NSString*const AFPhotoEditorSessionCancelled Notification;^/Users/ramnathyyer/Documents/Projects/Aviary iOS SDK/AviarySDK-4.0.1/AviarySDK/AvirySDK.framework/Versions/A/Headers/AFPhotoEditorSession.h:16:35:错误:找不到"NSObject"("AFPhotoEditorSession"的超类)的接口声明@接口AFPhotoEditorSession:NSObject~~~~~~^/Users/ramnathyyer/Documents/Projects/Aviary iOS SDK/AviarySDK-4.0.1/AviarySDK/AvirySDK.framework/Versions/A/Headers/AFPhotoEditorSession.h:22:56:错误:未知类型名称"BOOL"@属性(nonatomic,assign,readonly,getter=isOpen)BOOL打开;^/Users/ramnathyyer/Documents/Projects/Aviary iOS SDK/AviarySDK-4.0.1/AviarySDK/AvirySDK.framework/Versions/A/Headers/AFPhotoEditorSession.h:27:61:错误:未知类型名称"BOOL"@属性(nonatomic,assign,readonly,getter=isCancelled)BOOL已取消;^/Users/ramnathyyer/Documents/Projects/Aviary iOS SDK/AviarySDK-4.0.1/AviarySDK/AvirySDK.framework/Versions/A/Headers/AFPhotoEditorSession.h:32:60:错误:未知类型名称"BOOL"@属性(nonatomic,assign,readonly,getter=isModified)BOOL已修改;^/Users/ramnathyyer/Documents/Projects/Aviary iOS SDK/AviarySDK-4.0.1/AviarySDK/AvirySDK.framework/Versions/A/Headers/AFPhotoEditorSession.h:44:51:错误:应为类型
    • (AFPhotoEditorContext*)createContextWithImage:(UIImage*)图像;^/Users/ramnathyyer/Documents/Projects/Aviary iOS SDK/AviarySDK-4.0.1/AviarySDK/AvirySDK.framework/Versions/A/Headers/AFPhotoEditorSession.h:55:错误:应为类型
    • (AFPhotoEditorContext*)createContextWithImage:(UIImage*)image maxSize:(CGSize)size;^/Users/ramnathyyer/Documents/Projects/Aviary iOS SDK/AviarySDK-4.0.1/AviarySDK/AvirySDK.framework/Versions/A/Headers/AFPhotoEditorSession.h:55:76:错误:应为类型
    • (AFPhotoEditorContext*)createContextWithImage:(UIImage*)image maxSize:(CGSize)size;^生成8个错误。处理/Users/ramnathyyer/Documents/Projects/Aviary iOS SDK/AviarySDK-4.0.1/AviarySDK/AvirySDK.framework/Versions/A/Headers/AFPhotoEditorSession.h时出错。sharpie-clang语法分析器已退出,错误代码为:1System.Exception:sharpie clang语法分析器已退出,错误代码为:1在Sharpie.ObjC.Parser.Parse(System.IO.TextWriter sexpWriter,System.Collections.Generic.List`1 stderrLines)[0x0000]中:0位于Sharpie.Mac.MainWindowController+c_AnonStorey3。<>m__B(System.Object o)[0x0000]位于:0

有人能帮我吗

让Objective Sharpie与Aviary框架合作的最棘手的步骤是在Objective Sharie的第一个对话框窗口上添加一个"额外的clang命令行参数"[1]。这个额外的参数允许clang根据需要查找和导入各种Aviary头文件。

[1]-F/path/to/AviarySDK-4.0.1/AviarySDK/

在"选择头文件"屏幕上,您可以只选择"主"AviarySDK.h头文件[2],并将"遵循#include和#import指令"保留为On。

[2]/path/to/AviarySDK-4.0.1/AviarySDK/AviarySDK.framework/Headers/AviarySDK.h

相关内容

最新更新