flutter-permission-handler icon indicating copy to clipboard operation
flutter-permission-handler copied to clipboard

[Bug]: permission_handler_apple 9.2.0 gives ARC Semantic Issue (Xcode): No visible @interface ... errors on ios build

Open lisovyk opened this issue 1 year ago • 4 comments

Please check the following before submitting a new issue.

Please select affected platform(s)

  • [ ] Android
  • [X] iOS
  • [ ] Windows

Steps to reproduce

I started having an error when building iOS release file with flutter build ipa and the same error when trying to launch a an app in debug mode, while everything has built correctly yesterday on the same version.

Downgrading to 11.0.0, which uses permission_handler_apple version 9.1.4, solves the issue, although it was working fine on the latest release, 11.1.0. Any ideas? I have re-installed the permission_handler with no effect. Removed podfile & ran pod install, flutter clean, anything I could think of..

Android build works good so far

Expected results

App builds and runs without issue

Actual results

my-app % flutter build ipa

Archiving com.lisovyk.MyApp...
Automatically signing iOS for device deployment using specified development team in Xcode project: <devteamnumber>
Running Xcode build...                                                  
Xcode archive done.                                          7.7s
Failed to build iOS app
ARC Semantic Issue (Xcode): No visible @interface for 'EKEventStore' declares the selector 'requestFullAccessToEventsWithCompletion:'
/Users/vladli/.pub-cache/hosted/pub.dev/permission_handler_apple-9.2.0/ios/Classes/strategies/EventPermissionStrategy.m:55:24


ARC Semantic Issue (Xcode): No visible @interface for 'EKEventStore' declares the selector 'requestWriteOnlyAccessToEventsWithCompletion:'
/Users/vladli/.pub-cache/hosted/pub.dev/permission_handler_apple-9.2.0/ios/Classes/strategies/EventPermissionStrategy.m:63:24


ARC Semantic Issue (Xcode): No visible @interface for 'EKEventStore' declares the selector 'requestFullAccessToRemindersWithCompletion:'
/Users/vladli/.pub-cache/hosted/pub.dev/permission_handler_apple-9.2.0/ios/Classes/strategies/EventPermissionStrategy.m:71:24


Semantic Issue (Xcode): Use of undeclared identifier 'EKAuthorizationStatusFullAccess'
/Users/vladli/.pub-cache/hosted/pub.dev/permission_handler_apple-9.2.0/ios/Classes/strategies/EventPermissionStrategy.m:105:17


Semantic Issue (Xcode): Use of undeclared identifier 'EKAuthorizationStatusWriteOnly'; did you mean 'EKAuthorizationStatusDenied'?
/Users/vladli/.pub-cache/hosted/pub.dev/permission_handler_apple-9.2.0/ios/Classes/strategies/EventPermissionStrategy.m:107:17


Semantic Issue (Xcode): Duplicate case value 'EKAuthorizationStatusDenied'
/Users/vladli/.pub-cache/hosted/pub.dev/permission_handler_apple-9.2.0/ios/Classes/strategies/EventPermissionStrategy.m:107:17


Semantic Issue (Xcode): Use of undeclared identifier 'EKAuthorizationStatusWriteOnly'; did you mean 'EKAuthorizationStatusDenied'?
/Users/vladli/.pub-cache/hosted/pub.dev/permission_handler_apple-9.2.0/ios/Classes/strategies/EventPermissionStrategy.m:123:17


Semantic Issue (Xcode): Duplicate case value 'EKAuthorizationStatusDenied'
/Users/vladli/.pub-cache/hosted/pub.dev/permission_handler_apple-9.2.0/ios/Classes/strategies/EventPermissionStrategy.m:123:17


Encountered error while archiving for device.

Same on debug mode run:

Launching lib/main.dart on 6.5'' in debug mode...
Xcode build done.                                           22.9s
Failed to build iOS app
ARC Semantic Issue (Xcode): No visible @interface for 'EKEventStore' declares the selector 'requestFullAccessToEventsWithCompletion:'
/Users/vladli/.pub-cache/hosted/pub.dev/permission_handler_apple-9.2.0/ios/Classes/strategies/EventPermissionStrategy.m:55:24
ARC Semantic Issue (Xcode): No visible @interface for 'EKEventStore' declares the selector 'requestWriteOnlyAccessToEventsWithCompletion:'
/Users/vladli/.pub-cache/hosted/pub.dev/permission_handler_apple-9.2.0/ios/Classes/strategies/EventPermissionStrategy.m:63:24

ARC Semantic Issue (Xcode): No visible @interface for 'EKEventStore' declares the selector 'requestFullAccessToRemindersWithCompletion:'
/Users/vladli/.pub-cache/hosted/pub.dev/permission_handler_apple-9.2.0/ios/Classes/strategies/EventPermissionStrategy.m:71:24

