Forum Xamarin Xamarin.iOS

Using existing binding libraries in 7.2.1.42 fails

When you upgrade to 7.2.1.42 you'll encounter lots of issues with existing binding libraries.
Almost all our binding libraries do not work anymore.

For example, ShinobiCharts. When building the solution I'll get:

2014-04-30 19:31:03.414 AdvicePFPClientiOS[918:70b] System.AggregateException: One or more errors occured ---> MonoTouch.MonoTouchException: Could not register the selector 'setYear:' of the member 'ShinobiCharts.SChartDateFrequency.SetYear' because the selector is already registered on the member 'set_Year'.
--- End of inner exception stack trace ---
--> (Inner exception 0) MonoTouch.MonoTouchException: Could not register the selector 'setYear:' of the member 'ShinobiCharts.SChartDateFrequency.SetYear' because the selector is already registered on the member 'set_Year'.

--> (Inner exception 1) MonoTouch.MonoTouchException: Could not register the selector 'setMonth:' of the member 'ShinobiCharts.SChartDateFrequency.SetMonth' because the selector is already registered on the member 'set_Month'.

--> (Inner exception 2) MonoTouch.MonoTouchException: Could not register the selector 'setWeek:' of the member 'ShinobiCharts.SChartDateFrequency.SetWeek' because the selector is already registered on the member 'set_Week'.

--> (Inner exception 3) MonoTouch.MonoTouchException: Could not register the selector 'setDay:' of the member 'ShinobiCharts.SChartDateFrequency.SetDay' because the selector is already registered on the member 'set_Day'.

--> (Inner exception 4) MonoTouch.MonoTouchException: Could not register the selector 'setHour:' of the member 'ShinobiCharts.SChartDateFrequency.SetHour' because the selector is already registered on the member 'set_Hour'.

--> (Inner exception 5) MonoTouch.MonoTouchException: Could not register the selector 'setMinute:' of the member 'ShinobiCharts.SChartDateFrequency.SetMinute' because the selector is already registered on the member 'set_Minute'.

--> (Inner exception 6) MonoTouch.MonoTouchException: Could not register the selector 'setSecond:' of the member 'ShinobiCharts.SChartDateFrequency.SetSecond' because the selector is already registered on the member 'set_Second'.

Other libraries do have the same type of issue.
Any idea how to fix this?

Posts

  • SebastienPouliotSebastienPouliot CAXamarin Team Xamurai

    The new registrars enabled by default on 7.2.1 will spot errors that the ObjC runtime itself does not (generally leading to hard to diagnose bugs at runtime).

    To fix them you need to fix the errors inside your bindings. E.g. registering the same selector name twice is possible (API wise) but what code will be called if the selector is invoked (by the ObjC runtime) ?

    If you can't fix them (e.g. 3rd party component that has not yet been updated) then you can workaround this (i.e. ignoring the error) by using the --registrar:legacy option in your project.

    Note: more information can be found in the 7.2.1 release notes.

  • Hi Sebastien,

    After writing my post I went looking through the release notes and spotted that info!
    Thanks for pointing this out in the forums, so that other users can find it - the release notes did not directly pointed me into the right direction though.

    I also contacted Shinobicontrols in the meantime to fix the errors in the current binding dll.

Sign In or Register to comment.