App submission failed - 1+ corrupted binaries/non-public API usage and no additional details

后端 未结 9 2203
再見小時候
再見小時候 2020-12-24 03:13

I’ve been submitting my app to the App Store for test flight and after build 11, I’ve been getting failures via email from Apple:

Non-public API usage: The app conta

相关标签:
9条回答
  • 2020-12-24 03:18

    I used soffes/CommonCrypto with Carthage. Remove the CommonCrypto.framework are work for me, and please check this link how to import commoncryto framework: http://ioscake.com/importing-commoncrypto-in-a-swift-framework.html

    0 讨论(0)
  • 2020-12-24 03:19

    After a LOT of investigations on this part we finally found the problem for this issue: It seems like Apple gives this error for applications that suport both 32 and 64 bits.

    Apple gave this reminder for Mac Appstore, but it seems that iOS applications are affected as well.

    So a solution for this is to support bitcode OR to drop support for 32 bit devices by removing support for ARMV7 and ARMV7S or bellow from Valid Architectures from build settings. This will mean your application will work only on iPhone 5S and above. I hope this helps someone. Thank you!

    0 讨论(0)
  • 2020-12-24 03:21

    I was able to resolve it for myself, here's what I did:

    • Bitcode is disabled in my project and stays disabled
    • I removed a 3 pods, one being CommonCrypto, which I'd forgotten I had (the other 2 were QRCode and SwiftyJSON)
    • I removed their Linker Flags as well in Build Settings

    I hope that helps!

    0 讨论(0)
  • 2020-12-24 03:23

    Seems like the problem was fixed in the iTunes Connect backend. After build 45 we got through yesterday evening. Tried to find out what fixed the problem from all those changes - seems to go through with the inital build as well now.

    So three days I could have spent outside...

    0 讨论(0)
  • 2020-12-24 03:23

    Recently from 26th Jan 2018 Without any notice or announcement apple did some change related swift old code does not longer work with submission of application at app-store. I did not use CommonCrypto in my project at all

    I am also face that issue and i do lots of search and posting a question at apple forums and various platform about Non-public API usage: The app contains one or more corrupted binaries. Rebuild the app and resubmit

    After get to know that for that kind of Invalid Binary rejection have not single solution. I mention some possible solution that works for some user recently.

    1. Update your cocoa-pods if you are use since long and that contain some swift framework or class since swift 2.0 then just update your cocoa-pods with swift 4 support and target 10.0 that error goes away.
    2. One of user i have talk he enable bitcode on from Build setting and that issue solve for him.
    3. Some of user remove unused code, class and framework that directly use in code without cocoa-pods issue solve for them.
    4. For me i get warning in left panel like following image

    • Once i conversion to swift4 i get following warning:

    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 "appname" target.

    • For fix this warning i use that answer: The use of Swift 3 @objc inference in Swift 4 mode is deprecated?

    • After that i need to add @objc in swift3 class public method that i used in my objective-c class using bridge

    • I also check other warning in left side panel there is some other dependency warning of application target might be that also helpfup for other.

    Hope this answer can useful for some of user who does not find the answer yet and that might be helpful.

    0 讨论(0)
  • 2020-12-24 03:31

    I found the solution by my self after uploading the 9th build.

    1. I have used some swift class in the objective-c source code that I used by a bridge. While you build the project you can see left panel warning of project related and there is one line said update for swift 4.
    2. After converting swift 4 I get some more warning like use @objc to use swift 3 to latest swift 4 code.
    3. You can check how to use @objc at swift class check this link: The use of Swift 3 @objc inference in Swift 4 mode is deprecated?

    4. Then I have change unused profiles.

    Then I upload the app and it works. Let me know if anyone need help

    0 讨论(0)
提交回复
热议问题