Problem during distribute file .ipa to Apple store: __CFCopyServerVersionDictionary - gluon-mobile

I create the ipa file with graalVM and client-maven-plugin. When I try to distribute into the apple Store I have this error.
ITMS-90338: Non-public API usage - The app references non-public symbols in <NAME APP> : __CFCopyServerVersionDictionary, __CFCopySystemVersionDictionary. If method names in your source code match the private Apple APIs listed above, altering your method names will help prevent this app from being flagged in future submissions.
How I can solve?

Related

How to deploy Xamarin iOS App with .dSYM file

I've been looking at Microsoft's docs for deploying Xamarin iOS apps to the app store:
https://learn.microsoft.com/en-us/xamarin/ios/deploy-test/app-distribution/app-store-distribution/index?tabs=windows
https://learn.microsoft.com/en-us/xamarin/ios/deploy-test/app-distribution/ipa-support?tabs=windows
We are currently building in Ad-Hoc and generating an .ipa file which we then upload to the app store via Application Loader. I managed to get the .dSYM folder to generate if I set the Project Properties -> Build -> Advanced -> Debugging Information to "Full" in Visual Studio.
Is there a better way to upload the .ipa, or a way to upload the .dSYM to iTunes Connect? As I read that Apple will automatically symbolicate any crash logs for you if the symbols were uploaded with the app?
Also, does setting the Debugging Information to "Full" change the actual .ipa in any way, or does it just generate the extra .dSYM file? Since setting it to "Full" I manually deployed the .ipa to our test device and one the libraries we use is now throwing an Object Reference exception.
Any help is greatly appreciated, thanks.
Is there a better way to upload the .ipa?
In my knowledge, there are two ways to upload .ipa file to iTunes Connect. One is XCode and the other is Application Loader.
or a way to upload the .dSYM to iTunes Connect? As I read that Apple
will automatically symbolicate any crash logs for you if the symbols
were uploaded with the app?
"you will be given the option of including the dSYM file when uploading your archive to iTunes Connect. In the submission dialog, check “Include app symbols for your application… DSYM files store the debug symbols for your app, it should exist at the machine that compiled the app binary. Read the answer in this thread would help you understand what is a DSYM file better.
Here is the document about Understanding and Analyzing Application Crash Reports.
or does it just generate the extra .dSYM file?
I don't think so, there is only a DSYM file after you compiled the app binary.
Since setting it to "Full" I manually deployed the .ipa to our test
device and one the libraries we use is now throwing an Object
Reference exception.
What is the Object Reference exception? Any stackTrace?

ConfigData framework not compiling on upload to Apple Store

I having some problem while uploading file to Apple Store.
After i generate the file (archive) i try to upload to Apple Store.
But i got a message:
This only happens when i upload to Apple Store.
I already try to generate file with AD Hoc, to upload to HockeyApp. This way, i don't have this problem.
An interest thing: When i remove this ConfigData.framework from Embedded Binaries, now i have another error during prepare to upload: "Code signing OmiseSDK.framework failed." Even remove those frameworks, when i compile project, any error appear. But after archive and prepare to upload file to Apple Store, i have those strange errors.
Could someone help?

Upload to iTunes error: "app references non-public symbols"

I am trying to upload my app to the iTunes store but I receive the following error,
iTunes store operation failed: The app references non public symbols
in Payload/XXX.app/XXX NSTextSizeMultiplierDocumentOption.
where XXX is my specific app's name.
However, according to the AppKit Framework Reference, the NSTextSizeMultiplierDocumentOption is not deprecated and it is public.
Why am I receiving this error?
I found that since I was using DTCoreText I was able to switch the "NS" to "DT" and it solved all problems.

Invalid Bundle Structure - Does not include a Payload Directory

After I've uploaded binary to iTunes, I got "Invalid Binary" and this mail:
Dear Developer,
We have discovered one or more issue with
your recent delivery. To process your delivery, the following issue must be
corrected: Invalid Bundle Structure - Your package contains a bundle
with the following issue: IPA bundle does not include a Payload
Directory. Once these issues have been corrected, you can then
redeliver the corrected binary.
Regards, The App Store team
Used Software/Hardware
1)Game Maker Studio Professional
2)Xcode 5.1.1
Actually in this new version we have added
Facebook score Share
Twitter Score Share
Game Centre
Push-notification
and also added iAds with in-app-purchase to
remove ads for 0.99$.
I don't know what is payload directory.
Can any one help us to solve this issue?
I've unsuccessfully tried:
Invalid Binary Error
I can not find payload folder in my archive
I can not find "CFBundleInfoDictionaryVersion" in my archive.
Just add the following item in your Info.plist:
LSRequiresIPhoneOS | Boolean | YES
Without it, the archive export is building an iOS IPA file with the OSX Applications folder :)
Open your Info.plist file and click plus(+) and write Info Dictionary Version which is 6.0 and clean app and upload it Again. now you get clear Idea.

ios - what is the difference between archiving your application and creating a binary?

I have started the steps to submit my app to the apple store, andI have made a keychain security file, and did an archive of the code base.
But as I understand it, I have to make a binary file of the code base which is just a zip file, and upload it to iTunes Connect, is that correct?
What was the point of archiving the codebase? Did that not create the binary? And how do I sign the binary correctly so that it can be submitted to the apple store?
Thanks!!
You're using a number of terms here, but not using all of them correctly.
"Code base" usually refers to the entire collection of files that are part of the application. The most important of those are the source code files, but most people would also include such things as XML files, strings files, images, your project file, and other resources. An "archive of the code base" sounds like your put all these in a zip file for safe keeping. I understand you to mean that you used Xcode's 'Archive' command, but this does several things:
compiles the program into an application bundle (the app bundle is a directory that includes the executable "binary" file, but also contains the other resources that the app needs)
signs the bundle with your private key and distribution provision
zips the application
saves the archive along with the debug symbols file in Xcode's organizer so that you can later symbolicate any crash logs you receive
optionally submits the application to iTunesConnect for review, save the app, or mail the app to someone
"creating a binary" really just means creating some sort of binary (i.e. non-text) file, but it's often understood that the binary file in question is executable. So yes, using Xcode's 'Archive' command will "create a binary", but it goes several steps further in ensuring that the 'binary' is stored in the right format for submitting to iTunesConnect or distributing to users.
Creating an archive also saves the .dsym files which you need to symbolicate crash reports.
See this article for more about archiving: http://developer.apple.com/library/ios/#qa/qa1764/_index.html
You can use Xcode to submit your binary to iTunes connect. Also, binaries are already signed with the provisioning/distribution profile.
In order to sign the binary correctly, you need to create a distribution profile with the app id you have assigned to your application. You compile your app and make an archive. You can go to Xcode's organizer to submit your application to the app store.

Resources