Bitcode Auto Recompilation - ios

we are in the final phase of App Store publishing. We could see new feature that added to iTunes connect that is not exist last year when i have published my last app.
My question is, If i have not enabled bit code for one of the library used in my app, then i have to enable the checkbox for "Dont use bitcode auto-recompilation" ???
Or simply my app is not bit code enabled, So i need to enable this checkbox???

No it is not necessary, I did not enable bit code in my app also not checked this checkbox.
Now my app is approved by apple and it is in Live !

You should disable bitcode checkbox as its stated in apple doc -
"If you provide bitcode, all apps and frameworks in the app bundle (all targets in the project) need to include bit code."
Here is the link for the same
https://developer.apple.com/library/tvos/documentation/IDEs/Conceptual/AppDistributionGuide/AppThinning/AppThinning.html

As far as I know;
you should not select that checkbox.
Although using bitcode, the ipa file size incerements, the application will be more healty.

Related

iOS - Missing CFBundleIconName in Xcode 9.2

I am uploading build to release app using Xcode 9.2 built with iOS 11 SDK. Binary is archived and uploaded successfully, but I get the following email back.
Dear developer,
We have discovered one or more issues with your recent delivery for
"". To process your delivery, the following issues must be corrected:
Missing Info.plist value - A value for the Info.plist key
CFBundleIconName is missing in the bundle ''. Apps that provide icons
in the asset catalog must also provide this Info.plist key. For more
information see
http://help.apple.com/xcode/mac/current/#/dev10510b1f7. Once these
issues have been corrected, you can then redeliver the corrected
binary.
Regards,
The App Store team
I found a solution.
Missing CFBundleIconName in Xcode9 iOS11 app release
But i need little bit more. I don't want to use *.xcassets file for app icon. I want to use image in xCode project folder for app icon.
Is it possible in xCode 9.2? if yes then how?
Haven't seen this listed on any of the other posts but this was my issue.
Make sure to check the target membership of your assets directory! If you do not correctly link the membership here, you will get this same super-generic error(Apple should do something about the error messages).
The target membership should correlate directly to targets for which you are using the icons. For example, I use this single directory for both my main app, and watch app assets, you must specify this by selecting the appropriate member.
There is a direct option not to use app icon from Assets

Can only upload to Apple App Store with bitcode set to yes

I was having some trouble uploading my Ionic Ios App to the App Store through Xcode(v 7.2).
I was constantly faced with the error: "upload failed: You are not authorized to use this service for provider XXXXXX"
After some careful problem solving I was able to resolve that I needed to have "Enable Bitcode: Yes" under my project's Target. This allowed me to upload the app through Application Loader by exporting the app with bitcode attached.
My question is in terms of my wanting to better understand what is going on under the hood here.
What difference did the enabling of bitcode make to allow the app to upload vs not having it? I tested this out to confirm and this one change was the difference in the success and failure of uploading.
Thanks.
What difference did the enabling of bitcode make to allow the app to upload vs not having it? I tested this out to confirm and this one change was the difference in the success and failure of uploading.
->You don't need to Set Yes to bitcode for iOS apps. Enabling bitcode might have simply recompiled your libraries ( above error looks like an profile error). To prove this theory, disable bitcode (Set Value to No) recompile and upload on iTunes.
Refer to this link
https://developer.apple.com/library/content/documentation/IDEs/Conceptual/AppDistributionGuide/AppThinning/AppThinning.html
For iOS apps, bitcode is the default, but optional. For watchOS and tvOS apps, bitcode is required. If you provide bitcode, all apps and frameworks in the app bundle (all targets in the project) need to include bitcode.

ITC.apps.assetvalidation.BITCODE_IMBALANCE_ERROR.error.message

