Pre loader

Category: iOS

Welcome to the SciChart Forums!

  • Please read our Question Asking Guidelines for how to format a good question
  • Some reputation is required to post answers. Get up-voted to avoid the spam filter!
  • We welcome community answers and upvotes. Every Q&A improves SciChart for everyone

WPF Forums | JavaScript Forums | Android Forums | iOS Forums

0 votes
0 answers
29 views

Is tvOS easily supported?

I get the following build error because tvOS isn’t listed in the package platforms:
/While building for tvOS Simulator, no library for this platform was found in ‘/Users/me/Library/Developer/Xcode/DerivedData/blahhhhhhhhhh/SourcePackages/artifacts/scichart-sp/SciChart/SciChart.xcframework’.

I suspect all the user interaction code would break on tvOS, but I’m just looking for static charts.

I found this which implies its possible, but the post is quite old.
https://www.scichart.com/questions/ios/scichart-was-built-without-full-bitcode

  • w p asked 1 day ago
0 votes
0 answers
31 views

I’m having an issue when I try to plot about 40000 points or more on ios, it only renders a straight (randomly diagonal) line (maybe 2 points?).

  • I’m doing the exact same thing in android and it works fine there.
  • If I switch to a scatter plot it works fine too (on ios), so it seems like SCIFastLineRenderableSeries is the culprit.
  • I also noticed an issue where the number of points rendered in the simulator is seemingly limited, but on a physical device its not (I suspect this is unrelated, but might be of interest. It occurs at a much lower point count)
  • I haven’t narrowed down the exact point count where this issue surfaces, but I could if that would help. 40k is just a ballpark.
  • My data series acceptsUnsortedData (but again, works fine in android)
  • SwiftUI and v4.5.4

Ultimately the reason I’m plotting that many points is problematic for several other reasons, so this is about to be a non-issue for me (i.e. I’m just going to plot less points), but it seems like a bug that should be reported.

  • w p asked 6 days ago
0 votes
0 answers
43 views

Hello,

With older version of SciChart in iOS some of the methods are not found. And migration doc couldnt help much. drawBands function from SCINumericAxis is removed from the latest version. How to handle this in V4? Here i created a custom class CSBandedNumericAxis from SCINumericAxis

Example usage:

var leftNumericAxis = CSBandedNumericAxis()

class Timeline {
let startPoint: Double?
let endPoint: Double?

init(start: Double, end: Double) {
    startPoint = start
    endPoint = end
}

}

protocol CSBandedNumericAxisDelegate: class {
func xCordinateFor(date: Date) -> Double
}
class CSBandedNumericAxis: SCINumericAxis {
var backgroundShades: [CSChartModel]?
var xAxisVisibleStartPoint = Date()
var xAxisVisibleEndPoint = Date()
var unitValue: Double = 0
weak var delegate: CSBandedNumericAxisDelegate?

override func drawBands(in renderContext: ISCIRenderContext2D!) {
    super.drawBands(in: renderContext)
    guard var bShades = backgroundShades else {
        return
    }
    if bShades.isEmpty {
        return
    }
    let size = renderContext.viewportSize
    bShades = bShades.filter({ $0.xVal < $0.xValLimit })
    let currentShades = bShades.filter { shade -> Bool in
        (xAxisVisibleStartPoint ... xAxisVisibleEndPoint).contains(shade.xVal) || (xAxisVisibleStartPoint ... xAxisVisibleEndPoint).contains(shade.xValLimit) || (shade.xVal ... shade.xValLimit).contains(xAxisVisibleStartPoint) || (shade.xVal ... shade.xValLimit).contains(xAxisVisibleEndPoint)
    }
    if currentShades.isEmpty {
        return
    }
    var timeline = [Timeline]()

    for shade in currentShades {
        if let delegate = delegate {
            let point1 = delegate.xCordinateFor(date: shade.xVal)
            let point2 = delegate.xCordinateFor(date: shade.xValLimit)
            let timeData = Timeline(start: point1, end: point2)
            timeline.append(timeData)
        }
    }

    if timeline.isEmpty {
        return
    }
    for index in 0 ... timeline.count - 1 {
        let data = currentShades[index]
        guard let color = data.severity?.color else {
            continue
        }
        let brush = SCISolidBrushStyle(color: color)
        let timeData = timeline[index]
        guard let fromX = timeData.startPoint, let toX = timeData.endPoint else {
            return
        }

        renderContext.drawRect(withBrush: brush, fromX: Float(fromX), y: Float(size.height) - 20, toX: Float(toX), y: Float(size.height))
    }
}

}

Thanks in advance

