You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Recently we've had some clients complain about not seeing some calendar events that we use iCal.NET to generate by supplying the RRULE pattern to their classes.
We observed that there was conflicting behaviours and after a lot of elimination noticed it was iOS Specific.
Someone already noticed this issue but never managed to find an answer as to what causes it:
public virtual void CheckMutuallyExclusive<T, TU>(string name1, string name2, T obj1, TU obj2)
{
if (Equals(obj1, default(T)) || Equals(obj2, default(TU)))
{
return;
}
// If the object is MinValue instead of its default, consider
// that to be unassigned.
var t1 = obj1.GetType();
var fi1 = t1.GetField("MinValue");
var fi2 = t1.GetField("MinValue");
var isMin1 = fi1 != null && obj1.Equals(fi1.GetValue(null));
var isMin2 = fi2 != null && obj2.Equals(fi2.GetValue(null));
if (isMin1 || isMin2)
{
return;
}
throw new ArgumentException("Both " + name1 + " and " + name2 + " cannot be supplied together; they are mutually exclusive.");
}
The text was updated successfully, but these errors were encountered:
By default the simulator builds runs with the linker disabled. This makes the builds faster.
iPhone Device running iOS 14.7.1:
By default the device builds with the linker enabled. This also makes the build faster (since AOT is required).
The linker remove unused code using static analysis. Dynamic usage, like reflection, is not detected.
In such cases the code (ideally the library itself if it supports any of the Xamarin profiles) should preserve the extra members. There are several ways to do this (extra code, xml files...).
Steps to Reproduce
Expected Behavior
iPhone Simulator running iOS 14.5:
iPhone Device running iOS 14.7.1:
Actual Behavior
iPhone Simulator running iOS 14.5:
iPhone Device running iOS 14.7.1:
Environment
Test done on Visual Studio for Mac - 8.10.7 (build 17).
Xamarin.iOS SDK Version - 14.20.0.25
Build Logs
VS Build Log.txt
How this issue was discovered
We use a 3rd party package called iCal.NET, the git hub repo is located here:
https://github.com/rianjs/ical.net
Recently we've had some clients complain about not seeing some calendar events that we use iCal.NET to generate by supplying the RRULE pattern to their classes.
We observed that there was conflicting behaviours and after a lot of elimination noticed it was iOS Specific.
Someone already noticed this issue but never managed to find an answer as to what causes it:
rianjs/ical.net#471
We checked out the code and stepped through the library and this was basically the method in their code which caused the glitch:
https://github.com/rianjs/ical.net/blob/6c03c42bd9e040622ffaa240be856dc531a20823/src/Ical.Net/Serialization/DataTypes/RecurrencePatternSerializer.cs
The text was updated successfully, but these errors were encountered: