ITMS 90433 Error for uploading app: Xcode 12.4 - xcode

When I submit my app to App Store as TestFlight, my app goes invalid binary. Error message is give as follows:
....
ITMS-90433: Invalid Swift Support - The file
libswiftAVFoundation.dylib doesn’t have the correct code signature.
Make sure you’re using the correct signature, rebuild your app using
the current public (GM) version of Xcode, and resubmit it. Don’t just
modify the code signature of libswiftAVFoundation.dylib.
Would you please recommend any practices for library version checking or others if any, to ensure my app submission contains valid binary ?
Updates :
I need to go to the company and rebuild my iOS app using Always Embed Swift Standard Libraries -> YES, no issues
Thank you very much

Go to your project target and then -> Build Settings -> Always Embed Swift Standard Libraries and switch to "NO". (this is if you dont use swift in your project).
On the other hand i've seen this more of an issue that has to do with cleaning your project folder.
https://github.com/flutter/flutter/issues/59830#issuecomment-646603022

Having a physical device connected to xcode while building the app solved it on my site. Note: I use flavors in my flutter project.

For some reason, the command line tools was not set in Xcode preferences. So in my case I opened:
Xcode -> Preferences -> Locations
and set Command Line Tools field to match the current version of Xcode, in my case
Xcode 12.4(12D4e)
Then Archive and upload new binary.

Related

How do I create a .storekit file in Xcode?

I'm currently trying to set up a local environment to test in-app purchases in a macOS application.
Apple's documentation at https://developer.apple.com/documentation/xcode/setting_up_storekit_testing_in_xcode states:
To create a StoreKit configuration file, launch Xcode, then choose File > New > File. In the sheet that appears, enter “storekit” in the Filter search field, select StoreKit Configuration File...
When I filter on "storekit", there is no "StoreKit Configuration File."
What am I doing wrong? Do I need to install some kind of SDK or similar in Xcode?
I use Xcode 12.0 beta (12A6159) on Catalina 10.15.5.
The Storekit configuration file is found and I can create and configure it.
But the Scheme -> Run -> Option does not display a selection option to perform local testing on a macOS project, but only on IOS project.
On the apple documentation StoreKit Test framework is labelled macOS 11.0+
A comment on Apple Dev Forum indicate that this menu appears on a Big Sur configuration for a macOS project, but that Xcode stills connects to Sandbox. Not tried yet on Big Sur.
One thing that can trip people up:
If you are using Swift Packages and you have any source-file or directory from a package selected in the Project Navigator, then the types available in the File->New->File sheet is more restricted.
Select the iOS project, or a Group within it, then File->New->File will contain the StoreKit Configuration File option.
This is a brand new feature, so you need the latest version of Xcode for this - Xcode 12. Please also watch the session https://developer.apple.com/videos/play/wwdc2020/10659/

Xcode- Library not found for - IGoogleUtilities

I am new to Apple and Xcode, I make an application in unity3d and I try to implement AdMob. When I Run for test in xCode I have the error: Library not found for- IGoogleUtilities.
https://imgur.com/a/RTDZPYw
Also when I select "Simulator SDK" from Build Settings/Player Settings/Other Settings the build Button is interactable
Maybe it'il help someone;
"When using Unity 5.6 and above, an xcworkspace is generated that includes the required dependency libraries. Use the generated xcworkspace instead of the standard Xcode project."
Select device SDK from Unity editor.
inside Xcode, You should download and add GoogleMobileAds.framework then rebuild.
Let me know if it helps.

error itms-90451 "CFBundleIdentifier Collision Error"

