CodeMinion / another_brother

Another Brother Flutter SDK
BSD 3-Clause "New" or "Revised" License
21 stars 19 forks source link

couple of small issues, just for the records, first time using this issue reporting system, so bear with me. :) #64

Open SoCaliOS opened 1 year ago

SoCaliOS commented 1 year ago
  1. The new SDK 4.6.4 supports rounded labels W12DIA and W24DIA, would you mind adding them? thanks.
  2. Autocut on the latest another_brother 1.0.2 appears to be not working on Android devices. It is the isAutoCut == false that is not working, which means that you cannot turn it off.
  3. RJ4030Ai printer works perfectly on Android, but not on iOS. It is a Bluetooth device and I have paired them like all other Bluetooth printers
  4. RJ4030 printer can be added, yet no customer paper is available, would you please add them at your convenience? Thank you. Keep in mind that RJ4030 is an Android-only Bluetooth printer.
mikhael28 commented 1 year ago

@SoCaliOS try running the iOS build on a physical device, with a built ipa file, and try printing to the RJ4030Ai. I had issues having the printer communicating when running on a local dev build, but in production the code works just fine.

SoCaliOS commented 1 year ago

@mikhael28 that makes sense. I am surprised that you have the RJ4030Ai. I tested it on the 4" paper (BinPaper_RJ4030Ai.RD_W4in) and it worked on Android. I will test it on a .ipa later as it involves quite a number of steps. By the way, the error was PRINTER_SETTING_NOT_SUPPORTED. Not sure if you had the same problem when you tested with the actual device without using the .ipa. I have been using the runner.app from Flutter's build folder for iosphone. Thank you.

mikhael28 commented 1 year ago

I do not have a 4030, I have a QL10 something - but I am assuming that the underlying issues of running the iOS build from XCode directly transfer between devices. I remember that I was looking at the XCode logs, and I saw that the device successfully connected to the Bluetooth device - and would successfully disconnect, as per the log message - but the communication to actually pruint would not work for whatever reason. The same exact could would work perfectly on Android though - when I built a deployed a new version to TestFlight and ran the build, I found that the printing worked just fine. Hence my suggestion for you to try using a .ipa if your app has not progressed far enough to have TestFlight builds.

SoCaliOS commented 1 year ago

Thank you for the suggestion. I have several other Brother Bluetooth-only printers and they were successfully tested on both iOS and Android, with actual respective devices, not on the simulator. RJ4030Ai is just strange and it is being replaced with RJ4230B. I will most definitely test the .ipa when I am ready.

mikhael28 commented 1 year ago

Are you running on an Intel MacBook by any chance or Apple Silicon? If you can run iOS simulator, it sounds like you are running on an Intel computer.

SoCaliOS commented 1 year ago

Intel iMac. I wasn't running on the iOS simulator. I connected directly to my iPhone 13 Pro Max.

mikhael28 commented 1 year ago

Hmmm, maybe that's the difference, I'm running on Apple Silicon and my understanding is that a lot of the issues on iOS for this package ultimately stem from a lack of drivers for arm devices. I was also running v0.32 of the package, so perhaps some stability and quality of life improvements were added that perhaps addresses my earlier issues.

mikhael28 commented 11 months ago

I just posted a new issue about this @SoCaliOS , you can check it out.

SoCaliOS commented 11 months ago

I have no issues with iPhone old and new, iPad old and new. Everything runs beautifully! For iOS, simply "flutter build ios --release" and install it on your device after a successful test. I will recommend following the instructions, which is super easy. I did no fewer than 12 apps and literally, I can build an iOS and an Android app with minimum effort.

mikhael28 commented 11 months ago

Yeah, Intel architecture ftw I guess.

SoCaliOS commented 1 month ago

I believe that the default for the following are true for Android:

    printInfo.isCutAtEnd = false; // try to fix android
    printInfo.isLabelEndCut = false; // try to fix android

Without adding the above settings, even if you set printInfo.isAutoCut = true, it will always be cut after each print. I have been lazy and was allowing only Auto Cut settings, it appears that I need to add the above settings to make sure Auto Cut can be turned off under the Android platform.

P.S. I have not tested the difference between isCutAtEnd and isLabelEndCut, perhaps only one is needed.