Can't submit App with Siri-Capability enabled (ITMS-90163) - ios

I am currently trying to submit my app to the app store and the latest update will add siri capabilities to the app. So in the capabilities tab I enabled Siri, but now my app fails iTunes verification (ITMS-90163) and I have no clue what's wrong here.
The string com.apple.developer.siri is part of my entitlements file, but I guess that needs to be there, right?
I already tried the classic -> clean build... didn't help
There is no provisioning profile to choose for the siri-extension, so don't know where to change anything...

Go to https://developer.apple.com. Select identifier -> tap on your app identifier.
Enable Sirikit from here.
regenerate your provision profile and install it.
delete DerivedData.
clean your project.
compile again.

Related

Add the “iCloud containers” entitlement to your App ID

I am trying to fix this issue for hours now.
I have checked the App ID and confirmed the iCloud containers.
Also i have entered the same in the app entitlements.
But there is a always a red mark before "Add the “iCloud containers” entitlement to your App ID". I created the new provisioning profile and removed the expired provision files also.
This is the first time i am facing this issue.
Is this issue related with the developer certificate signing or something?
I was having the same problem couple of days ago. Fixed it by doing these steps:
Go to your developer account
Find the App ID you are working on
Click edit.
On the iCloud section select the radio button that says "Include CloudKit support (requires Xcode 6)"
Worked for me.
For me everything was just fine. I had to close and reopen xcode. Then go to 'Capabilities' and Toggle the 'iCloud' i.e OFF and Then ON it again.
I solved this by:
Turn off iCloud capabilities.
Change the app's bundle id.
Turn on iCloud capabilities.
Now everything is regenerated afresh, and the error goes away. Of course, now the bundle id is wrong. But now you can go to the member center, delete the old (faulty) app id and any associated provisioning profiles, and change the bundle id back again.
I was trying to add an App ID matching my project's bundle ID, but it still doesn't update the warnings in iCloud.
Then I found that in "General" -> "Signing" it says Target is ad hoc signed, and I tapped the Enable Development Signing button, then Xcode started to auto manage the App ID etc and everything turned green :]
In my case, under Xcode - General - Signing, the name in the Team field was not correct.
At least in Xcode 9.1, I had to choose the Team in Signing section (Target -> General pane). The team was already chosen but I had to choose it again to make the error disappear. It might have to do with developer certificate renewal.
I tried all of the above, in the end all I did was quit Xcode, open it up again, and toggle the iCloud capability off and on again.
Try
- delete all provisioning profiles
- go to Xcode->preference->account
- add your apple id here (makes you easy to download profiles)
- Click download profiles.
I Turned on iCloud
Set the Cloud kit Container through the Apple Developer dashboard to the app I needed
Rename project bundle Identifier from the Xcode 10 and rename back to the original identifier after all fine
Provisional profile got updated

Trouble Running App on Device

I'm trying to run my app on a new device through Xcode 7 but everytime I click to run I received this error: "No matching provisioning profiles found: None of the valid provisioning profiles allowed the specified capabilities: Features: push and inApp purchase". I don't know what this means. I've never seen a message like this before when running apps on another device with Xcode 7. Does anyone how I can fix this issue so I can run my app?
If you haven't added your apple developer id to Xcode, I'd suggest doing this now. once you've done this and in the project navigator, if you highlight the project, then on the middle-most pane, go to the Capabilities Tab and make sure In App Purchase is enabled. If not, enable it. It should pop up asking which developer ID to use, or ask you to add one.
Choose the ID in question, then it'll add the entitlements to the app.
Whats going on here is that the provisioning profile which your app is using, hasn't been enabled in terms of IAP's.
There's more to read about that here:
https://developer.apple.com/library/ios/documentation/IDEs/Conceptual/AppDistributionGuide/Introduction/Introduction.html

Xcode 7.1 "iTunes store operation failed you are not authorized to use this service"