0 votes
0 answers
161 views

hello.

How can I stop the scrolling movement of a surface by inertia?
I don’t want to turn off the feature altogether by setting the inertial attribute to false, but I want to stop the scrolling that is in motion.
Is there any way to do this?

Looking forward to your reply. thx

0 votes
252 views

I would like to contact you about a crash.
I’m getting a crash on the line below. What is the cause?

ExtremeResamplersWrapper.h – Line 74 (EXC_BAD_ACCESS KERN_INVALID_ADDRESS)
ExtremeResamplingHelpersWrapper::MergeIndices(std::__1::vector<int, std::__1::allocator<int>>&, int, int, int*)

The issue seems to be related to a ResamplingMode, should I turn it off?
I sometimes apply separate formulas to certain axes, is this because of this? -> ex) Logarithmic Axis

Your answer would be greatly appreciated.

Below is a stacktrace.

0  SciChart                       0x901b4 ExtremeResamplingHelpersWrapper::MergeIndices(std::__1::vector<int, std::__1::allocator<int>>&, int, int, int*) + 74 (ExtremeResamplersWrapper.h:74)
1  SciChart                       0xa73c4 -[ResamplerDateDouble execute:resampledYValues:resampledY1Values:resampledIndices:xColumn:yColumn:y1Column:resamplingArgs:resamplingArgs1:] + 4040 (Resamplers.mm:4040)
2  SciChart                       0x1d110 -[SCIOhlcRenderableSeriesBase p_SCI_updateOhlcRenderPassData:dataSeries:resamplingMode:] + 137 (SCIOhlcRenderableSeriesBase.mm:137)
3  SciChart                       0x1cd88 -[SCIOhlcRenderableSeriesBase internalUpdateRenderPassData:dataSeries:resamplingMode:] + 111 (SCIOhlcRenderableSeriesBase.mm:111)
4  SciChart                       0x107480 -[SCIRenderableSeriesBase updateRenderPassDataWithXAxis:yAxis:renderPassState:] + 478 (SCIRenderableSeriesBase.mm:478)
5  SciChart                       0xf3fb0 -[SCIRenderSurfaceRenderer p_SCI_updateSeriesRenderPassData:xAxes:yAxes:renderPassState:] + 254 (SCIRenderSurfaceRenderer.m:254)
6  SciChart                       0xf3964 -[SCIRenderSurfaceRenderer p_SCI_updateCoreData:renderPassState:viewportSize:] + 175 (SCIRenderSurfaceRenderer.m:175)
7  SciChart                       0xf34b4 -[SCIRenderSurfaceRenderer p_SCI_renderLoop:assetManager:renderPassState:] + 101 (SCIRenderSurfaceRenderer.m:101)
8  SciChart                       0xf3364 -[SCIRenderSurfaceRenderer onDrawWithContext:andAssetManager:] + 95 (SCIRenderSurfaceRenderer.m:95)
9  SciChart                       0x45980 -[SCIRenderSurfaceDrawable2D drawFrameIn:withDrawableSize:] + 66 (SCIRenderSurfaceDrawable2D.mm:66)
10 SciChart                       0x7270c -[SCITwisterRendererBase drawFrameIn:withDrawableSize:] + 105 (SCITwisterRendererBase.mm:105)
11 SciChart                       0x2bd70 -[SCIMetalRenderSurfaceBase draw] + 134 (SCIMetalRenderSurfaceBase.m:134)
12 QuartzCore                     0x7e044 CA::Layer::layout_and_display_if_needed(CA::Transaction*) + 416
13 QuartzCore                     0xd90e0 CA::Context::commit_transaction(CA::Transaction*, double, double*) + 464
14 QuartzCore                     0x4e028 CA::Transaction::commit() + 648
15 QuartzCore                     0x97d7c CA::Transaction::flush_as_runloop_observer(bool) + 88
16 UIKitCore                      0xb9ff4 _UIApplicationFlushCATransaction + 52
17 UIKitCore                      0xb776c _UIUpdateSequenceRun + 84
18 UIKitCore                      0xb73b0 schedulerStepScheduledMainSection + 172
19 UIKitCore                      0xb8254 runloopSourceCallback + 92
20 CoreFoundation                 0x56834 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 28
21 CoreFoundation                 0x567c8 __CFRunLoopDoSource0 + 176
22 CoreFoundation                 0x54298 __CFRunLoopDoSources0 + 244
23 CoreFoundation                 0x53484 __CFRunLoopRun + 828
24 CoreFoundation                 0x52cd8 CFRunLoopRunSpecific + 608
25 GraphicsServices               0x11a8 GSEventRunModal + 164
26 UIKitCore                      0x40a90c -[UIApplication _run] + 888
27 UIKitCore                      0x4be9d0 UIApplicationMain + 340
28 UIKitCore                      0x638384 keypath_get_selector_hoverStyle + 11024
  • cha cha asked 1 month ago
  • last active 1 month ago
