xmartlabs / Eureka

Elegant iOS form builder in Swift
https://eurekacommunity.github.io
MIT License
11.78k stars 1.33k forks source link

App Store Connect Operation Error: The app references non-public selectors #2230

Closed funkenstrahlen closed 2 years ago

funkenstrahlen commented 2 years ago

Since the release of iOS 16 and building my app with Xcode 14 I get an App Store Connect Operation error when I upload my final build to App Store Connect containing Eureka framework.

App Store Connect Operation Error: The app references non-public selectors

Screenshot 2022-09-14 at 10 55 15

This seems to be related to the usage of DatePickerRow.

Steps to reproduce the behavior:

  1. Include Eureka framework
  2. Create a form with a DatePickerRow
  3. Build and upload to App Store Connect with Xcode 14
  4. See error

Expected: No error warnings from App Store Connect about references to non-public selectors.

Versions

Workaround Build the app with Xcode 13.4.1

AsiaMartini commented 2 years ago

Same problem for me, same version of Eureka and Xcode. Unable to publish an important upgrade of the app.

funkenstrahlen commented 2 years ago

Looks like this has something todo with this code from Eureka:

https://github.com/xmartlabs/Eureka/blob/523af88efc83cdaf39b415446be1ca1529f5664d/Source/Rows/DatePickerRow.swift#L90

funkenstrahlen commented 2 years ago

Honestly I tend to think this is an issue on Apple's side. I tried to modify the Eureka code to reach compatibility with App Store Connect like this:

See this commit in my fork: https://github.com/xmartlabs/Eureka/commit/d55c713fd83e594f3e30683b5fac651c2c6daf8d

However building with this change caused the same warning error from App Store Connect.

Everything looks like a perfect match to the official documentation on how to react to value changed events for a UIDatePicker: https://developer.apple.com/documentation/uikit/uidatepicker

funkenstrahlen commented 2 years ago

Maybe a workaround is using Xcode 13 to build the app. I will try that now.

funkenstrahlen commented 2 years ago

Unable to publish an important upgrade of the app.

@AsiaMartini At what point in publishing the app to the App Store did your build get rejected because of the warning?

funkenstrahlen commented 2 years ago

I just did a build with Xcode 13.4.1. When I upload that build App Store Connect does not create the warning error.

So as long as you are not required to build with Xcode 14 a valid workaround is to build with Xcode 13.4.1.

AsiaMartini commented 2 years ago

Unable to publish an important upgrade of the app.

@AsiaMartini At what point in publishing the app to the App Store did your build get rejected because of the warning?

I was wrong. Even after archiving this error message was shown, the archive has been successfully uploaded. So, this error doesn't actually prevent me to publish.

PierreBrisorgueil commented 2 years ago

Same here

Screenshot 2022-09-17 at 11 00 14
r3econ commented 2 years ago

I have the same problem.

The app references non-public selectors in 
Payload/***/Frameworks/Eureka.framework/Eureka: datePickerValueChanged:, valueChanged

I am building with Xcode Version 14.0 (14A309)

mlorenze commented 2 years ago

Hi everyone! Try with this Eureka version (using the branch payloadWarning): pod 'Eureka', :git => 'https://github.com/xmartlabs/Eureka', :branch => 'payloadWarning' The warning should not be shown anymore.

mats-claassen commented 2 years ago

This was fixed in #2231 and is available in master now