Trying to submit iOS and Apple Watch OS2 extension update from ios 9.0 to 9.1. I recently updated Xcode to version 7.1 and now I'm hitting this problem without changing anything else.
iTunes store operation failed you are not authorized to use this service
What I've tried:
Removed developer account from Xcode -> added developer account back into Xcode -> Still hit the error.
I tried Xcode -> Preferences -> Apple ID -> Download All to get my latest provisioning profiles up to date. Still get the error.
Deleted all old archives, cleaned project, archive again. Still get the error.
Increased build number and version number in both the project and in itunes connect. Still get the error.
Deleted derived data in the Library -> Developer folder and I still get the error.
Cleaned the project -> Archived the project again -> Unchecked "enable bitcode" and I still receive the error.
Code Signing Settings:
Watch Target -> Provisioning profile automatic code signing iOS Developer
Watch Target Extension -> Provisioning profile automatic code signing iOS Developer
iOS Target -> Provisioning profile automatic code signing iOS Developer
Still hit the error message with the provisioning profile settings.
Reinstalled Xcode 7.1 -> Still hit the error message.
I've also confirmed that all my developer and distribution provisioning profiles are valid and downloaded.
Observations:
One thing I've noticed is that when I archive the app and look in the Window -> Organizer I notice my iOS apps on the left side for my archives. This app I'm trying to submit has no name next to it. However, if I delete all old archives for this app the app name shows up again next to the app icon. Maybe a bug with Xcode but I have no clue.
Another thing I've noticed is I've been able to successfully submit iOS archives that have no WatchKit extension using Xcode 7.1. I'm not sure if the WatchKit extension could be the problem but it is a possibility.
Also when the archive is ready to be uploaded to iTunes Connect I notice a couple of things. First, the iOS App defaults to the active provisioning profile: "MyApp" Distribution profile. However, both the WatchKit app and app extensions automatically default to the XC* wildcard provisioning profile. I'm not sure if this whole problem could just be related to a provisioning profile error but it is possible.
iOS Target -> Build Phases -> Embed Watch Content is set as:
$(CONTENTS_FOLDER_PATH)/Watch
Application Loader Submission Attempt:
Tried and failed with the following error message:
ERROR ITMS-90171 "Invalid Bundle Structure - The Binary file 'MyApp.app/Watch/MyAppWatch.app/_WatchKitStub/WK' is not permitted. Your app can't contain stand alone executables or libraries other then the CFBundleExecutable of supported bundles. Refer to the Bundle Programming Guide..."
Again, I used this exact same project structure to submit the ios app and watchkit OS2 extension on Xcode 7.0 ios 9.0.x no problem. I think the error message is inaccurate unless I'm misconfiguring something but I imagine I would've hit the error back on Xcode 7.0
Any help on how to solve this would be awesome. I've found no help googling and reading other SO posts and I've been stuck on this for far too long. Thanks!
I met the same issue today and I think it is a bug of Xcode 7.1
Finally I managed to submit my app via Application Loader. There were warnings but it did work.
Here are the basic steps:
Archive
Export
Xcode menu --> Xcode --> Open Developer Tool --> Application Loader
Double click "Deliver Your App" and choose the file exported in step #2
click next and follow the instructions until the end
I found the solution by unchecking the Include bitcode option.
In mi case, it seems that updating to Xcode 7.1 removed some account information. So, after a few attempts to upload it from Xcode, I opened Application Loader, and it asked me to login. I logged in and finally could submit to the App Store from the Organizer. Hope it helps someone.
it is the enable bitcode on the bottom when you submit the upload. uncheck the box. for some reason it comes with 2 boxes checked by default on xcode 7.1
Set team in target-> General-> Team
Check and set appropriate provisioning profile in targets/project build settings.
Try with Xcode to upload build if find same issue.
Or
Try with application loader it will work.
In my case I think it should be a xcode 7.1 bug. I re-added my account, re-generated profile, rebuild the app (restart my mac) but none of them work! I got this error when I first validated the app.
Then I created a new profile and the validation passed. But the first time uploading the app xcode still showed that error. Unwilling to give up I clicked the upload button again and this time it succeeded!
I faced the same issue then I uploaded through Application Loader from XCODE menu and it showed so many error like missing icon for iPad etc .
So please try you app to load through Application Loader and see complete detail of errors you might have in your application.
I got it working through Application Loader after fixing these issues.
I am using Xcode 7.1.1. and it appears to be an issue with Xcode, because I successfully submitted the build via Application Loader. Now, I suspect that I added too many SDKs / adapters inside the code that may have caused issues with the app's delivery. But there's no way of knowing that for sure.
During upload my API Analysis to the App Store was skipped, because it was too large, but I doubt that may caused Xcode to upload the app to the App Store.
If Xcode fails to upload, try Application Loader.
Solved for Xcode 7.2 by revoking and recreating the cert:
Image of what to click here (sorry no embed reputation)
In XCode go into this menu:
XCode -> Preferences -> Accounts
When on the accounts tab, I selected my email in the Apple Id list (on the left).
Then on the right there is a list of of teams under Team Name, select the correct Team and click on View Details.
Finally, there's a list of Signing Identities, next to "iOS Distribution" click Reset.
I didn't have to restart XCode, I just immediately resubmitted to iTunes from Organizer with no problems.
Edit: Thanks #Dover8 for the info about possible effects.
https://developer.apple.com/library/mac/documentation/IDEs/Conceptual/AppDistributionGuide/MaintainingCertificates/MaintainingCertificates.html
Resetting Certificates Using Xcode
If Xcode detects an issue with a signing identity, it displays an
appropriate action in Accounts preferences. If Xcode displays a Create
button, the signing identity doesn’t exist in Member Center or on your
Mac. If Xcode displays a Reset button, the signing identity is not
usable on your Mac—for example, it is missing the private key. If you
click the Reset button, Xcode revokes and re-creates the corresponding
certificate.
Try to check your iOS Provisioning Profiles on
https://developer.apple.com/account/ios/profile/profileList.action
In my case one of profiles was marked as "Invalid" and after profile regeneration an error no longer appears
I got the same problem.
Tried to Upload To App Store.. 3-4 times.
Then I Hit the Validate... button and validation was success.
After that tried to upload again and it succeeded.
Then i cursed apple...
It seems to be related to the latest iTunesConnect update and "roles".
If I look at the "iTunesConnect Users" screen, we have three accounts,
(1) is "Admin, Legal", (2) is "Technical, Marketer", and (3) is "Technical Only".
Now when you click the email address to check the details and "roles" of #2 then only "Marketer" is checked, and only the marketer permissions are available.
For #3 the correct checkmark ( Technical ) is set, and also "Create Apps and Submit versions" is shown as an available "App feature".
It might be a work-around to change permissions to disable and re-enable "technical", or maybe give more permissions and make the person an Admin (temporary, of course).
Also - for the Jenkins users out there, you might have copied some certificates from the "login" keychain to the "system" keychain. Try removing them from the system-keychain ( I think that was this step which made my "Archive" not end up in 'not authorized ...' message and actually pass the verify again).

