Comments (43)
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.
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....
from ffimageloading.
Huge thanks for debugging this @HIGHPlains 👍
from ffimageloading.
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.
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.
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.
I'm trying all options.... A few more things:
- ARMv7: OK
- ARM64: OK
- ARMv7+ARM64: KO... WHAT THE FUCK
from ffimageloading.
lol RIGHT! Freaking mind boggling.
from ffimageloading.
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.
I tried every combination of optimizations in all projects... Still couldn't get it to work.
from ffimageloading.
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.
sure
from ffimageloading.
YAY: https://bugzilla.xamarin.com/show_bug.cgi?id=31076
I am 100% sure we hit this one...
from ffimageloading.
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.
Makes sense, but just tried the workaround and still not working.
from ffimageloading.
What did you try?
from ffimageloading.
I confirm that it works fine with the "hack" 👍
from ffimageloading.
/// <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.
from ffimageloading.
You got this working in release mode with (Arm7 + Arm64) with that workaround molinch?
from ffimageloading.
@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.
@molinch Yes, but who knows how does it works inside. Original iOS Init() method is commented as necessary for preventing linking.
from ffimageloading.
rookie move on my part, my bad! Ya the workaround does the trick.
from ffimageloading.
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.
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.
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.
Appreciate it guys!
from ffimageloading.
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.
On the other side, many controls use Init method, eg SyncFusion (SfDataGridRenderer.Init() method), so maybe I'm just oversensitive about it.
from ffimageloading.
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.
@daniel-luberda @HIGHPlains https://www.nuget.org/packages/Xamarin.FFImageLoading.Forms/1.1.7.1
Could you try it?
from ffimageloading.
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.
@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.
actually same with you @molinch
from ffimageloading.
New nuget works in my app !
from ffimageloading.
👍 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.
Hard to find a good Xam / Xam.Forms team nowadays.
from ffimageloading.
Android isn't my best either, better with iOS @molinch
from ffimageloading.
@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.
@daniel-luberda i feel like half of my day is fixing Forms bugs lol
from ffimageloading.
@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.
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.
@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)
- Check if Image Server side has changed from Cached version
- [Bug]In Xamarin.Forms (Android) throws System.ArgumentException in ImageService.SetTaskForTarget (FFImageLoading.Work.IImageLoaderTask currentTask).
- Support for image width/height query in the URL
- Some SVG images are displaying and some are not HOT 3
- CacheKeyFactory used in a CollectionView causes incorrect images to load.
- ReplaceStringMap Question
- Images from URL don't show at all on iOS in Xamarin Forms 5 app HOT 1
- For MAUI see here.... HOT 3
- Image Adjustments in Xamarin
- [ISSUE] [Android] GIF animation weird behavior
- App crashes after calling ImageService.SetTaskForTarget HOT 1
- Guid inside URL is changed
- .Net 6 support HOT 4
- Incomplete downloaded image is cached.
- Images disappear on Android after pressing the (hardware) Back button HOT 1
- .Net 8 support HOT 2
- RotateTransformation does not rotate images on iOS 17
- Image won't load in Maui Windows app
- Inquiry about Data Collection
- On windows image download fails randomly HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ffimageloading.