I uploaded a version of my app – this error pop ups and I dont have any changes from the Google Maps portion of my app. On my first upload, there was no problem.
Just remove the embed frameworks build phase from your extension.
Click on extension in target section -> Build phases -> remove the embed pods frameworks
See attached picture:
This issue is probably Apple's iTunesConnect side of the problem.
see my question:
ITMS-90451:CFBundleIdentifier Collision Error
I also encountered the same problem in the submission of the application using the Qt framework.
I have submitted a report in https://bugreport.apple.com/.
Something I will even write if there is a reply from Apple.
I am wondering if iTunes Connect is having a temporary issue. I have the same exact error, now with a different third party library
I Solve the problem. I just deleted the 3rd party framework. Then add it again. I don't why it cause this but it works.
Frameworks Signing set to None and Don't Code Sign.
Build Phases - Copy Files - Code Sign On Copy Enabled
This issue is either iTunesConnect issue or Cocoapods.
When you archive and submit the App, you get this “CFBundleIdentifier Collision Error” because iTunesConnect is considering info.plist of one of pod dependency not your Watchkit App or its parent App.
In our case, it was considering Google Maps and Instabug's info.plist file.
Solution :
To solve this issue we deleted all the values of info.plist from our pod dependency. Clean archive and successfully submitted.
GoogleMap iOS SDK contains info.plist on following path : GoogleMapSDK -> Resources -> GoogleMaps.bundle -> info.plist
Screenshots of Errors :

iOS 8 Today widget does not appear when running the project

I have an app with 2 targets and added a today widget. When I run it it doesn't appear on the today notifications Edit/ in the "Do not include" section, where it normally appears the first time with my other apps. Any idea what could be going wrong? I get the entitlements missing warning for the extension but i get this for the ones that work too ( have tried adding one, doesn't help).
Also if i try attach it as a process under the debug menu, it does not appear there at all/
I have tried deleting app from simulator and resetting etc, I have tried with another app that has multiple targets as i thought this may be the problem but the other one works.
Anyone else have a similar experience or can suggest anything?
Edit 6 Oct 2014: I still haven't found a solution, but my project does not use arm64. Could this be the issue ? i have tried removing arm64 from other projects but I think Xcode 6 doesn't allow it so I can't test it, does anyone know if this is a possibility?
In my case, the reason for the widget not being shown in the list of widget was a too high deployment target number. For the widget, I had 9.0. However, I downgraded my iPhone from 9.0 to 8.4 and forgot to change it for the widget.
After changing it to 8.4, the widget immediately appeared on the iPhone.
Make sure you're running the containing app not the extension in the simulator.
I have seen this issue when there is a mismatch in the bundleID between the app and the extension.
Example (Correct):
App bundleid: com.yourcompany.myapp
Ext bundleid: com.yourcompany.myapp.myextension
The extension needs to have the entire bundleID of the app, followed by its own name.
Make sure:
"Deployment Target" is same to containing app's (#vomako 's answer);
Bundle ID follows correct format: "com.yourcompany.myapp.myextension", while your containing app's is "com.yourcompany.myapp" (#RohitGupta 's answer);
While debugging, you need to run widget/extension scheme (not containing app's scheme here. But if archive to submit to App Store, use containing app's scheme);
"Build Settings"'s "WRAPPER_EXTENSION" is "appex".
Point 4 was not mentioned in all answers (even official doc), but happened in my case.
I created Today Widget for my existing project in a workspace, not works at all. However, when I create pure new project with Today Widget, it works well. Then I compare the Build Setting one by one and found this difference: The one created for my existing project is "app", not "appex".
After changing it to "appex", works.
Also, as tips, in order to pass App Review, you must:
Include the arm64 (iOS) or x86_64 architecture (MacOS) in widget/extension's Architectures build settings;
Specify “iPhone/iPad” (sometimes called universal) as the targeted device family for your app extension, no matter which targeted device family you choose for your containing app;
A containing app that links to an embedded framework must include the arm64 (iOS) or x86_64 (OS X) architecture build setting;
Always choose “Frameworks” as your Copy Files build phase destination (do not choose the “SharedFramework” destination instead).
In my case the Build phase "Embed App Extensions" of the app target was missing the appex file:

The selected run destination is not valid for this action

