Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[BUG] Flutter sound lite ios build fails #483

Closed
ltoenjes opened this issue Oct 8, 2020 · 2 comments
Closed

[BUG] Flutter sound lite ios build fails #483

ltoenjes opened this issue Oct 8, 2020 · 2 comments

Comments

@ltoenjes
Copy link

ltoenjes commented Oct 8, 2020

Flutter Sound Version : 6.1.4

  • Released or Beta version ? Released

  • Version number ? 6.1.4

  • FULL or LITE flavor ? LITE

  • Result of the command "flutter pub deps | grep flutter_sound"
    | |-- flutter_sound_lite 6.1.4
    | | |-- flutter_sound_platform_interface 1.0.0


Cannot build my app


Platforms you faced the error

iOS


Logs

                                                                   _Nonnull 
11 warnings generated.
11 warnings generated.
While building module 'flutter_sound_lite' imported from /Users/lennarttonjes/development/kph-flutter/ios/Runner/GeneratedPluginRegistrant.m:44:
In file included from <module-includes>:1:
In file included from /Users/lennarttonjes/development/kph-flutter/build/ios/Release-prod-iphoneos/flutter_sound_lite/flutter_sound_lite.framework/Headers/flutter_sound_lite-umbrella.h:22:
/Users/lennarttonjes/development/kph-flutter/build/ios/Release-prod-iphoneos/flutter_sound_lite/flutter_sound_lite.framework/Headers/TrackPlayer.h:34:15: warning: pointer is missing a nullability type specifier (_Nonnull, _Nullable, or _Null_unspecified) [-Wnullability-completeness]
- (TrackPlayer*)init: (FlutterMethodCall*)call;
              ^
/Users/lennarttonjes/development/kph-flutter/build/ios/Release-prod-iphoneos/flutter_sound_lite/flutter_sound_lite.framework/Headers/TrackPlayer.h:34:15: note: insert '_Nullable' if the pointer may be null
- (TrackPlayer*)init: (FlutterMethodCall*)call;
              ^
               _Nullable
/Users/lennarttonjes/development/kph-flutter/build/ios/Release-prod-iphoneos/flutter_sound_lite/flutter_sound_lite.framework/Headers/TrackPlayer.h:34:15: note: insert '_Nonnull' if the pointer should never be null
- (TrackPlayer*)init: (FlutterMethodCall*)call;
              ^
               _Nonnull
/Users/lennarttonjes/development/kph-flutter/build/ios/Release-prod-iphoneos/flutter_sound_lite/flutter_sound_lite.framework/Headers/TrackPlayer.h:36:56: warning: block pointer is missing a nullability type specifier (_Nonnull, _Nullable, or _Null_unspecified) [-Wnullability-completeness]
- (void)seekToPlayer:(nonnull NSNumber*) time result: (FlutterResult)result;
                                                       ^
/Users/lennarttonjes/development/kph-flutter/build/ios/Release-prod-iphoneos/flutter_sound_lite/flutter_sound_lite.framework/Headers/TrackPlayer.h:36:56: note: insert '_Nullable' if the block pointer may be null
- (void)seekToPlayer:(nonnull NSNumber*) time result: (FlutterResult)result;
                                                       ^
                                                                     _Nullable 
/Users/lennarttonjes/development/kph-flutter/build/ios/Release-prod-iphoneos/flutter_sound_lite/flutter_sound_lite.framework/Headers/TrackPlayer.h:36:56: note: insert '_Nonnull' if the block pointer should never be null
- (void)seekToPlayer:(nonnull NSNumber*) time result: (FlutterResult)result;
                                                       ^
                                                                     _Nonnull 
/Users/lennarttonjes/development/kph-flutter/build/ios/Release-prod-iphoneos/flutter_sound_lite/flutter_sound_lite.framework/Headers/TrackPlayer.h:37:47: warning: pointer is missing a nullability type specifier (_Nonnull, _Nullable, or _Null_unspecified) [-Wnullability-completeness]
- (void)releaseFlautoPlayer:(FlutterMethodCall*)call result:(FlutterResult)result;
                                              ^
/Users/lennarttonjes/development/kph-flutter/build/ios/Release-prod-iphoneos/flutter_sound_lite/flutter_sound_lite.framework/Headers/TrackPlayer.h:37:47: note: insert '_Nullable' if the pointer may be null
- (void)releaseFlautoPlayer:(FlutterMethodCall*)call result:(FlutterResult)result;
                                              ^
                                               _Nullable
/Users/lennarttonjes/development/kph-flutter/build/ios/Release-prod-iphoneos/flutter_sound_lite/flutter_sound_lite.framework/Headers/TrackPlayer.h:37:47: note: insert '_Nonnull' if the pointer should never be null
- (void)releaseFlautoPlayer:(FlutterMethodCall*)call result:(FlutterResult)result;
                                              ^
                                               _Nonnull