0 votes
0 answers
1k views

hi. I have some questions.

Let’s say I have multiple surfaces.
I want to hide all but one of them, and I want the remaining surface to grow larger.

This will temporarily stretch the numeric value texts on the y-axis of that remaining surface.
If we want the bottom surface with the x-axis date to be larger, the date text below it will be stretched.

Additionally, when I make certain surface x-axis visibility hidden and other surface x-axes visible, there is a temporary flicker. I would like to resolve this issue as well.

I look forward to your response, thank you.

  • cha cha asked 1 month ago
  • last active 1 month ago
0 votes
0 answers
717 views

Hello,

I have a problem reading the position of the vertical line annotations. The function “getX1” returns type double (0 – 1) or date depending on whether the annotation has not changed its position. I found out from the documentation that the type returned depends on the coordinateMode. I set it to absolute. This change had no effect, unlike in library written in Java. Is it possible to set the default type? Can I ask for any guidance needed to solve the problem? The version of the library I am using is 4.4.2.5871.

Thanks in advance!
Paweł

0 votes
0 answers
602 views

My purpose is SCIAxisLabelAnnotation draw above on border line.
like this <– this is just design guide. not a app screenshot.

But SCIAxisLabelAnnotation is can’t overlap renderable series area. So It can’t overlap renderable series area border line.

So I have to customize.
I think that If I add view into render surface, and it’s order make to zero, I can get TOBE result.

My code is below.
Code

But SeparatorView is always on view’s top. So I’m struggling.
You can See result.
It’s covered all surface.

How can I insert some view below Y Axis or SCIAxisLabelAnnotation?

tl;dr I want customize annotation shape and it draw above on 1st top layer.

  • jay han asked 3 months ago
  • last active 3 months ago
1 vote
0 answers
8k views

I want to make label on yAxis.
SCIChart provides AxisMarkerAnnotation, but I want to use CustomAnnotation because I need something custom.
So I tried drawing a CustomAnnotation on the yAxis but failed.
Android succeeds in drawing CustomAnnotation on the yAxis using the method below, but iOS doesn’t provide it?
On iOS, Can’t customAnnotation only set the value of the yAxis like AxisMarkerAnnotation?
Android was possible…

error message like this
Exception raised with reason: CALayer position contains NaN: [nan 248.71]. Layer: <CALayer:0x280c10bc0; position = CGPoint (0 0); bounds = CGRect (0 0; 0 0); delegate = <BTChart.CurrentPriceAnnotationView: 0x13d74d8f0; frame = (0 0; 0 0); layer = <CALayer: 0x280c10bc0>>; sublayers = (<_UILabelLayer: 0x282d15860>); opaque = YES; allowsGroupOpacity = YES; >

1 vote
0 answers
7k views

I’m developing chart with sci chart. And I current make candle stick chart.

I want to get correct center coordinate from user’s touch location.

so, I tried this way.

  1. get touch location
  2. get axis data from touch location like this
  3. get coordinate from data

let location = gestureRecognizer.location(in: self) // type is CGPoint
let selectedDate = xAxis.getDataValue(Float(location.x)) // xAxis's type is ISCIAxis
let selectedPoint = xAxis.getCoordinate(selectedData)

If I do that, no matter how far to the right you touch from the center line of the candlestick, you will get the position of the left candlestick.

If the candlestick center line is not crossed, the left data is unconditionally obtained.

I want to get the data closest to the touch, how do I do that?

  • jay han asked 5 months ago
  • last active 1 month ago
1 vote
2k views

Hi. I’m currently working with sci chart iOS.

I create a custom crosshair modifier and get satisfactory results for most movements.

That crosshair by referring to your finance app, and one problem is that when the finger dragging the crosshair moves to the axis surface area, the crosshair movement stops.

It is true that the crosshair is only drawn on the chart surface, but I think I should continue to receive events even if it crosses the axis surface while dragging. How do I do that?


And another Q2. how to pause crosshair dragging event?

When I have multiple chart(vertical group), If I turn on crosshair and I start resizing dragging, crosshair is update according to dragging.

I hope just stop crosshair, but visible state. How can I do that?

  • jay han asked 6 months ago
  • last active 5 months ago
0 votes
0 answers
8k views

