Error ITMS-90362 -- Share Extension Xcode ios - ios

I am trying to build an share extension, But during upload i got this error
Error ITMS -90362"Invalid info.plist value. The Value for the key
'NSExtensionActivationRule' in bundle myapp.app/Plugins/myapp.appex is
invalid

You are getting two messages I can see the problem for the second one. The Bundle Version needs to match in both targets. You have Bundle Version set to 0.0.6 in the main target and it's set to 1 in the Extension target. Change that to 0.0.6. "Build Version String, short" doesn't matter.
You'll need to show the values of the NSExtension key in the Extension target to fix the first message.

Related

How to Change BundleVersion to four non-negative integers in iOS

Now My BundleVersion is like 1.3.1, now I want to change it to 1.3.1.1, can someone tell me how to do it?
update: I searched the solution in the internet , and some one said adding an new key in plist 'sys-clientVersion',and set it to 1.3.1.1 . I tried that way but than the Xcode gave me an error:"ERROR ITMS-90060 : This bundle is invalid . The value of key CFBundleShortVersionString 1.3.1.1 in the info.plist file must be a period-separated list of at most three non - negative integers".'
This is my info.plist :
so , the 'Bundle versions string' equal to 'Version' in Identity, and the 'Bundle version' equal to 'Build' , and 'sys-clientVersion' is what i want show in app store , right~?
It's super easy go the iTunesConnect select your app, version and scroll down to General App Information there is a textfield under App Store Icon, it contains the version number say 1.3.1 you can change it to 1.3.1.1. Have a look at the following image.
P.S keep in mind that the version number should be incremented from previous one.
Edit:
For Xcode Error: ERROR ITMS-90060 while submitting the app check your "Bundle versions string, short" in info.plist file by right-clicking on it and open it as source-code. Search for CFBundleShortVersionString and confirm that the value shouldn't contain any space or non-integers.
I solved it by just adding sys-clientVersion key , and set your wanted version to the key (e.g 1.1.1.0). The most importent point is , just increase your current Version and Build ( in General - Identity) e.g 1.0.0->1.1.0. as normally . the sys-clientVersion now is showing in app store. and unrelated with Version or Build.

CFBundleVersion Not Matching

I'm attempting to upload an application to apple, and i keep receiving this error:
ERROR ITMS-90345: "Metadata/Info.plist Mismatch. The value for bundle_version in the metadata.xml file does not match the value for CFBundleVersion in 'App Name Here' [Payload/App Name.app]."
I can't seem to edit my CFBundleVersion in my plist so it matches, any thoughts???
You can click on your project file, then click on your target, and change in the general tab the version of your app.
What is important is that you should not have any spaces in the version, if the version that you specified in iTunesConnect is also without spaces.
I did get the same error because I had a trailing space in the version which was difficult to detect.
I just got the same problem. Looks like app store compares CFBundleVersion with the last one. The current one should be higher.
Example: current 2022.06.14 will be rejected if there is another build say 2022.07 already in the TestFlight.
If you have an app extension, make sure that the build number in the extension target is the same as in the app target.
Click on your project file(info.plist) then ensure that the MinimumOSVersion is either same as the previously submitted apps or higher. In my case, I lowered the MinimumOSVersion of my app accidentally. So after I changed it back to what it was before I was able to submit my app to Itunes Connect using application loader. You can also check for spaces in the version string if you wish and remove them.
Please check your CURRENT_PROJECT_VERSION after you change MARKETING_VERSION, or you can change CURRENT_PROJECT_VERSION to 1 (CURRENT_PROJECT_VERSION=1)

iOS App Upload is getting CFBundleShortVersionString error message

So I am trying to upload my app to the App store, and I am getting this error message.
ERROR ITMS-90060: "This bundle is invalid. The value for key CFBundleShortVersionString 'HEAD based on 1.0' in the Info.plist file must be a period-separated list of at most three non-negative integers."
If I open the log it gives me, you can clearly see the version short string is correct.
<software_assets apple_id="456805313"
bundle_short_version_string="27.1.1"
bundle_version="3221"
....
</software_assets>
What am I missing?!?
I have used pods in my project, In the info.plist of pod SVWebViewController CFBundleShortVersion was not in standard way.
You need to find non-standard CFBundleShortVersionString in info.plist file. I searched through all of them and found this in one of the repo
Before
Bundle versions string, short => Head is 0.1.2
After
Bundle versions string, short => 0.1.2
After correcting CFBundleShortVersion everything worked fine.
Check any 3rd party frameworks you've used. There are reports floating around of xcode tripping over bundle_short_version_string included in 3rd party resources pulled into the main project. For example:
CFBundleVersion must be a period separated list of at most three non-negative integers (WARNING ITMS-9000)
https://forums.developer.apple.com/thread/23581

Watch kit CFBundleVersion