/Users/lennarttonjes/development/kph-flutter/build/ios/Release-prod-iphoneos/flutter_sound_lite/flutter_sound_lite.framework/Headers/TrackPlayer.h:37:62: warning: block pointer is missing a nullability type specifier (_Nonnull, _Nullable, or _Null_unspecified) [-Wnullability-completeness]
- (void)releaseFlautoPlayer:(FlutterMethodCall*)call result:(FlutterResult)result;
                                                             ^
/Users/lennarttonjes/development/kph-flutter/build/ios/Release-prod-iphoneos/flutter_sound_lite/flutter_sound_lite.framework/Headers/TrackPlayer.h:37:62: note: insert '_Nullable' if the block pointer may be null
- (void)releaseFlautoPlayer:(FlutterMethodCall*)call result:(FlutterResult)result;
                                                             ^
                                                                           _Nullable 
/Users/lennarttonjes/development/kph-flutter/build/ios/Release-prod-iphoneos/flutter_sound_lite/flutter_sound_lite.framework/Headers/TrackPlayer.h:37:62: note: insert '_Nonnull' if the block pointer should never be null
- (void)releaseFlautoPlayer:(FlutterMethodCall*)call result:(FlutterResult)result;
                                                             ^
                                                                           _Nonnull 
/Users/lennarttonjes/development/kph-flutter/build/ios/Release-prod-iphoneos/flutter_sound_lite/flutter_sound_lite.framework/Headers/TrackPlayer.h:38:51: warning: pointer is missing a nullability type specifier (_Nonnull, _Nullable, or _Null_unspecified) [-Wnullability-completeness]
- (void)audioPlayerDidFinishPlaying:(AVAudioPlayer*)player successfully:(BOOL)flag;
                                                  ^
/Users/lennarttonjes/development/kph-flutter/build/ios/Release-prod-iphoneos/flutter_sound_lite/flutter_sound_lite.framework/Headers/TrackPlayer.h:38:51: note: insert '_Nullable' if the pointer may be null
- (void)audioPlayerDidFinishPlaying:(AVAudioPlayer*)player successfully:(BOOL)flag;
                                                  ^
                                                   _Nullable
/Users/lennarttonjes/development/kph-flutter/build/ios/Release-prod-iphoneos/flutter_sound_lite/flutter_sound_lite.framework/Headers/TrackPlayer.h:38:51: note: insert '_Nonnull' if the pointer should never be null
- (void)audioPlayerDidFinishPlaying:(AVAudioPlayer*)player successfully:(BOOL)flag;
                                                  ^
                                                   _Nonnull
/Users/lennarttonjes/development/kph-flutter/build/ios/Release-prod-iphoneos/flutter_sound_lite/flutter_sound_lite.framework/Headers/TrackPlayer.h:40:44: warning: pointer is missing a nullability type specifier (_Nonnull, _Nullable, or _Null_unspecified) [-Wnullability-completeness]
- (void)setUIProgressBar:(FlutterMethodCall*)call result: (FlutterResult)result;
                                           ^
/Users/lennarttonjes/development/kph-flutter/build/ios/Release-prod-iphoneos/flutter_sound_lite/flutter_sound_lite.framework/Headers/TrackPlayer.h:40:44: note: insert '_Nullable' if the pointer may be null
- (void)setUIProgressBar:(FlutterMethodCall*)call result: (FlutterResult)result;
                                           ^
                                            _Nullable
/Users/lennarttonjes/development/kph-flutter/build/ios/Release-prod-iphoneos/flutter_sound_lite/flutter_sound_lite.framework/Headers/TrackPlayer.h:40:44: note: insert '_Nonnull' if the pointer should never be null
- (void)setUIProgressBar:(FlutterMethodCall*)call result: (FlutterResult)result;
                                           ^
                                            _Nonnull
/Users/lennarttonjes/development/kph-flutter/build/ios/Release-prod-iphoneos/flutter_sound_lite/flutter_sound_lite.framework/Headers/TrackPlayer.h:40:60: warning: block pointer is missing a nullability type specifier (_Nonnull, _Nullable, or _Null_unspecified) [-Wnullability-completeness]
- (void)setUIProgressBar:(FlutterMethodCall*)call result: (FlutterResult)result;
                                                           ^
/Users/lennarttonjes/development/kph-flutter/build/ios/Release-prod-iphoneos/flutter_sound_lite/flutter_sound_lite.framework/Headers/TrackPlayer.h:40:60: note: insert '_Nullable' if the block pointer may be null
- (void)setUIProgressBar:(FlutterMethodCall*)call result: (FlutterResult)result;
                                                           ^
                                                                         _Nullable 