Hello,
I’m looking at the iOS “Sync Multi Chart” example that is referenced here:
https://www.scichart.com/documentation/ios/current/tutorial-07—linking-multiple-charts.html

Source code is here:
https://github.com/ABTSoftware/SciChart.iOS.Examples/blob/SciChart_v4_Release/SciChart.Examples/Examples/Examples2D/CreateMultiseriesChart/SyncMultiCharts/SyncMultipleChartsView.swift

When the user does a pinch to zoom gesture the rollover is shown.
When the user does a double tap gesture the rollover is shown.
How do I stop the rollover from showing when pinching to zoom or double tapping to zoom out?
thanks,
Charlie

1 vote
8k views

Hi,

I’m using SciChart for macOS (v4.4.2.5871 installed via CocoaPods) and one thing that I tried was to implement the an axis to show full extent of data, as described in the first bullet of https://www.scichart.com/documentation/ios/current/axis-ranging—get-or-set-visiblerange.html#zooming-to-fit-all-the-data

However, what I’m getting is that after setting the visibleRange to match the dataRange, the dataRange no longer reflects the “true” range, but something else. Also “zoom to extent” no longer works

Attached is a super basic example (project) for this. To reproduce, do the following:

  1. Do a zoom (via pinch)
  2. Click the button titled “Set visibleRange to dataRange” -> this step works as expected
  3. Do a zoom
  4. Click again the button -> “zoom to extent” no longer works, dataRange is messed up
  • Vlad Badea asked 11 months ago
  • last active 11 months ago
0 votes
0 answers
2k views

Hi,

I’m using SciChart for macOS (v4.4.2.5871 installed via CocoaPods) and I’m trying to restrict the X axis’ visibleRange as described in https://www.scichart.com/documentation/ios/current/axis-ranging—restricting-visiblerange.html but what I’m getting is the app hanging so badly that even “Pause program execution” doesn’t work (I need to “Stop the running scheme or application”).
The sample code for this issue is super basic and is attached to this ticket, but in a nutshell the lines causing issues are:

xAxis.visibleRangeChangeListener = { axis, oldRange, newRange, _ in
    if newRange.minAsDouble < -10 {
        axis.visibleRange = oldRange
    }
}

The scenario to reproduce the problem is to pan until you hit -10 on X axis.

Let me know if I’m missing something obvious or if this is indeed an issue.

P.S. I have one more problem with setting the visibleRange , but I will open a different ticket because the behavior is different.

  • Vlad Badea asked 11 months ago
  • last active 11 months ago
1 vote
8k views

Hi, I’m looking for a way to programmatically dismiss a RolloverModifier from a chart. I’ve been tasked with creating a user experience that does two things: 1. when a user stops scrubbing on the chart, the rollover modifier should persist, and 2. when the user taps outside of the chart the rollover modifier should disappear.

I’ve accomplished the first part of the problem by implementing a subclass of SCIRolloverModifier and overriding the onEvent(args:) function, but I cannot figure out how to dismiss the rollover modifier when the user taps outside the chart surface.

Is there a way to accomplish this?

1 vote
8k views

Greetings! I see you have support Xamarin.iOS and Xamarin.Android, however, I’m not sure about support status: do you support .NET 7 iOS and Android?

1 vote
5k views

I work on a SwiftUI project that has integrated SciCharts.

What I’ve noticed is that while there are SwiftUI examples available, they are rather basic and when I replicate the example code over in my project, it does not run as we expect and in some cases does not run at all.

Currently there seems to be issues with the SwiftUI run loop, SwiftUI’s use of structs, and SciCharts use of pointers that make building complex charts within complex user interfaces rather challenging.

I needed to do a lot of work to get the SwiftUI example code to work in my project, and we’re still facing some challenges. Can we expect better SwiftUI support in the future, such as SwiftUI views included in the SDK or if this work has been done can the documentation be linked?

1 vote
3k views

Hello there,

I am new to SciChart and trying to implement custom SCICursorModifiers tooltip,

It’s almost done, except one issue, i.e I am not able to hide the X axis (or) Horizontal line which is in green colour, it is showing up in the background whenever I am trying to use the tooltip.

The line which needs to be hidden

I tried with following below code but it is not working

extension SCIChartTheme {
    static let berryBlue: SCIChartTheme = SCIChartTheme(rawValue: "SciChart_SciChartv4DarkStyle")
}

SCIThemeManager.addTheme(.berryBlue, from: Bundle.main)

Is there any way to achieve this

Thanks in Advance

0 votes
8k views

The website has changed recently. I do not see any way to locate my existing support tickets. When I click on Developers–>Support it only gives me the option to create a new ticket.

