Notice (2018-05-24): bugzilla.xamarin.com is now in
Please join us on
Visual Studio Developer Community and in the
Mono organizations on
GitHub to continue tracking issues. Bugzilla will remain
available for reference in read-only mode. We will continue to work
on open Bugzilla bugs, copy them to the new locations
as needed for follow-up, and add the new items under Related
Our sincere thanks to everyone who has contributed on this bug
tracker over the years. Thanks also for your understanding as we
make these adjustments and improvements for the future.
Please create a new report for Bug 31076 on
Developer Community or GitHub if you have new
information to add and do not yet see a matching new report.
If the latest results still closely match this report, you can use the
In special cases on GitHub you might also want the comments:
GitHub Markdown with public comments
In recent days, I noticed an issue with the OxyPlot plugin that used to work, but now doesn't in a certain scenario. When launching via the simulator, the chart seems to always show. However, when deploying to device, it only shows in certain configurations. In particular, my tests show...
=> "Link SDK" + Check "Enable Developer Instrumentation" + "ARMv7"
=> "Link SDK" + Check "Enable Developer Instrumentation" + "ARM64"
=> "Link SDK" + Check "Enable Developer Instrumentation" + "ARMv7 + ARM64"
=> "Link SDK" + Uncheck "Enable Developer Instrumentation" + "ARMv7"
=> "Link SDK" + Uncheck "Enable Developer Instrumentation" + "ARM64"
=> "Link SDK" + Uncheck "Enable Developer Instrumentation" + "ARMv7 + ARM64"
I created a test project that shows the issue. See the attachment.
I also found more people having the issue via the discussion at https://github.com/oxyplot/oxyplot/issues/492
My current setup is:
Xamarin Studio 5.9.4
Xamarin iOS 126.96.36.199
Xamarin Forms 188.8.131.5259
Example app attachment was too big...download it from:
I am thinking that it would be better to file this bug with the Oxyplot GitHub repository.
However I am leaving it open for Matthew to evaluate if there is something that we can do on our end.
As stated in my original request, this has already been submitted and discussed on the OxyPlot issues. I posted here because it seemed to lean in a Xamarin direction given that it works in 5 of those 6 scenarios of build settings.
Do you have an idea/direction of what you think in OxyPlot it could be that wouldn't make it work?
I'm reporting the same problem.
Any FAT configuration for release will make PlotModel not rendered.
(Except if you're not linking at all)
It has been reported through the issue on Github that prior to Xamarin.iOS 8.9.1 (Apr 13, 2015) and Xamarin Studio 5.8.3 (Apr 14, 2015), it worked fine.
Just wanted to confirm that this can be reproduced.
When "ARMv7 + ARM64", the chart does not show.
When "ARM64", the chart is there
This seems to be something with the linker. I added this line to the AppDelegate:
Then, the chart displays.
I cracked open the final .app files and as far as I can see, the renderer is there for both configurations.
I don't think this has to do with OxyPlot.
I am also hit by this bug. My linker options are "Don't link". I am not sure how to apply the suggested workaround. I tried and I get this error: AppDelegate.cs(62,62): Error CS0012: The type `OxyPlot.Xamarin.iOS.PlotView' is defined in an assembly that is not referenced. Consider adding a reference to assembly `OxyPlot.Xamarin.iOS, Version=2015.1.889.0, Culture=neutral, PublicKeyToken=null' (CS0012) (EuromedApp.iOS)
IIUC it tells me to install the OxyPlot.Xamarin.iOS, which in turn is incompatible with OxyPlot.Xamarin.
To recap: it looks an important issue to be looked at.
I'd be happy to try other workarounds!
I had an issue with a time series chart displaying in the simulator but not on the device.
In OxyPlot.Axes.DateTimeAxis.CalculateActualInterval() there is the code below. The check "Math.Abs(nextInterval) < double.Epsilon" was failing if nextInterval was zero, so the loop never terminated. Changing it to "nextInterval == 0 || Math.Abs(nextInterval) < double.Epsilon" fixed the problem. Not sure if this is the same issue.
var goodIntervals = new
Second, 2 * Second, 5 * Second, 10 * Second, 30 * Second, Minute, 2 * Minute,
5 * Minute, 10 * Minute, 30 * Minute, Hour, 4 * Hour, 8 * Hour, 12 * Hour, Day,
2 * Day, 5 * Day, Week, 2 * Week, Month, 2 * Month, 3 * Month, 4 * Month,
6 * Month, Year
double interval = goodIntervals;
int maxNumberOfIntervals = Math.Max((int)(availableSize / maxIntervalSize), 2);
if (range / interval < maxNumberOfIntervals)
double nextInterval = goodIntervals.FirstOrDefault(i => i > interval);
if (Math.Abs(nextInterval) < double.Epsilon)
nextInterval = interval * 2;
interval = nextInterval;
I'm having all my charts appear on the simulator (iPhone 5 and iPhone 5s) and on an iPhone 5 device, but none are appearing on an iPhone 5s device. The user with the iPhone 5s isn't local, I'll have to wait until I get my hands on his device to investigate further.
I've tried adding a reference to the OxyPlot.Xamarin.Forms.Platform.iOS.PlotViewRenderer class in AppDelegate.cs with no effect.
Looking in ILSpy Microsoft's compiler seems to optimise away the type reference if it's an unused dummy variable as suggested on the forums. Adding it as a public static field in the AppDelegate class worked for me.
We got the same issue in our Xamarin Forms Custom Renderer for FFImageLoading.
We fixed it with Matthew Leibowitz suggested fix (thanks for it!).
Therefore this is still a big issue. People that are unaware of the fix can lost hours on this.
+1 with XamSvg