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

getter "fullObstruction" error #90

Closed
edeuss opened this issue Sep 28, 2019 · 12 comments
Closed

getter "fullObstruction" error #90

edeuss opened this issue Sep 28, 2019 · 12 comments

Comments

@edeuss
Copy link

edeuss commented Sep 28, 2019

Eliass-MBP:isontic-Education elias$ flutter build ios
Running "flutter pub get" in isontic-Education...                   0.6s
Building com.isontic.ed for device (ios-release)...
 
Automatically signing iOS for device deployment using specified development team in Xcode project: ZHW34NDW2Q
Running Xcode build...                                                  
                                                   
 ├─Building Dart code...                                     7.2s
Xcode build done.                                           16.2s
Failed to build iOS app
Error output from Xcode build:
↳
    ** BUILD FAILED **


Xcode's output:
↳
    Building AOT snapshot in release mode (ios-release)...          

    Compiler message:

    ../../../../Elias/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_platform_widgets-0.20.1/lib/src/platform_scaffold.dart:229:38: Error: The getter 'fullObstruction' isn't defined for
    the class 'ObstructingPreferredSizeWidget'.

     - 'ObstructingPreferredSizeWidget' is from 'package:flutter/src/cupertino/page_scaffold.dart' ('../../../../Elias/flutter/packages/flutter/lib/src/cupertino/page_scaffold.dart').

    Try correcting the name to the name of an existing getter, or defining a getter or field named 'fullObstruction'.

          final obstruct = navigationBar.fullObstruction == null ||

                                         ^^^^^^^^^^^^^^^

    ../../../../Elias/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_platform_widgets-0.20.1/lib/src/platform_scaffold.dart:230:25: Error: The getter 'fullObstruction' isn't defined for
    the class 'ObstructingPreferredSizeWidget'.

     - 'ObstructingPreferredSizeWidget' is from 'package:flutter/src/cupertino/page_scaffold.dart' ('../../../../Elias/flutter/packages/flutter/lib/src/cupertino/page_scaffold.dart').

    Try correcting the name to the name of an existing getter, or defining a getter or field named 'fullObstruction'.

              navigationBar.fullObstruction;

                            ^^^^^^^^^^^^^^^

    Compiler terminated unexpectedly.
    Failed to build /Users/elias/Documents/GitHub/isontic-Education.
    Command PhaseScriptExecution failed with a nonzero exit code
    note: Using new build systemnote: Planning buildnote: Constructing build descriptionwarning: The use of Swift 3 @objc inference in Swift 4 mode is deprecated. Please address deprecated
    @objc inference warnings, test your code with “Use of deprecated Swift 3 @objc inference” logging enabled, and then disable inference by changing the "Swift 3 @objc Inference" build
    setting to "Default" for the "Runner" target. (in target 'Runner' from project 'Runner')

Encountered error while building for device.
Eliass-MBP:isontic-Education elias$ 
@john-yick
Copy link

Seeing the same issue here as well:

Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel dev, v1.10.6, on Mac OS X 10.14.6 18G84, locale en-GB)

[✓] Android toolchain - develop for Android devices (Android SDK version 28.0.3)
[✓] Xcode - develop for iOS and macOS (Xcode 11.0)
[!] Android Studio (not installed)
[✓] VS Code (version 1.38.1)
[✓] Connected device (1 available)

! Doctor found issues in 1 category.