Semantic Issue (Xcode): Use of undeclared identifier 'EKAuthorizationStatusFullAccess'
/Users/vladli/.pub-cache/hosted/pub.dev/permission_handler_apple-9.2.0/ios/Classes/strategies/EventPermissionStrategy.m:105:17

Semantic Issue (Xcode): Use of undeclared identifier 'EKAuthorizationStatusWriteOnly'; did you mean 'EKAuthorizationStatusDenied'?
/Users/vladli/.pub-cache/hosted/pub.dev/permission_handler_apple-9.2.0/ios/Classes/strategies/EventPermissionStrategy.m:107:17

Semantic Issue (Xcode): Duplicate case value 'EKAuthorizationStatusDenied'
/Users/vladli/.pub-cache/hosted/pub.dev/permission_handler_apple-9.2.0/ios/Classes/strategies/EventPermissionStrategy.m:107:17

Semantic Issue (Xcode): Use of undeclared identifier 'EKAuthorizationStatusWriteOnly'; did you mean 'EKAuthorizationStatusDenied'?
/Users/vladli/.pub-cache/hosted/pub.dev/permission_handler_apple-9.2.0/ios/Classes/strategies/EventPermissionStrategy.m:123:17

Semantic Issue (Xcode): Duplicate case value 'EKAuthorizationStatusDenied'
/Users/vladli/.pub-cache/hosted/pub.dev/permission_handler_apple-9.2.0/ios/Classes/strategies/EventPermissionStrategy.m:123:17

Could not build the application for the simulator.
Error launching application on 6.5''.
Exited (1)

Code sample

Hard to create a code sample with a production-scale app :(

Screenshots or video

No response

Version

11.1.0

Flutter Doctor output

Doctor output
ios % flutter doctor -v
[✓] Flutter (Channel stable, 3.16.0, on macOS 13.5.1 22G90 darwin-arm64, locale en-UA)
    • Flutter version 3.16.0 on channel stable at /Users/vladli/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision db7ef5bf9f (12 days ago), 2023-11-15 11:25:44 -0800
    • Engine revision 74d16627b9
    • Dart version 3.2.0
    • DevTools version 2.28.2

[✓] Android toolchain - develop for Android devices (Android SDK version 33.0.0)
    • Android SDK at /Users/vladli/Library/Android/sdk
    • Platform android-34, build-tools 33.0.0
    • Java binary at: /Applications/Android Studio.app/Contents/jbr/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 17.0.6+0-17.0.6b829.9-10027231)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 14.3.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 14E300c
    • CocoaPods version 1.12.1

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2022.3)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 17.0.6+0-17.0.6b829.9-10027231)

[✓] VS Code (version 1.82.2)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.76.0

[✓] Connected device (3 available)
    • iPhone 14 Pro Max (mobile) • C758A6A4-B1BB-40B7-97C9-EAB0E0216CB4 • ios            • com.apple.CoreSimulator.SimRuntime.iOS-16-4 (simulator)
    • macOS (desktop)            • macos                                • darwin-arm64   • macOS 13.5.1 22G90 darwin-arm64
    • Chrome (web)               • chrome                               • web-javascript • Google Chrome 119.0.6045.159

[✓] Network resources
    • All expected network resources are available.

• No issues found!

lisovyk avatar Nov 27 '23 15:11 lisovyk

The same problem occurs

hjr19911126 avatar Nov 28 '23 07:11 hjr19911126

Dear @lisovyk and @hjr19911126,

It looks like you both are using an older version of Xcode. Please update Xcode to version 15 or above, or use the 11.0.0 for your project. The new permission_handler manages iOS 17 features that are not yet available on Xcode 14. We could add a compiler check to prevent this from happening on older Xcode versions. But this is not something that we are fixing soon.

Kind regards,

TimHoogstrate avatar Nov 29 '23 08:11 TimHoogstrate

@TimHoogstrate I still get this error when using 11.0.0. I'm on xcode 14 and can't upgrade to 15 because my mac is too old lol. Is there another workaround? I ended up moving back to 10.4.5 and got it to build. But on an ios emulator, attempting to get calendar/events permission shows the popup dialog for a split second, and then it disappears and shows as permanentlyDenied. The other permissions work great.

Edit: I guess this was a previous issue per https://github.com/Baseflow/flutter-permission-handler/issues/1188. Major bummer feeling like I have to get a new laptop just to run this library properly.

JakeHadley avatar Jan 28 '24 05:01 JakeHadley

Build now broken, what can i revert to or is there another plugin that does this so i can not have this be a blocker?

cyberpwnn avatar Mar 08 '24 23:03 cyberpwnn