1 vote
10k views

How can I format the percentage values in the pie chart segments to omit the decimals? e.g i want it to show 20% instead of 20.00%. The values I pass in are always rounded

1 vote
8k views

I am trying to place a legend outside a Piechart without success. When I create the legend modifier like below everything works as expected:

    let legendModifier = SCIPieChartLegendModifier()
    legendModifier.sourceSeries = renderableSeries
    legendModifier.margins = UIEdgeInsets(top: 17, left: 17, bottom: 17, right: 17)
    legendModifier.position = [.bottom, .centerHorizontal]

However when I try to place it outside like below the app crashes with:
NSInvalidArgumentException’, reason: ‘-[SCIPieSegment seriesName]: unrecognized selector sent to instance 0x281881500

    legend = SCIChartLegend()
    legend.backgroundColor = SCIColor(.red)
    let dataSource = SCISeriesInfoLegendDataSource(legend: legend)
    legendModifier = SCIPieChartLegendModifier(legend: legend, dataSource: dataSource, useAutoPlacement: false)
    legendModifier.sourceSeries = renderableSeries.series
    legendModifier.margins = UIEdgeInsets(top: 17, left: 17, bottom: 17, right: 17)
    legendModifier.position = [.left, .top]

Note: I am using SwiftIUI and add the legend container to the swiftui view wrapped in an UIViewRepresentable

UIViewRepresentable(container: legend.container!)

if i comment out legendModifier.sourceSeries = renderableSeries.series the crash does not appear but the legend does not show.

1 vote
3k views

Hello,

I found a bug where the SCILegendModifier doesn’t display the full series name. If I add 5 spaces to the series name string, I’m able to see the full series name.

Also, when using margins on the legend modifier instance, the legend fills all available space. Manually resizing the window fixes this bug.

See the photos.

1 vote
8k views

Hello,

One thing I can’t figure out is why I don’t see the axis tooltips when using SCIRolloverModifier or SCICursorModifier? If I use xAxis.axisTitleMargins = NSEdgeInsets(top: 1000, left: 0, bottom: 10, right: 0) I can see tooltips on x axis but only until some point and from there moving the cursor to the right leads to some sort of overlay and tooltip disappears. See the photos.

Is this a bug or I’m doing something wrong?

1 vote
3k views

Hello, I’m new to Swift and macOS, but I’m tasked to research SciChart. I have started my macOS trial, got my trial code from the wizard app. I’m following the Creating your first SciChart macOS App tutorial but I get Sorry! Your license token appears to be invalid error.

Here is what I’ve tried:

import Cocoa
import SciChart
import AppKit

@main
class AppDelegate: NSObject, NSApplicationDelegate {

//    override init() {
//        SCIChartSurface.setRuntimeLicenseKey("XXX")
//    }

    func applicationDidFinishLaunching(_ aNotification: Notification) {
        let licenseKey = "XXX"
        SCIChartSurface.setRuntimeLicenseKey(licenseKey)
    }

    func applicationWillTerminate(_ aNotification: Notification) {
        // Insert code here to tear down your application
    }

    func applicationSupportsSecureRestorableState(_ app: NSApplication) -> Bool {
        return true
    }
}

Using override init() leads to Terminating app due to uncaught exception 'License Exception', reason: ''
Using SCIChartSurface.setRuntimeLicenseKey() in applicationDidFinishLaunching leads to Sorry! Your license token appears to be invalid. Please contact support with your OrderID if you believe this to be incorrect.

What am I doing wrong?

1 vote
5k views

I am trying to listen changes in pie chart segment selections. I am adding the listener like so:

piesegment.addChangeListener { changedSegment in
    print("changed selection \(changedSegment.isSelected)")
 } 

The closure is never called however. My first question is: Is this the right way of doing this? In Android I implement the PieSegmentChangeListener interface and do an addIsSelectedChangeListener on the segment. In ios the SCIPieSegmentChangeListener is not a protocol. My second question is: How can I create a my own listener like in android and add it to the segment?

By the way support should not be exired!!!!

1 vote
0 answers
8k views

Hello, I tried to copy an example to run in Xcode, when I changed it to SCIChartSurface3D, it show that “Type ‘SurfaceView’ does not conform to protocol ‘UIViewRepresentable'”, it is even I want to make a 3D chart I don’t need to change the ‘SCIChartSurface’ to ‘SCIChartSurface3D’ ?

and in the SCIUpdateSuspender.usingWith(self.surface), it said ‘Value of type ‘SurfaceView’ has no member ‘surface” ? did I do anything wrong ?

