Coder Social home page Coder Social logo

Comments (43)

molinch avatar molinch commented on July 19, 2024

Wow that is ultra weird! I looked at the fix you submitted in Acr UserDialogs and it's really random things that fixes this...
Should be fixed asap

from ffimageloading.

 avatar commented on July 19, 2024

Also note that in the sample app... Forms Example.... You have to go into "Release" build config for this error to happen. Seems ok in "Debug" , and has to be tested on a actual device, works fine in simulator.

So Recap...
Release Mode
Actual device not simulator
Advanced iOS build settings ARMv7 + ARM64
...
Then you get this while testing in the Forms sample app in the repository....
img_2074

from ffimageloading.

molinch avatar molinch commented on July 19, 2024

Huge thanks for debugging this @HIGHPlains 👍

from ffimageloading.

molinch avatar molinch commented on July 19, 2024

Btw I tested FFImageLoading with Arm7+64, in release mode, on a real 64b device. It works fine.
So I guess it comes from the Xamarin Forms wrapper.

from ffimageloading.

 avatar commented on July 19, 2024

Ya i spent a little bit of time looking for it, but couldn't find it. I know that the previous stable build didn't have this bug so it's something new within those commits.

from ffimageloading.

 avatar commented on July 19, 2024

What was weird is that i matched up my Debug and Release configurations to be identical, and the issue still only occurs when in Release mode. But the main problem is that with the latest build release versions are worthless making a App Store push now impossible without reverting to an old version.

from ffimageloading.

molinch avatar molinch commented on July 19, 2024

I'm trying all options.... A few more things:

  • ARMv7: OK
  • ARM64: OK
  • ARMv7+ARM64: KO... WHAT THE FUCK

from ffimageloading.

 avatar commented on July 19, 2024

lol RIGHT! Freaking mind boggling.

from ffimageloading.

daniel-luberda avatar daniel-luberda commented on July 19, 2024

Ok, if it's with forms I'll check on this. REALLY strange bug though. Maybe it's something with project options? "Compilation Turned on optimizations" <- it's what comes into my mind (it wasn't checked in previous builds).

from ffimageloading.

 avatar commented on July 19, 2024

I tried every combination of optimizations in all projects... Still couldn't get it to work.

from ffimageloading.

daniel-luberda avatar daniel-luberda commented on July 19, 2024

It could be also a bug with Xamarin.Forms ViewRenderer (we switched from Image class to View class). I could make a commit with "the old way". Could you test it?

from ffimageloading.

 avatar commented on July 19, 2024

sure

from ffimageloading.

molinch avatar molinch commented on July 19, 2024

YAY: https://bugzilla.xamarin.com/show_bug.cgi?id=31076
I am 100% sure we hit this one...

from ffimageloading.

daniel-luberda avatar daniel-luberda commented on July 19, 2024

Ok... That's quite reasonable explanation. It could be a linking problem. It's easy to fix, just include this in AppDelegate:

        public override bool FinishedLaunching(UIApplication app, NSDictionary options)
        {
            FFImageLoading.Forms.Touch.CachedImageRenderer.Init();
            var dummy = new FFImageLoading.Forms.Touch.CachedImageRenderer();

            global::Xamarin.Forms.Forms.Init();
            LoadApplication(new App());

            return base.FinishedLaunching(app, options);
        }

or a static FFImageLoading.Forms.Touch.CachedImageRenderer property.

from ffimageloading.

 avatar commented on July 19, 2024

Makes sense, but just tried the workaround and still not working.

from ffimageloading.

daniel-luberda avatar daniel-luberda commented on July 19, 2024

What did you try?

from ffimageloading.

molinch avatar molinch commented on July 19, 2024

I confirm that it works fine with the "hack" 👍

from ffimageloading.

daniel-luberda avatar daniel-luberda commented on July 19, 2024
        /// <summary>
        ///   Used for registration with dependency service
        /// </summary>
        public static new void Init()
        {
        }

as you see it hides iOS specific method. Maybe it's this? Notice new keyword. We could change it to InitRenderer() and see if it'll work. I didn't notice it earlier.

from ffimageloading.

 avatar commented on July 19, 2024

screen shot 2015-10-09 at 3 14 27 pm

from ffimageloading.

 avatar commented on July 19, 2024

You got this working in release mode with (Arm7 + Arm64) with that workaround molinch?

from ffimageloading.

molinch avatar molinch commented on July 19, 2024

@HIGHPlains Yes dunno why it doesn't work on your side :( Could you try removing app and cleaning/rebuilding?

@daniel-luberda I'm almost sure it isn't related to method hiding. Method hiding shouldn't do anything to the linker. It generates a different method signature, classes will still invoke the iOS Init(), not this one.

from ffimageloading.

daniel-luberda avatar daniel-luberda commented on July 19, 2024

@molinch Yes, but who knows how does it works inside. Original iOS Init() method is commented as necessary for preventing linking.

from ffimageloading.

 avatar commented on July 19, 2024

rookie move on my part, my bad! Ya the workaround does the trick.

from ffimageloading.

daniel-luberda avatar daniel-luberda commented on July 19, 2024

So I have two questions:

  • Should we modify or abandon CachedRenderer.Init method?
  • Should we update README.md instructions to put a dummy instance instead of using Init method?

BTW: @molinch Nice catch with bugzilla bug :)