I am having a problem submitting my iOS application to review queue. It keeps loading and throwing me error like this.
ITC.apps.assetvalidation.BITCODE_IMBALANCE_ERROR.error.message
Any ideas how to resolve this?
I'm afraid there's not much information about this issue. All the stuff I've read about is from yesterday or today. This thread on the apple message board is what made most sense to me:
https://forums.developer.apple.com/thread/48023
It implies that there might be some issue on the Itunes Connect backend. It makes sense to me because I've already managed to do some releases on my app before, and the BITCODE flags were not changed before that. So it's either a change in the bitcode policies or some random error.
In any case, we'll probably have to wait until Apple clarifies it. I'd suggest to stay tuned to that thread on their forum :)
EDIT: I figured it out!!
I'm using CocoaPods, and the Pods project had the "Enable bitcode" option enabled for all targets, while my app had it disabled. That means that the frameworks were being generated with the arm64-bitcode architecture instead of the arm64-machinecode that my project requires. Putting the "Enable bitcode" to "No" for all the targets inside the Pods project does the trick.
At least, it worked for me. Too bad apple provides no feedback on this, because it looks like a recent change. I think there's another option that could work without changing the project settins: try disabling the "Include bitcode" checkbox on the Organizer, after pressing the "Upload to App Store" button.
Edit (again): Disabling the "Include bitcode" checkbox in the organizer definitely works :)
Regarding bitcode deprecation in Xcode 14. If you're using fastlane make sure to remove include_bitcode: true from your build_app call
Use of bitcode is deprecated starting in Xcode 14. You can checkout the Xcode 14 Release Notes deprecation.
So, we are free to remove the uploadBitcode key from the exportOptionsPlist plist file. And also make sure that your all app modules and external library's Enable Bitcode option in the build Settings should be no, then you will be able to upload your app to iTunes connect without getting any error or warning.

Xcode "Do not submit apps with GCC-style coverage" iOS upload processing error

This only happens post app store upload and during processing.
Relevant settings for all targets:
CLANG_ENABLE_CODE_COVERAGE = NO
GCC_INSTRUMENT_PROGRAM_FLOW_ARCS = NO
Can someone point to a config setting that could resolve this very recent issue with Xcode Version 7.2 (7C68)? Uploads have been fine until this point and no related config changes have been made.
The specific error:
Dear developer,
We have discovered one or more issues with your recent delivery for
"The App Name". To process your delivery, the following issues must
be corrected:
Invalid Bundle - Do not submit apps with GCC-style coverage
instrumentation enabled. Specifically, the following Xcode build
settings should be disabled: Instrument Program Flow Generate Test
Coverage Files
Once these issues have been corrected, you can then redeliver the
corrected binary.
Regards,
The App Store team
To work around this issue I set "Enable Bitcode" to "No" at the project level, which was it was previously set to and the last known good setting.
There are two relevant settings which should be NO for the Release configuration:
GCC_GENERATE_TEST_COVERAGE_FILES = NO;
and
GCC_INSTRUMENT_PROGRAM_FLOW_ARCS = NO;
Or in Xcode, under Build Settings > Apple LLVM 7.0 - Code Generation
I found that the Enable Code Coverage Support (CLANG_ENABLE_CODE_COVERAGE) is not required to be disabled. Vanilla Xcode projects have this enabled by default.
Also, of course you only need to make sure that the GGC settings are disabled for the Release configuration, assuming that's used for Archive.
3rd party frameworks
Finally note that if your project includes any 3rd party frameworks, all of these frameworks also need to be build using the above settings.
Unfortunately Apple iTunes Store's email doesn't tell you which project or framework failed, so debugging this might involve some trial and error.

Supported Platforms for iPad app?

I'm creating an app for iPad (my first), and I was about to submit a binary until I noticed something peculiar in the target build settings. Under the "Supported Platforms" key, it say "iphonesimulator iphoneos". Additionally, it says "build/appname.build/AppStore-iphoneos" under Per-configuration Intermediate Build File Paths. However, the app is supposed to be built for iPad. In the summary, the iOS Application Target Devices specifies "iPad". Note that I originally created the app to be universal, but would now only like to release it as an iPad app.
SOLVED: A note to anyone who might have the same question. I did not initially change the Build Variants from "iphonesimulator iphoneos", but I ultimately had to because I had a code sign problem, in which the Build Variants must be set to "normal" in order to compile. See this post for further info, it helped me:
Code Sign Failed - Exit Code: 1
Is this a question? Once you submit to the store, you'll mark the app as being available for iPad only.
The SUPPORTED_PLATFORMS conditional is meant for libraries that can be compiled for both MacOS and iOS (a.k.a. iPhoneOS... there is no such thing as iPadOS). It can also be used for libraries that build to work on only the device (such as things that utilize hardware connectors) and not the simulator.
Hope this makes sense.

Resources