Thank you

1 vote
8k views

Trying to install SciChart using the PodSpecs-Nightly repo:

source ‘https://github.com/ABTSoftware/PodSpecs-Nightly.git’

Running pod install results in this error:

[!] Error installing SciChart
[!] /usr/bin/curl -f -L -o /var/folders/mr/0skn4y5d1t99bcvzd09g_wdr0000gn/T/d20221220-30745-gfzfrf/file.zip https://github.com/ABTSoftware/PodSpecs-Nightly/releases/download/v4.4.1-nightly.5867/SciChart_iOS_4.4.1-nightly.5867.zip --create-dirs --netrc-optional --retry 2 -A 'CocoaPods/1.11.3 cocoapods-downloader/1.6.3'
curl: (22) The requested URL returned error: 404

Notice the word “SDK” is missing from the URL above. The correct URL should be:

https://github.com/ABTSoftware/PodSpecs-Nightly/releases/download/v4.4.1-nightly.5867/SciChart_iOS_SDK_4.4.1-nightly.5867.zip

1 vote
8k views

I download the iOS library via cocoapods. Today running ‘pod update’ results in the error below. It seems the ZIP file is not available on the server.

Installing SciChart 4.4.1.5847 (was 4.4.1.5840)
[!] Error installing SciChart
[!] /usr/bin/curl -f -L -o /var/folders/mr/0skn4y5d1t99bcvzd09g_wdr0000gn/T/d20221217-6770-1dkgzs/file.zip https://github.com/ABTSoftware/PodSpecs/releases/download/v4.4.1.5847/SciChart_iOS_4.4.1.5847.zip --create-dirs --netrc-optional --retry 2 -A 'CocoaPods/1.11.3 cocoapods-downloader/1.6.3'

curl: (22) The requested URL returned error: 404

I tried to download the zip file manually and it failed. When I modified the URL to download the previous release (4.4.1.5840) it worked.

1 vote
0 answers
11k views

Hello,

When I apply the cross marker type to a scatter plot, it’s not centered correctly. It gets more off-center the thicker the stroke becomes. This tends to be the case for any mark that uses the strokeStyle parameter.

This is actually visible in the example app under “Using PointMarkers”. In the attached screenshot of the example app, I increased the cross marker thickness to 15 to show how off-center the cross is to the line. This becomes a bigger issue in a scatter series as there’s no line to reference of where the point should actually be.

Hopefully there’s a way to fix this, but if not, any help on how to apply a corrective offset would be great.

Thanks in advance for any guidance!

1 vote
5k views

Hello,

I recently updated 2 different apps that both use SciChart with XCode14 and uploaded the archives to the App Store via Organizer. They both generated the warning/error:

“The app references non-public selectors in …/Frameworks/SciChart.framework/SciChart: moveToX:y:”

This did not occur with Xcode 13.

Any advice on how best to handle this?

Thank you.

  • C Bolton asked 2 years ago
  • last active 1 year ago
1 vote
3k views

While working with ISCIAnnotation, I encountered such a problem.

After changing the timeframe, I update the positions of the annotations added to the chart relative to the X axis.
To do this, I call the x-axis label provider.

let labelProvider = xAxis.labelProvider as? ISCICategoryLabelProvider

Then I call a method that should transform the Date into the correct index for the current timeframe.let pointAbsoluteX = labelProvider.transformDataToIndex(I give the x-axis coordinate(Date()) for the annotation as a parameter)

Give to transformDataToIndex() 2022-08-12 05:00:00 +0000
and get -1.0
Give to transformDataToIndex() 2022-08-16 07:00:00 +0000
and get -1.0

Tried changing searchMode values: (.exact, .nearest, .roundUp, .roundDown).
Regardless of the selected value, the function still returns -1.0.

But after receiving the first tick for the current quote, the labelProvider.transformDataToIndex function starts returning the correct values.

Give to transformDataToIndex() 2022-08-12 05:00:00 +0000
and get 205.0
Give to transformDataToIndex() 2022-08-16 07:00:00 +0000
and get 207.0

Accordingly, my annotations are displayed incorrectly on the chart until a tick is received for the current quote.

Please tell me how to solve this problem.

1 vote
3k views

Ran “pod update” this morning and got a 404 error with SciChart 4.4.0.5839 (see below)

So I changed my podspec to specify an earlier version of SciChart (4.4.0.5778) and ran update again and it was successful. This is just an FYI to report the problem, it is not blocking the team.

My environment: MacOS 12.4, Xcode 13.4, cocoapods 1.11.3