from ffimageloading.

molinch avatar molinch commented on July 19, 2024

I don't think we need to do anything regarding Init() since this issue is absolutely unrelated to it. But maybe can you explain what you mean here: "Original method is commented as necessary for preventing linking."?

For your second point please don't do that. I'm trying something else.

from ffimageloading.

molinch avatar molinch commented on July 19, 2024

No need to change the Readme. This way it's easier for the users of the package.
I will recreate the Forms nuget.

from ffimageloading.

 avatar commented on July 19, 2024

Appreciate it guys!

from ffimageloading.

daniel-luberda avatar daniel-luberda commented on July 19, 2024

But maybe can you explain what you mean here: "Original method is commented as necessary for preventing linking."?

I'm VERY sure that I read something in Xamarin docs about it. Don't remember details though. While making FFImageLoading renderer I was trying to find if it will collide with something if I'll do method hiding for this one.

from ffimageloading.

daniel-luberda avatar daniel-luberda commented on July 19, 2024

On the other side, many controls use Init method, eg SyncFusion (SfDataGridRenderer.Init() method), so maybe I'm just oversensitive about it.

from ffimageloading.

molinch avatar molinch commented on July 19, 2024

TBH I quickly googled and couldn't find anything about it, all examples use Init(). But if you find something I'm happy to change it.

from ffimageloading.

molinch avatar molinch commented on July 19, 2024

@daniel-luberda @HIGHPlains https://www.nuget.org/packages/Xamarin.FFImageLoading.Forms/1.1.7.1
Could you try it?

from ffimageloading.

daniel-luberda avatar daniel-luberda commented on July 19, 2024

I can't find it too now, but I'm sure I read something about it. I'll try to find it and post it here.

from ffimageloading.

 avatar commented on July 19, 2024

@daniel-luberda you good with Forms.Droid? Is there a way to get in touch with you? We are close to initial seed funding on a startup and am going to need dev's familiar with Forms soon.

from ffimageloading.

 avatar commented on July 19, 2024

actually same with you @molinch

from ffimageloading.

 avatar commented on July 19, 2024

New nuget works in my app !

from ffimageloading.

molinch avatar molinch commented on July 19, 2024

👍 Love to fix Xamarin bugs

@HIGHPlains I would love such challenges therefore I'm much more into plain Xamarin iOS/Xamarin Android. I didn't tackled Forms much.

from ffimageloading.

 avatar commented on July 19, 2024

Hard to find a good Xam / Xam.Forms team nowadays.

from ffimageloading.

 avatar commented on July 19, 2024

Android isn't my best either, better with iOS @molinch

from ffimageloading.

daniel-luberda avatar daniel-luberda commented on July 19, 2024

@molinch The best bugs IMO is still some magic happening with ImageSource and propertychanged :)

@HIGHPlains Yes sure, I'm playing with Forms since its beginning (and a lot with Xamarin.Android too, since Novell times). Just mail me. myName.mySurname (at) gmail.com

from ffimageloading.

 avatar commented on July 19, 2024

@daniel-luberda i feel like half of my day is fixing Forms bugs lol

from ffimageloading.

daniel-luberda avatar daniel-luberda commented on July 19, 2024

@HIGHPlains Yes true, a lot of bugs but can live with that if you know them. Actually a lot has changed for good. First version were more like not tested builds :) There were even bugs like if you had a ListView and scrolled it, its items were magically and dynamically mixing while scrolling (5th element became 1st) :D I remember that well because I filled it as a bug then.

from ffimageloading.

 avatar commented on July 19, 2024

lol ya i filed a few ListView bugs too.. There "HasUnevenRows" has been pretty bad and they way the listview behaves after adding or removing models to the observablecollections is still weird. But the last stable and recent pre release is showing promise. Overall though im a fan of the framework.

from ffimageloading.

daniel-luberda avatar daniel-luberda commented on July 19, 2024

@HIGHPlains @molinch The good thing is it's progress. Xamarin.Forms is a great framework - but as you see, it cannot live without native Xamarin.iOS, Xamarin.Android renderers :) Ok. Thanks for catching / fixing bug.

from ffimageloading.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.