Planning for watch kit integration
error: The value of CFBundleVersion in your WatchKit app's Info.plist (1) does not match the value in your companion app's Info.plist (2.0). These values are required to match.
Struck with above error.
- changed the deployment targets of both notification & watchkit app. But build failed
Thanks.
You need to make sure that the CFBundleVersion in the Info.plist of your WatchKit App is identical to the CFBundleVersion in your parent app’s Info.plist.
For those of you who struggling with adapting your build autonumbering scripts (like this one) to WatchKit and getting the same dreaded The value of CFBundleVersion in your WatchKit app's Info.plist ... does not match the value in your companion app's Info.plist ... error, here is the solution: set Strip Debug Symbols During Copy to No for the project, remove same option overrides for all targets, make clean (Cmd+Shift+K) and build (Cmd+B).
Disclaimer: this is more hack than a solution, I don't know why it works, but it's the only way I got my autonumbering script working with WatchKit and I think this information would be useful for someone. If you have better ideas, please share.
Update: finally found a real solution. Turns out even without UI one could easily add a run script to WatchKit App target by manually editing project.pbxproj. Thank you, Curtis Herbert!
error: The value of CFBundleVersion in your WatchKit app's Info.plist (14) does not match the value in your companion app's Info.plist (13). These values are required to match.
I finally figured out the problem is the value of my companion app 's Info.plist which equals to 13, is not equal to that value in WatchKit App.
So you have to make sure that the Bundle version panel 's value in each Info.plist is matched.
After installing WatchKit application extension.There was conflict in
Bundle versions string, short && Bundle version .
So Update both of Keys to values which are equals in both the Extension and main app targets in info.plist file .
&&
When ever you get such problems after updating build number or version. Please follow the steps, which worked for me :
Clean the project
Try to run the project in any one of the simulators
Build or Archive
welcome to the party. I was able to work through this by editing the Info.plist ion both Watchkit App and Watchkit Extension, and then editing the marketing version in the AppName(root level)/Targets/AppName/Versioning/Marketing Version.
Hope this helps anyone else that comes across this issue.
I got this error when I create new target watch kit with different team selected by default while creating the watch app for ios app so i just deleted the targets and again add with same team as my project.

Installation Failed "Invalid argument" when trying to run Today application extension

I added a vanilla Today Application Extension and run with the new scheme created by XCode.
After it finishes building ("Build Succeeded" pops up), it failed straight away with this error:
Installation Failed
Invalid argument
I've been trying to find answers for 6 hours now, no luck so far.
Please help!
Check if the Bundle Identifier isn't empty in the Info.plist
Try this:
Quit Xcode
Clean out ~/Library/Developer/Xcode/DerivedData manually
rm -rf "$(getconf DARWIN_USER_CACHE_DIR)/org.llvm.clang/ModuleCache"
iOS Simulator > Reset Content and Settings
Maybe you are bundling a conflicting "contents" referenced (blue) folder.
Hint: change the name of said "contents" folder :)
This issue occurred in my case when the phone's memory was too low to install the app. I've cleaned up the phone and voila!
Another hint might be this post.
This can also happen in Xcode 7 because "Upgrade to recommended settings" will change CFBundleIdentifier to point to $(PRODUCT_BUNDLE_IDENTIFIER) instead of the old $(BUNDLE_IDENTIFIER).
Apple says in the Xcode 7 release notes that PRODUCT_BUNDLE_IDENTIFIER is now "the recommended place to set the Bundle Identifier for a target." So if you're using BUNDLE_IDENTIFIER anyplace else in your project, be sure to change it to PRODUCT_BUNDLE_IDENTIFIER to keep things in sync.
I was getting the same error - although in different conditions - and it took me a while to realise that I had inadvertently messed with the Info.plist (thank you user2866588!) via a Search & Replace operation.
Once fixed that file, the error went away. It's a long shot, but you never know...
I got this error when my test phone had low memory (around 288MB free). After restart and clearing some cached data, I was able to install my app.
Image description here.!! I got this Error Just Enter Bundle Identifier. (You can get bundle identifier by right click on info.plist and go to Open as than Source Code here just find this CFBundleURLSchemes below this name a string tag contains your bundle identifier) Copy Bundle identifier and past it on TARGET select General now on Identity you will see Bundle Identifier paste there and enter. then just run the code. Happy Coding!!!
What I found is that info.plist file should never been localized! I tried to localize my project and tried to tap Localization on all plist and string files. As a result, I could not install my app to Simulator, invalid argument error.
I spent 1.5 days trying to find out reason. I tried all the solutions as listed above, but with no luck. Finally, discard all my localization changes and redo it again. This time, I tried to localize one file first, and then compiled codes and trie to run my app on Simulator.
The issue is info.plist file. You could localize it. The result is that en version is moved en.lproj folder. That is to say, no more info.plist file in the project folder. As a result, Xcode could not find it and exception raised.
Another way to verify it is to check your project settings. Select your target and general tab. The Identity should be like:
If your project settings are something like this, you have to locate info.plist, that means info.plist is missing.
You just cannot locate localized info.plist in en.lproj folder from project settings.
Don't localize info.plist file directly. You can localize it by localizing infoplist.strings file.
This may be one of reasons to get invalid argument exception, as in my case.
I also wrote a blog on this.
I got the same issue and it was because of low memory on phone.
I deleted some apps and restarted the phone which brought by available storage.
I got this error after installing new pods (AWS) to my project. Somehow the entry in the Build Settings for Info.plist file was cleared. Entering the correct filepath (find in finder) my project finally compiled again.

Resources