[!] Error installing SciChart
[!] /Users/mjc/opt/anaconda3/bin/curl -f -L -o /var/folders/mr/0skn4y5d1t99bcvzd09g_wdr0000gn/T/d20220713-25489-xbnbcz/file.zip https://github.com/ABTSoftware/PodSpecs/releases/download/v4.4.0.5839/SciChart_iOS_4.4.0.5839.zip –create-dirs –netrc-optional –retry 2 -A ‘CocoaPods/1.11.3 cocoapods-downloader/1.5.1’

% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 9 0 0 0 0 0 0 –:–:– –:–:– –:–:– 0
curl: (22) The requested URL returned error: 404

0 votes
0 answers
4k views

When I ran the sample “iOS & macOS Audio, Radio frequency and Spectrum Analyzer” of “SciChart.iOS.Examples-SciChart_v4_Release”,
HeatMap graphs are not displayed on 5th generation iPads.

For iPads of generations higher than the 5th generation, the HeatMap graph is displayed.
Does SchiCharts_v4 not support 5th generation iPads?

The environment is as follows.
IOS 15.2

0 votes
0 answers
3k views

Hello,
I followed the example swiftui-helper-functions to use SciChart in SwiftUI.It works fine.
But when I try to setup majorDelta according to the max data of data series which is from view model, the chart is hang up.
And the preview of Xcode show this error “PreviewUpdateTimedOutError: Updating took more than 5 seconds”.

Here is part of my code , is there something wrong?

private var yAxis: ISCIAxis {
    let yAxis = SCINumericAxis()
    yAxis.autoRange = .always
    yAxis.growBy = SCIDoubleRange(min: 0, max: 0.1)
    yAxis.axisAlignment = .left
    yAxis.visibleRange = SCIDoubleRange(min: 0, max: viewModel.powerChartModel.powerDataSeries.yMax.toDouble() + PowerView.addVisibleRangeValue)
    yAxis.drawMajorBands = false
    yAxis.drawMajorGridLines = false
    yAxis.drawMinorGridLines = false
    yAxis.drawMinorTicks = false
    yAxis.autoTicks = false
    yAxis.majorDelta = NSNumber(value: round(viewModel.powerChartModel.powerDataSeries.yMax.toDouble() + PowerView.addVisibleRangeValue) * 0.2)
    yAxis.minorDelta = NSNumber(value: 1.0)

    return yAxis
}
  • zhou quan asked 2 years ago
  • last active 2 years ago
0 votes
6k views

Hi all,

When we enable the rollover modifier and drag the chart, we can see the tooltip.
However, when I release the finger, the tooltip also disappears.
Is there a way to keep the tooltip showing when releasing the finger?
The problem we want to solve is user will use their finger to mark a critical point, then we will take a screenshot of the chart to generate a report.
Not sure if there is any good way to make the tooltip keeps showing to achieve this requirement?
Thanks

  • DCMA DCMA asked 2 years ago
  • last active 11 months ago
0 votes
0 answers
3k views

Hi, I would like to always show the tick label of the start and end of the visible range. Are there any ways to implement this in iOS?

0 votes
4k views

Hi, I’ve found that there is no example of using SciChart in SwiftUI, the swift examples are using storyboard.

I’ve tried that, using SciChart in SwiftUI, and it worked. But I have some confusions about axis update and data update.

in SwiftUI, first I create a chartview struct as NSViewRepresentable, and in func makeNSView(context: Context) -> SCIChartSurface{} to initialize the chartview as any supported SciChart view type.

second, in func updateNSView(_ nsView: SCIChartSurface, context: Context){} to update the data and axis.

When updating axis(like visiablerange), every time I need call nsView.xAxes.clear() to remove axis first and then add axis again.

When updating data, every time I need to call nsView.renderableSeries.clear() to clear current plot data first and then call nsView.renderableSeries.add() to update the data.

My confusion is that is this the right way to do that? It seems not quite efficient.

  • Keyu Yan asked 2 years ago
  • last active 2 weeks ago
0 votes
8k views

The wick for the up candlestick go through the body while the down candlestick do not. How can I make the wick inside the body part disappear? I didn’t change any settings of stroke and fill style. Thanks.

let candlestickSeries = SCIFastCandlestickRenderableSeries()
candlestickSeries.dataSeries = dataSeries
candlestickSeries.yAxisId = "right"
0 votes
3k views

Hi,

I have a very simple iOS project in XCode 13 which uses Swift. The project has a tab bar controller with two tabs. The first tab brings up a sample home screen and the second tab initializes a blank SciChart graph.