/Users/lennarttonjes/development/kph-flutter/build/ios/Release-prod-iphoneos/flutter_sound_lite/flutter_sound_lite.framework/Headers/TrackPlayer.h:40:60: note: insert '_Nonnull' if the block pointer should never be null
- (void)setUIProgressBar:(FlutterMethodCall*)call result: (FlutterResult)result;
                                                           ^
                                                                         _Nonnull 
/Users/lennarttonjes/development/kph-flutter/build/ios/Release-prod-iphoneos/flutter_sound_lite/flutter_sound_lite.framework/Headers/TrackPlayer.h:41:35: warning: pointer is missing a nullability type specifier (_Nonnull, _Nullable, or _Null_unspecified) [-Wnullability-completeness]
- (void)setUIProgressBar:(NSNumber*)progress duration:(NSNumber*)duration;
                                  ^
/Users/lennarttonjes/development/kph-flutter/build/ios/Release-prod-iphoneos/flutter_sound_lite/flutter_sound_lite.framework/Headers/TrackPlayer.h:41:35: note: insert '_Nullable' if the pointer may be null
- (void)setUIProgressBar:(NSNumber*)progress duration:(NSNumber*)duration;
                                  ^
                                   _Nullable
/Users/lennarttonjes/development/kph-flutter/build/ios/Release-prod-iphoneos/flutter_sound_lite/flutter_sound_lite.framework/Headers/TrackPlayer.h:41:35: note: insert '_Nonnull' if the pointer should never be null
- (void)setUIProgressBar:(NSNumber*)progress duration:(NSNumber*)duration;
                                  ^
                                   _Nonnull
/Users/lennarttonjes/development/kph-flutter/build/ios/Release-prod-iphoneos/flutter_sound_lite/flutter_sound_lite.framework/Headers/TrackPlayer.h:41:64: warning: pointer is missing a nullability type specifier (_Nonnull, _Nullable, or _Null_unspecified) [-Wnullability-completeness]
- (void)setUIProgressBar:(NSNumber*)progress duration:(NSNumber*)duration;
                                                               ^
/Users/lennarttonjes/development/kph-flutter/build/ios/Release-prod-iphoneos/flutter_sound_lite/flutter_sound_lite.framework/Headers/TrackPlayer.h:41:64: note: insert '_Nullable' if the pointer may be null
- (void)setUIProgressBar:(NSNumber*)progress duration:(NSNumber*)duration;
                                                               ^
                                                                _Nullable
/Users/lennarttonjes/development/kph-flutter/build/ios/Release-prod-iphoneos/flutter_sound_lite/flutter_sound_lite.framework/Headers/TrackPlayer.h:41:64: note: insert '_Nonnull' if the pointer should never be null
- (void)setUIProgressBar:(NSNumber*)progress duration:(NSNumber*)duration;
                                                               ^
                                                                _Nonnull
/Users/lennarttonjes/development/kph-flutter/build/ios/Release-prod-iphoneos/flutter_sound_lite/flutter_sound_lite.framework/Headers/TrackPlayer.h:42:38: warning: pointer is missing a nullability type specifier (_Nonnull, _Nullable, or _Null_unspecified) [-Wnullability-completeness]
- (void)nowPlaying:(FlutterMethodCall*)call result: (FlutterResult)result;
                                     ^
/Users/lennarttonjes/development/kph-flutter/build/ios/Release-prod-iphoneos/flutter_sound_lite/flutter_sound_lite.framework/Headers/TrackPlayer.h:42:38: note: insert '_Nullable' if the pointer may be null
- (void)nowPlaying:(FlutterMethodCall*)call result: (FlutterResult)result;
                                     ^
                                      _Nullable
/Users/lennarttonjes/development/kph-flutter/build/ios/Release-prod-iphoneos/flutter_sound_lite/flutter_sound_lite.framework/Headers/TrackPlayer.h:42:38: note: insert '_Nonnull' if the pointer should never be null
- (void)nowPlaying:(FlutterMethodCall*)call result: (FlutterResult)result;
                                     ^
                                      _Nonnull
/Users/lennarttonjes/development/kph-flutter/build/ios/Release-prod-iphoneos/flutter_sound_lite/flutter_sound_lite.framework/Headers/TrackPlayer.h:42:54: warning: block pointer is missing a nullability type specifier (_Nonnull, _Nullable, or _Null_unspecified) [-Wnullability-completeness]
- (void)nowPlaying:(FlutterMethodCall*)call result: (FlutterResult)result;
                                                     ^
/Users/lennarttonjes/development/kph-flutter/build/ios/Release-prod-iphoneos/flutter_sound_lite/flutter_sound_lite.framework/Headers/TrackPlayer.h:42:54: note: insert '_Nullable' if the block pointer may be null
- (void)nowPlaying:(FlutterMethodCall*)call result: (FlutterResult)result;
                                                     ^
                                                                   _Nullable 
