CorePlot 在通用库上出错

CorePlot getting error on Universal library

您好,我正在尝试在我的项目中为 armv7arm64 位支持重建核心情节。我之前的项目版本在 core-plot 下运行良好,但它是 32 位的。

对于 64 位支持,我所做的是,从 here 下载 core-plot 并在框架文件夹上打开 CorePlot-CocoaTouch.xcodeproj,将架构更改为 armv7arm64x86_64, i386, armv6, armv7.

的有效架构

然后设置Product->Scheme->Universal Library并构建它。

现在我可以看到生成的库 build/Release-universal 名称为 libCorePlot-CocoaTouch.a 和 header 文件夹 CorePlotHeaders,我将它们复制到我的项目(相同位置其中 32 位库和 header),

然后出现以下错误。

/Users/computer/Documents/EAP-Dec-4-2015/EAP/EAP/VALiveViewController.m:3594:93: Sending 'NSDecimal' to parameter of incompatible type 'NSNumber * _Nonnull'
/Users/computer/Documents/EAP-Dec-4-2015/EAP/EAP/VALiveViewController.m:3594:93: Sending 'NSDecimal' to parameter of incompatible type 'NSNumber * _Nonnull'
/Users/computer/Documents/EAP-Dec-4-2015/EAP/EAP/VALiveViewController.m:3595:60: Sending 'NSDecimal' to parameter of incompatible type 'NSNumber * _Nonnull'
/Users/computer/Documents/EAP-Dec-4-2015/EAP/EAP/VALiveViewController.m:3595:93: Sending 'NSDecimal' to parameter of incompatible type 'NSNumber * _Nonnull'
/Users/computer/Documents/EAP-Dec-4-2015/EAP/EAP/VALiveViewController.m:3605:35: Assigning to 'NSNumber * _Nullable' from incompatible type 'NSDecimal'
/Users/computer/Documents/EAP-Dec-4-2015/EAP/EAP/VALiveViewController.m:3606:7: Property 'orthogonalCoordinateDecimal' not found on object of type 'CPTXYAxis *'
/Users/computer/Documents/EAP-Dec-4-2015/EAP/EAP/VALiveViewController.m:3608:35: Assigning to 'NSNumber * _Nullable' from incompatible type 'NSDecimal'
/Users/computer/Documents/EAP-Dec-4-2015/EAP/EAP/VALiveViewController.m:3620:31: Assigning to 'NSNumber * _Nullable' from incompatible type 'NSDecimal'
/Users/computer/Documents/EAP-Dec-4-2015/EAP/EAP/VALiveViewController.m:3634:35: Assigning to 'NSNumber * _Nullable' from incompatible type 'NSDecimal'
/Users/computer/Documents/EAP-Dec-4-2015/EAP/EAP/VALiveViewController.m:3635:7: Property 'orthogonalCoordinateDecimal' not found on object of type 'CPTXYAxis *'
/Users/computer/Documents/EAP-Dec-4-2015/EAP/EAP/VALiveViewController.m:3638:35: Assigning to 'NSNumber * _Nullable' from incompatible type 'NSDecimal'
/Users/computer/Documents/EAP-Dec-4-2015/EAP/EAP/VALiveViewController.m:3650:25: Assigning to 'NSNumber * _Nullable' from incompatible type 'NSDecimal'
/Users/computer/Documents/EAP-Dec-4-2015/EAP/EAP/VALiveViewController.m:3652:25: Assigning to 'NSNumber * _Nullable' from incompatible type 'NSDecimal'
/Users/computer/Documents/EAP-Dec-4-2015/EAP/EAP/VALiveViewController.m:3696:16: 'stringByAddingPercentEscapesUsingEncoding:' is deprecated: first deprecated in iOS 9.0 - Use -stringByAddingPercentEncodingWithAllowedCharacters: instead, which always uses the recommended UTF-8 encoding, and which encodes for a specific URL component or subcomponent since each URL component or subcomponent has different rules for what characters are valid.
/Users/computer/Documents/EAP-Dec-4-2015/EAP/EAP/VALiveViewController.m:3739:60: Sending 'NSDecimal' to parameter of incompatible type 'NSNumber * _Nonnull'
/Users/computer/Documents/EAP-Dec-4-2015/EAP/EAP/VALiveViewController.m:3739:93: Sending 'NSDecimal' to parameter of incompatible type 'NSNumber * _Nonnull'
/Users/computer/Documents/EAP-Dec-4-2015/EAP/EAP/VALiveViewController.m:3740:60: Sending 'NSDecimal' to parameter of incompatible type 'NSNumber * _Nonnull'
/Users/computer/Documents/EAP-Dec-4-2015/EAP/EAP/VALiveViewController.m:3740:93: Sending 'NSDecimal' to parameter of incompatible type 'NSNumber * _Nonnull'
/Users/computer/Documents/EAP-Dec-4-2015/EAP/EAP/VALiveViewController.m:3750:35: Assigning to 'NSNumber * _Nullable' from incompatible type 'NSDecimal'
/Users/computer/Documents/EAP-Dec-4-2015/EAP/EAP/VALiveViewController.m:3751:7: Property 'orthogonalCoordinateDecimal' not found on object of type 'CPTXYAxis *'

核心情节 API 在 1.x 和 2.x 之间略有变化,以适应 Swift 中缺少 NSDecimal 支持并稍微简化它少量。有关更改的详细信息,请参阅此 wiki page