I have opened a project that has always been iphone/ipad. I can't build it now because for some reason my only "Scheme" option is "MyApp My Mac 64-bit". How can I get this set back to iphone/ipad simulator and devices? My "Targeted Device Family" setting is iPhone/iPad.
I had that issue several times. Basically, just set the Base SDK in Build Settings to Latest OS X and it should work properly.
I ran in to this issue recently and i solved it by changing the value of the executable from "None" to "AppName.app" on xcode.
You should change:
Product > Edit scheme -> Run AppName.app -> Info tab -> Executable -> None
to:
Product > Edit scheme -> Run AppName.app -> Info tab -> Executable -> AppName.app
Have you tried editing the Scheme? (I'm assuming you are running XCode 4). I believe you just might need to set the "Base SDK" setting to "iphoneos" (this translates to "Latest iOS").
I was facing same issue in my application and I solved it by following these steps:
1. Go to Project-> Build Settings
2. Change BaseSDK to Latest OS
The above solutions didn't work for me because Xcode 4 didn't give me any choices to go back to iOS. I closed Xcode, opened it again, and then it worked!
I have the same problem, it appears that you also made the jump with the new Xcode 4 upgrade and this appears to be a code incompatibility.
If you want to keep it for IOS (Iphone / Imac ) edit Scheme [Product/Edit Scheme/ Build/ build => Destination drop down list.
Make sure you have installed the Ios SDK before running Xcode.
Elsewhere if you have to compile the same app for the Mac, I'd like also to know the answer as this generate the same errors as you.
I had similar issue recently. Got it solved by doing some changes in Base SDK of Project. Following are steps :
Click on the top-level project icon in the left hand panel
In the right hand panel that appears, select Build Settings (near the top).
Select "All" option (instead of Combined)
Ensure Base SDK is set appropriately, like "OS X 10.7", "Latest iOS(6.1)" etc.
I also just ran in to the issue. For me I was trying to "Build for Testing" and was running into this error.
To fix it I had to "Edit Scheme..." and then in the "Build" dropdown click on "Build" and made sure to check the "Test" checkbox for the Target.
I had the same error message. My solution is to delete the info.plist file from build phrases -> copy bundle resources.
Deployment target is missing for specified SDK ...
Choose other "Deployment Target" (in the Build settings) and simulator will appear.
Note:It's happening when use 5.1 SDK(latest) with XCode 4 on Snow Leopard..
I've just got this error, for me it was because of some reasons my device name didn't appear in xcode devices dropdown, just a generic name. Unplugged and plugged back the device and was fine.
For me I had to combine a couple of the solutions here to get it to work. For me the Project Build Settings were set to "Latest iOS" already.
To fix it, I had to change it to "OS X 10.6", then build the app (it will fail to build), then set it back to "Latest iOS", which now works again.
I just installed Xcode 4.1 (painful!) and when I opened one of my apps that built fine before the upgrade, the only active scheme was "My 64-bit Mac". In this case, the required change was to Edit Schemes, and for the Build scheme's Info tab, set the Executable dropdown to my target. It was set to None. As soon as I did that, the simulator/device showed up instead.
Tried the rest of these with no joy.
AFIAK this is a version control problem, in general not just a Git problem!
I gave a colleague a copy of a project that had modified files in it and this problem occurred.
However when I committed/updated the repo and gave him fresh copy.
This problem was fixed!
I've hit the same issue, needing to build with the 10.6 SDK. But I've found that XCode 4.4 doesn't contain this SDK! So I had to put it back, by opening the XCode.app package contents, and going to:
XCode.app/Contents/Developer/Platforms/MacOSX.platforms/Developer/SDKs
and copying in MacOSX10.6.sdk from my old XCode 3 Developer folder.
Surprisingly enough, this works! When you quit and relaunch XCode, and select the Base SDK for the project, 10.6 appears in the drop-down.
But beware, when XCode installs an update, you'll have to repeat this process, as I found just now after updating to 4.4.1.
I got same error and for some reason after going through all these it did not work. Notice in the very top menue is had my App Name> IOS Developer. Changed to App Name> IPhone 5.0 and went right into Simulator and got no error.

Resources