/Users/lennarttonjes/development/kph-flutter/build/ios/Release-prod-iphoneos/flutter_sound_lite/flutter_sound_lite.framework/Headers/TrackPlayer.h:42:54: note: insert '_Nonnull' if the block pointer should never be null
- (void)nowPlaying:(FlutterMethodCall*)call result: (FlutterResult)result;
                                                     ^
                                                                   _Nonnull 
11 warnings generated.
11 warnings generated.
Undefined symbols for architecture arm64:
  "vtable for __cxxabiv1::__si_class_type_info", referenced from:
      typeinfo for AudioRecorderEngine in flutter_sound_lite(FlutterSoundRecorder.o)
      typeinfo for avAudioRec in flutter_sound_lite(FlutterSoundRecorder.o)
  NOTE: a missing vtable usually means the first non-inline virtual member function has no definition.
  "std::terminate()", referenced from:
      ___clang_call_terminate in flutter_sound_lite(FlutterSoundRecorder.o)
  "operator new(unsigned long)", referenced from:
      -[FlutterSoundRecorder startRecorder:result:] in flutter_sound_lite(FlutterSoundRecorder.o)
  "___cxa_begin_catch", referenced from:
      -[FlutterSoundPlayer feed:result:] in flutter_sound_lite(FlutterSoundPlayer.o)
      -[FlutterSoundRecorder stopRecorder:] in flutter_sound_lite(FlutterSoundRecorder.o)
      ___clang_call_terminate in flutter_sound_lite(FlutterSoundRecorder.o)
  "vtable for __cxxabiv1::__class_type_info", referenced from:
      typeinfo for AudioRecInterface in flutter_sound_lite(FlutterSoundRecorder.o)
  NOTE: a missing vtable usually means the first non-inline virtual member function has no definition.
  "___cxa_end_catch", referenced from:
      -[FlutterSoundPlayer feed:result:] in flutter_sound_lite(FlutterSoundPlayer.o)
      -[FlutterSoundRecorder stopRecorder:] in flutter_sound_lite(FlutterSoundRecorder.o)
  "operator delete(void*)", referenced from:
      -[FlutterSoundRecorder startRecorder:result:] in flutter_sound_lite(FlutterSoundRecorder.o)
      AudioRecorderEngine::~AudioRecorderEngine() in flutter_sound_lite(FlutterSoundRecorder.o)
      avAudioRec::~avAudioRec() in flutter_sound_lite(FlutterSoundRecorder.o)
  "___gxx_personality_v0", referenced from:
      +[Flauto registerWithRegistrar:] in flutter_sound_lite(Flauto.o)
      +[FlautoPlayerManager registerWithRegistrar:] in flutter_sound_lite(FlautoPlayerManager.o)
      -[FlautoPlayerManager handleMethodCall:result:] in flutter_sound_lite(FlautoPlayerManager.o)
      +[FlautoRecorderManager registerWithRegistrar:] in flutter_sound_lite(FlautoRecorderManager.o)
      -[FlautoRecorderManager handleMethodCall:result:] in flutter_sound_lite(FlautoRecorderManager.o)
      -[TrackPlayer releaseFlautoPlayer:result:] in flutter_sound_lite(TrackPlayer.o)
      -[TrackPlayer startPlayerFromTrack:result:] in flutter_sound_lite(TrackPlayer.o)
      ...
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
note: Using new build system
note: Building targets in parallel
note: Planning build
note: Constructing build description

Describe the bug
iOS build results in loads of warnings and an error

To Reproduce
Steps to reproduce the behavior:

  1. Add flutter_sound_lite: ^6.1.4 to pubspec.yaml
  2. flutter build ios

Expected behavior
A clear and concise description of what you expected to happen.


Additional context**

Same app works if flutter_sound_lite: ^6.1.4 dependency is replaced with flutter_sound: ^6.1.4. I'm not using any features that would need the FULL flavor AFAIK. Tried the usual (deleting Pods, Podlife etc.)

@Larpoux
Copy link
Collaborator

Larpoux commented Oct 8, 2020

Interesting ...
I do many tests before releasing a new release, but never with the LITE flavor.
I am actually very busy.
I suggest that you use the FULL version during one or two weeks, before I fix that.

Sorry for the inconvenience.

@Larpoux
Copy link
Collaborator

Larpoux commented Oct 13, 2020

OK. I looked to your issue and it seems that it is related to your XCode project parameters.

Look for example to this.

I checked the Flutter Sound examples with the future V6.2 and I do not have any compilation or link-edit problem with the LITE flavor.

Please re-open this issue if you still have difficulties to build your App, after making the necessary adjustment in your XCodeproj.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants