maxal-studio / flutter-plugin-camera360

360 Camera Flutter plugin
Apache License 2.0
4 stars 6 forks source link

'noop' or 'build' for iOS-simulator #8

Open jdar opened 6 days ago

jdar commented 6 days ago

I know it is not possible to use the function with a simulator, but it should still be possible to build for the simulator because currently inclusion into a project prevents the project from building or testing in an iOS simulator. Many apps have other functionality that needs to be tested in a simulator.

HOW TO REPLICATE: open the 'example' project, and try to run on an iOS simulator.

What I expect to happen: The app builds and runs, and when visible the Camera360 widget either shows something OR does not show something (empty Widget for simulator scenario). Ideally, it would show something similar to what it shows when built for android. But again, showing an empty Container() would be fine as well.

What actually happens: The app does not build and the build process exits with the following message:

"Launching lib/main.dart on iPhone 15 Pro Max in debug mode... Xcode build done. 6.4s Failed to build iOS app Error (Xcode): Building for 'iOS-simulator', but linking in dylib ( [...] /flutter-plugin-camera360/ios/camera_360.framework/camera_360) built for 'iOS'

Error (Xcode): Linker command failed with exit code 1 (use -v to see invocation)

Could not build the application for the simulator. Error launching application on iPhone 15 Pro Max.

Exited (1)."

MY SYSTEM / ENVIRONMENT: Working on a recent OS mac, building for a number of iOS simulator options. Flutter doctor works fine. [✓] Flutter (Channel stable, 3.22.3, on macOS 14.4.1 23E224 darwin-arm64, locale en-US) [✓] Android toolchain - develop for Android devices (Android SDK version 35.0.0-rc3) [✓] Xcode - develop for iOS and macOS (Xcode 15.3) [✓] Chrome - develop for the web [✓] Android Studio (version 2022.2) [✓] VS Code (version 1.92.2)

What else I have tried: I failed to build the iOS-simulator framework artifact myself. I can add a separate ticket if interested. I'll keep trying.

dajanvulaj commented 4 days ago

This looks like a linking problem with the camera_360.framework.

Can you try running flutter clean inside the example directory

I pushed a new update that allows you to pass a Widget that will be displayed if the camera is not found or not ready:

cameraNotReadyContent: const Center(
    child: Padding(
      padding: EdgeInsets.symmetric(horizontal: 10, vertical: 20),
      child: Text(
        "Camera not ready",
        style: TextStyle(fontWeight: FontWeight.bold),
      ),
    ),
  ),