4 warnings generated. === BUILD TARGET Runner OF PROJECT Runner WITH CONFIGURATION Debug === Warning: Multiple build commands for output file /Users/XXXXX/Documents/Bitbucket/gitlab/e-learning/build/ios/Debug-iphoneos/Runner.app/params.wmc === BUILD TARGET Runner OF PROJECT Runner WITH CONFIGURATION Debug === Compiler message: ../../../flutter/.pub-cache/hosted/pub.flutter-io.cn/flutter_platform_widgets-0.20.1/lib/src/platform_scaffold.dart:229:38: Error: The getter 'fullObstruction' isn't defined for the class 'ObstructingPreferredSizeWidget'. - 'ObstructingPreferredSizeWidget' is from 'package:flutter/src/cupertino/page_scaffold.dart' ('../../../flutter/packages/flutter/lib/src/cupertino/page_scaffold.dart'). Try correcting the name to the name of an existing getter, or defining a getter or field named 'fullObstruction'. final obstruct = navigationBar.fullObstruction == null || ^^^^^^^^^^^^^^^ ../../../flutter/.pub-cache/hosted/pub.flutter-io.cn/flutter_platform_widgets-0.20.1/lib/src/platform_scaffold.dart:230:25: Error: The getter 'fullObstruction' isn't defined for the class 'ObstructingPreferredSizeWidget'. - 'ObstructingPreferredSizeWidget' is from 'package:flutter/src/cupertino/page_scaffold.dart' ('../../../flutter/packages/flutter/lib/src/cupertino/page_scaffold.dart'). Try correcting the name to the name of an existing getter, or defining a getter or field named 'fullObstruction'. navigationBar.fullObstruction; ^^^^^^^^^^^^^^^

@kasp1
Copy link

kasp1 commented Sep 29, 2019

Use channel stable guys

@aqwert
Copy link
Collaborator

aqwert commented Sep 29, 2019

Although I would like to support more than Stable it gets quite unattainable with the number of changes that occur on master and even dev. Best for anyone using anything other than stable is to fork and make changes required for yourself. Flutter pub references are super easy to reference a repository rather than pub.dev itself

@aqwert aqwert closed this as completed Sep 29, 2019
@john-yick
Copy link

Understand the stance you are taking with supporting stable only, but the reason for moving to the master branch is for iOS 13 support. Currently iOS 13 will fail to build on any other branch.

@miquelbeltran
Copy link

This issue still persisted in v1.10.15-pre.93, I think you are going to see more and more users blocked because of it.

I'd suggest to reopen the issue and to at least warn users about this limitation.

@aqwert
Copy link
Collaborator

aqwert commented Oct 13, 2019

The only way this is solvable is to do one of the following:

  • For anyone relying on non stable flutter is to folk this project and fix the issue locally. Then use repository references in pubspec rather than reference pub.dev version itself.
  • Create a branch in this repository that just fixes that one issue and have any projects reference that.
  • Create a and maintain a pre-release version of this package and publish to pub.dev.

If this package is built against anything other than stable then the publishing will fail. the only way to do it would be a pre-release version. The question is that what channel to build the pre-release version against. I would be hesitant in supporting master since that changes on a daily basis and would potentially break this project constantly.

@miquelbeltran
Copy link

miquelbeltran commented Oct 13, 2019

edit: I see that you are warning users on the README.md about the limited support. There's not much we can do then.

@aqwert
Copy link
Collaborator

aqwert commented Oct 13, 2019

I am in the process of creating a pre-release off beta with the fix now

@aqwert
Copy link
Collaborator

aqwert commented Oct 13, 2019

I have published a beta version (https://pub.dev/packages/flutter_platform_widgets/versions/0.20.3-beta.1) Could you try that to see if this resolves the issue.

(This is my first attempt at a pre-release version. The static analyser is still running against the stable version of flutter which is why it fails analysis. Would be great if someone could point me in the right direction as to how to control the pub.dev static analyser)

@sladomic
Copy link

0.20.3-beta.1 works for me, thanks!

@miquelbeltran
Copy link

Thanks for providing a solution!

Also, you probably already know this, but you don't necessarily need to provide a release for the fix. Developers also can reference branches directly in their pubspec.yaml, for example:

library_name:
    git:
      url: git://github.com/repo_user/repo_name.git
      ref: feature/fix-master-channel

@japborst
Copy link

Note that 0.20.3-beta.1 is not backwards compatible. Thus switching from channel beta to channel stable with ^0.20.3-beta-1 in pubspec will cause failures.

Might be good to bump the version a little more.

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

No branches or pull requests

7 participants