Certificates and Provisioning Profiles for Push Notifications

I'm having trouble with the process. I have got push notifications working for Development. I have read multiple guides and questions, and for some reason - either their guides are deprecated in iOS 8 or my Xcode is bugged - I am having issues with provisioning profiles.
For the purposes of this question, I have generalized most of the terms for privacy concerns.
I'm currently greeted with the bug - Failed to code sign "App". There is a Fix Issue button, but I made sure I did not click that; I'm afraid it'll only complicate my problems.
I've followed the Parse iOS Notifications Guide and configured my app according to the guide. I've done the following:
Requested a certificateSigningRequest from Keychain Access
Created a new App ID in iTunes Connect, with a new bundle identifier. I made sure I went into my info.plist in my app to change and match the new App ID created in iTunes Connect.
Using the new App ID in iTunes Connect, I created the Production SSL Certificate.
Installed it to my KeyChain Access, and exported it to upload to Parse.
Next, I deal with the Provision profile. Once again, I went in iTunes Connect, created a new provisioning profile, made sure to link the correct bundle ID with it, and downloaded it.
Here comes the part that may have fudged up the process. In the Parse Notifications Guide, they instructed users to double click the downloaded file - in my case, it was called "AdHocDistribution.mobileprovisioning", which will install itself into Xcode.
Download the generated provisioning profile from the next screen by selecting the "Download" button.
Install the profile by double-clicking on the downloaded file.
This should open Xcode's Organizer in the Devices pane. Your new provisioning profile should appear in the Provisioning Profiles section of your Library. Make sure that the status for this profile is "Valid profile". If the profile is invalid, make sure that your developer certificate is installed in your Keychain.
Double clicking the mobileprovisioning file did not lead to any discernable feedback telling me that it was installed.
Finally, I modified the code signing fields in my project and target's build settings to match the one I downloaded.
Finally, I try running the app, and the error popped up. Please help!
Create a provisioning profile of the application using ADHOC from dev account.Download and control drag it to Xcode, Under provisioning profile in your screenshot select that.
Do the same for Target and project and you will be good to go!
P.S. also select the Team as your dev account
Please follow the following steps..
Check all your targets's Code signing Section. Like Project and Test Target.
Check the project "identifier" in all your .Plist file.
Add the account in Xcode Account section, by choose from :
XCode-> Preference - > Account -> click on +sign and add your apple developer account.
Hope it will help you.

Run xcode project with distribution profile on it

I have created an iOS application, and wanted to submit it to the App Store.
I saw a tutorial on how to do that, and understood that I need to create a Distribution profile and replace it with the Development profile. So I did that but before sending it to the App Store. I want to check it last with that profile on it (the distribution profile).
Can I run Xcode project when I add a distribution profile?
because when I tried running it on a real device, an error popped up: "the provisioning profile "XXXXX" was not found".
So i went to the Devices tab and tried adding the file of the provisioning profile, and it didn't allow me to.
What should I do?
You can't use distribution profile to run the app on your device directly from your device.
Now Apple provides beta testing of apps using iTunes Connect. So you can opt for that option as an alternative.
Refer Beta Testing Your iOS App for more details
Yes, you can do by applying small tweak.
Open you Xcode project
click on your target.
choose edit scheme from list.
choose Run tab from left.
select info tab from top.
select Build Configuration and choose release from drop-down list.
Now delete your existing app, from device if exist.
And run the app from Xcode.
After completion of compiling for app, it would show some error dialog and will stop execution, ignore it.
Now app is installed on your device with distribution profile.
Re-run the app.
Cheers!

Resources