I want to eventually be able to sometimes change what data is shown on the graph (via Bluetooth), and therefore I want to run my graph code every time the tab for the graph is selected. I put all my code for SciChart inside:

override func viewWillAppear(_ animated: Bool)

and this almost works fine, but declaring

let surface = SCIChartSurface() inside of override func viewWillAppear(_ animated: Bool)

seems to be causing some sort of memory leak. Switching between tabs often causes my app to crash and XCode reports the following error message: “Terminated due to memory issue”

Is there a better way to initialize my graph to prevent this memory leak? Or is there way to flush the “surface” variable from memory when transitioning between tabs to prevent this memory issue from occurring?

My small sample project is available here which demonstrates the memory leak when switching between the home screen tab and graph tab: https://drive.google.com/file/d/1mz88R3kKvoPqSGxFzohoHGDkseSwgHPh/view?usp=sharing

Any help greatly appreciated, thanks!

0 votes
6k views

Hello,

I would like to be able to change the rollover tooltip cursor color. It seems to be defaulted to the lineseries areastyle property color. I would like to be able to change it to a different color. I have not been able to find anything in the docs regarding how to do this.

Thank you

  • C Bolton asked 2 years ago
  • last active 2 years ago
0 votes
6k views

Hello,

I would like to add a corner radius (to give rounded corners) to the SciChart rollover tooltip in iOS. I saw that there is a “tooltipCornerRadius” property in “SCITooltipModifierStyleProtocol”, but I am having trouble figuring out how to use this. Can someone point me in the right direction?

Thank you.

  • C Bolton asked 2 years ago
  • last active 2 years ago
0 votes
4k views

Hello,

I need to modify iOS SCIChart tooltip behavior. I’ve been trying to follow the example at “https://www.scichart.com/example/ios-using-tooltip-modifier/“.

Using SCIChart 4.4.0.5778 I’ve noticed some class methods and parameters don’t match, but I’ve figured out most of them I think. However, I cannot determine the method to use that is equivalent to:
“override func internalUpdate(with seriesInfo: SCIXySeriesInfo)” when subclassing “SCIXySeriesTooltip”.

I did take look at the example code that is packed with the SDK. I got compiler errors in the tooltip code in the file “TooltipCustomizationChartView” when I included the framework bundled with the SDK.

Thank you for the assistance.

  • C Bolton asked 2 years ago
  • last active 2 years ago
0 votes
4k views

I am trying to zoom and pan the line graph in my macOS app the zoom is working but I am not able to pan through the zoomed graph its not at all scrolling and also I wanted to know how can I add click event on the graph so that I can display some more data on click at a particular coordinate apart from tooth. I have shared my view controller. I will really appreciate any help as I have spend a lot of time figure this out and have no clue where to go from here.

0 votes
4k views

Is the styleFor function of SCIPaletteProvider that was in Version 2.0 not implemented in Version 4.8?
Also, are there any plans to implement it?

I am upgrading from SciCharts 2.0.1 to SciCharts 4.3.
When the color was set using SCI Palatt Provider in Version 2.0, the memory used was 200M, but in Version 4.3, the memory used may consume as much as 1G.
I tried to devise it by setting the Sampleing Mode, but it is not very effective.

SCI Charts is used to display the spectrum data of audio data while playing the sound.

0 votes
3k views

Good day!
I need to determine the value of the visible graph y from the x value and the problem is that I can’t calculate the y value outside of the data I’m rendering
example data:
[
{ x:1, y: 10 },
{ x:5, y: -5 },
{ x: 9, y: 15}
]

I use SCISplineMountainRenderableSeries and I need to show the intersection of the graph at point 3.5
I need a point but I have only one coordinate value

how can i get this y value?

1 vote
0 answers
9k views

I was not able to find any sample code for macOS swift on gitHub to I tried to convert the iOS one for Mac and I grabbed the key from Scichart Licensing Wizard then initialised it in app delegates didFinishLaunchingWithOptions but I am facing this issue of invalid License token.

grab the code from here:

https://drive.google.com/file/d/1POIiKuEXaa7zNlbdcwruzIEyuN5QjkMq/view?usp=sharing

0 votes
3k views

Hello

Is it possible do detect taps/selection/click over Axis Titles?

Thanks!

0 votes
7k views

Hello

Is it possible do detect taps/selection/click over the PointMarkers?

Thanks!

0 votes
4k views

I just requested a trial key and notice that it say I have to put a license call into my app.

Does this mean my app will require internet so it can verify a license when the user starts the app?

Will it do this all the time?

I do not like this at all. I don’t want my customers asking why my app requires internet and is contacting some server when they start the app.

Showing 1 - 50 of 320 results