apple / swift-nio

Event-driven network application framework for high performance protocol servers & clients, non-blocking.
https://swiftpackageindex.com/apple/swift-nio/documentation
Apache License 2.0
7.91k stars 640 forks source link

When my app is submitted to the App Store, an error occurs The naming convention for 'NlOBase64 'is incorrect #2670

Open ximlu opened 6 months ago

ximlu commented 6 months ago

12491709119484_ pic

Expected behavior

[what you expected to happen]

Actual behavior

[what actually happened]

Steps to reproduce

  1. ...
  2. ...

If possible, minimal yet complete reproducer code (or URL to code)

[anything to help us reproducing the issue]

SwiftNIO version/commit hash

[the SwiftNIO tag/commit hash]

System & version information

Please provide at the very least your operating system and Swift version information.

Ideally, run

scripts/nio-diagnose -o nio-diagnose.md PID_OF_YOUR_NIO_PROGRAM

and attach (or paste) the resulting file nio-diagnose.md into this bug report or send it to the SwiftNIO maintainers privately.

Lukasa commented 6 months ago

Thanks for filing this. We've seen reports of this in some other packages, we'll take a look.

ximlu commented 6 months ago

Could you please clarify what you mean in your previous message? It appears to be written in Chinese characters. If you can provide a translation or more context, I would be happy to assist you.

sjustfly commented 6 months ago

@Lukasa I also encountered the same problem. Is there any solution

colbrew commented 5 months ago

We are getting something similiar in our CI pipeline:

invalid character in Bundle Identifier. This string must be a uniform type identifier (UTI) that 
contains only alphanumeric (A-Z,a-z,0-9), hyphen (-), and period (.) characters. 
(in target '_NIODataStructures' from project 'swift-nio')

invalid character in Bundle Identifier. This string must be a uniform type identifier (UTI) that 
contains only alphanumeric (A-Z,a-z,0-9), hyphen (-), and period (.) characters. 
(in target '_NIOBase64' from project 'swift-nio')
Lukasa commented 5 months ago

A quick update here: this appears to be related to Xcode's solving for the "diamond dependency problem". In some cases, Xcode will instruct SwiftPM to pull a package dependency out to a dynamic framework, instead of statically linking it. This will be done when it is necessary to avoid duplicate symbols appearing in your final product.

It looks like there is an Xcode bug where the resulting framework has an invalid bundle identifier. As this bundle identifier was generated by Xcode, this is fundamentally an Xcode issue. Can I ask you to file a report using Feedback Assistant?

We can also consider whether we should remove the underscores from the target names here, but you will find this across the package ecosystem. It's probably better that we don't play whack-a-mole with this, and instead get Xcode to understand that target names are not necessarily valid bundle identifiers.

colbrew commented 5 months ago

Thanks for the update Cory. Agree this sounds like an Xcode bug, I will file a bug report. For our team this is just a "mucking up the logs" issue; thanks again for taking a look.

colbrew commented 5 months ago

Submitted feedback - FB13704644

Demo of issue: https://github.com/colbrew/SwiftNIOBundleIDWarning