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

Issues when submitting to App Store building against iOS 16 #1297

Closed
mpretty-cyro opened this issue Oct 6, 2022 · 21 comments
Closed

Issues when submitting to App Store building against iOS 16 #1297

mpretty-cyro opened this issue Oct 6, 2022 · 21 comments

Comments

@mpretty-cyro
Copy link

I've just built and uploaded a version of an app to the AppStore and received a warning indicating that PromiseKit is using non-public selectors from the upload process - I've submitted the build for TestFlight review (haven't submitted for a full review yet) but haven't gotten an approval/rejection at the time of writing

I assume it's actually just a naming collision rather than using non-public APIs but wanted to raise the issue ASAP to try and get a jump on a potential review rejection

Screen Shot 2022-10-06 at 10 43 00 am

XCode: 14.0.1
PromiseKit: 6.18.1
Installation: CocoaPods

@tureck1y
Copy link

tureck1y commented Oct 9, 2022

Any updates to this issue?

@mpretty-cyro
Copy link
Author

The app got approved even with this warning (both to TestFlight and the AppStore)

@DeanGuo
Copy link

DeanGuo commented Oct 14, 2022

Even though the upload is successful, submitting the release for review is rejected on the grounds of 2.3, how can this be resolved?

@Kaspik
Copy link

Kaspik commented Oct 24, 2022

FYI this is not an issue with SPM.

@mxcl
Copy link
Owner

mxcl commented Oct 26, 2022

The objective C portions of PromiseKit use some pretty low level tricks, it's possible Apple has now decided this is not acceptable.

I do not have a lot of time for PromiseKit nowadays since I’m trying to solve the fact I don’t have time with it via https://github.com/teaxyz, so if anyone affected by this could do the preliminary research I will then take over after that.

Specifically:

  1. what's the beef
  2. which part of the code?

@jhonatangeison
Copy link

lib signing issue reported by applestore

The app references non-public selectors in Payload/UnimedPlanoDeCuidado.app/Frameworks/PromiseKit.framework/PromiseKit: promise

@178408714
Copy link

Has anyone solved this problem?

@mxcl
Copy link
Owner

mxcl commented Feb 5, 2023

I just took a cursory glance through our objc sources and we don’t seem to do anything that isn't public API. It's all C magic that is per the binary spec for objc.

Also I can't find a function called promise so. hmm.

@bevbomb
Copy link

bevbomb commented Feb 6, 2023

@mxcl I'm not sure if this is worth mentioning or not but this warning only occurs for me when I'm archiving projects that were created in the latest versions of Xcode. I have a more mature project that I continuously update which utilizes PromiseKit a lot in the same manner as my newer projects and I'm yet to see the warning for it. If I archive my new projects in an older version of Xcode the warning does not occur on upload.

I have also had my newer project rejected from the store on a few occasions because of this warning but it seems to be up to the discretion of the tester as to whether the app should pass or not as they sometimes allow it even with the warning.

@kikeenrique
Copy link

I'm using version 6.15.3 via SPM and I have not yet seen this App Store warning using Xcode 14.x
@Kaspik what version are you using?

I don't think this could be related to using the framework via SPM, so I've run a diff between versions 6.15.3 and 6.18.1 (reported in first comment). There is a change adding a file, Async.swift, that imports swift concurrency and uses async code with a function named async.
Extremelly wild guessing, could it be possible that using swift concurrency adds Apple extra checks for the framework about "restricted api words"?

@avlaev
Copy link

avlaev commented Mar 8, 2023

I updated to version 6.18.1 and I still see the issue. We have a whitelabel app with various targets. For old existing targets when I upload the app I don't see the warning, for a new app which we are uploading to Testflight for the very first time I see the warning which leads me to think that this is some new validation which apple does for new apps. The two apps are almost identical otherwise - especially the parts dealing with PromiseKit.

Repository owner deleted a comment from avlaev Mar 8, 2023
@mxcl
Copy link
Owner

mxcl commented Mar 8, 2023

SwiftPM doesn't have the objc portions so it is likely due to the objc portions that this warning shows up.

@RomanPodymov
Copy link
Collaborator

RomanPodymov commented Mar 8, 2023

I updated to version 6.18.1 and I still see the issue. We have a whitelabel app with various targets. For old existing targets when I upload the app I don't see the warning, for a new app which we are uploading to Testflight for the very first time I see the warning which leads me to think that this is some new validation which apple does for new apps. The two apps are almost identical otherwise - especially the parts dealing with PromiseKit.

Hello @avlaev
Can you please try v.6.15.3? Or at least v.6.17.1 (the latest PromiseKit 6 without Async.swift).

@RomanPodymov
Copy link
Collaborator

Hello @mpretty-cyro @tureck1y @DeanGuo @Kaspik @jhonatangeison @178408714 @bevbomb @kikeenrique @avlaev
What is the latest PromiseKit 6 version you can use without the warnings you mentioned?

@sfiligoj
Copy link

I've tried to validate an app with both 6.15.3 and 6.17.1, the warning is always there. I'm using Xcode 14.2.

@sfiligoj
Copy link

sfiligoj commented Apr 14, 2023

I've just uploaded an app to App Store (TestFlight) and the warning is gone... (v6.18.1 from CocoaPods, Xcode 14.3)

image

@RomanPodymov
Copy link
Collaborator

Hello @sfiligoj
Did you use PromiseKit 6.22.1?

@sfiligoj
Copy link

Hello @sfiligoj Did you use PromiseKit 6.22.1?

No, I'm using the 6.18.1 from CocoaPods. I was surprised about the successful upload without warnings. Does this mean that Apple "released" a little bit the code check? I'm curious if there are other users that noticed this.

@RomanPodymov
Copy link
Collaborator

Hello @sfiligoj Did you use PromiseKit 6.22.1?

No, I'm using the 6.18.1 from CocoaPods. I was surprised about the successful upload without warnings. Does this mean that Apple "released" a little bit the code check? I'm curious if there are other users that noticed this.

Hello @sfiligoj
Thank you for your comment. @mpretty-cyro Can you please upload a build again?

@mpretty-cyro
Copy link
Author

Thank you for your comment. @mpretty-cyro Can you please upload a build again?

Yep, just submitted a build including 6.15.3 and the warning is gone 👍

@RomanPodymov
Copy link
Collaborator

Hello @mpretty-cyro
Great! Can you close the ticket please?

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