Custom Siri Intent Generation broken in Xcode Version 11.4 (11E146) - ios

I updated Xcode yesterday only to discover that my custom siri intents no longer seem to generate. I started seeing others with this issue on the Apple dev forum this morning https://forums.developer.apple.com/thread/130691 and thought I would ask here if anyone found a solution for this. When I visit build settings, there no longer seems to be a setting to select the intent generation language with the "intent class generation language". Target membership on the intent is good and again, this built yesterday before updating and has not been altered for months. Does anyone know if rewriting all the custom intents will fix this (that's what I am going to try next) or if there is some new setting / plist entry that needs to be updated to get this working again. I will update here if I find the solution. Also to note, I was generating my intent files in Objective C.

I have dug around, and also talked to Apple Support. Turns out, it has to do with the "legacy build system".
Once i switched to the new build system in xcode project settings, i could build the project again.
You could argue that it should work if they still support the legacy system (which they do), but oh well.
Read how to switch here:
https://help.apple.com/xcode/mac/current/#/dev396bc94c7

Related

Bundle ID not listed App store connect new app list (Xcode 11.4.1)

I have created a developer account for two weeks, and now I want to submit my first App. However, when I click new app, the bundle ID list does NOT show the project I would like to submit, but It do show some projects I used to practice. I have look up a variety of solutions on internet, including sign out and log in again, or clean up my Safari data. I have suspected some reason, but I'm not quite sure if it right?
First doubt : some SDK import?
The Bundle ID shows on the list are some small project I used to practice when I was a beginner. Recently, I have tried to use some SDK like Facebook SDK and Firebase. Facebook and Firebase works fine on my simulator and iPhone devices. So I'm not quite think this might be the reason, nut just type on in case I missed something
Second doubt : Xcode version?
When I tried to using Firebase, since iOS 13.3.1 seems not to support, so I update my iPhone to iOS 13.4.1. However, the Xcode should also be updated to 11.4.1, otherwise it cannot connect to my devices. When I look up the bundle IDs listed on App Store Connect, I think those projects are created before I updated Xcode. The project created after updated not showed on the list. But I have created too many projects to practice, so I'm not quite sure I remembered right. I suspect this might be the reason, anyone else met the same problem after updated Xcode?
By the way, there is also a strange thing confused me. I have deleted some projects I used to practiced on my MAC, but they stilled shown on the list... I have manually deleted on my Apple Developer Web.
1) Go to https://developer.apple.com/account and set up the app with its explicit bundle ID.
2) Then go to https://appstoreconnect.apple.com > "Create new app" > Select the previously created bundle ID.
This does not really have anything to do with SDK usage or Xcode setup. (Automatic code signing might do some steps for you, but the most bullet-proof way is mentioned above)

Ios share extension does not work when installed by testflight but works installed by xcode

Installed with testflight the application does appear in the list of target applications to share an image with. When I select my application icon in the list I do get a normal Post dialog. After pressing "Post" in the dialog the application does open but nothing else happens.
When the same version of application is installed with xcode the shared file is delivered and the application displays the shared image.
I am not even sure how to debug such an issue as the application installed by testflight does not appear in the list of installed applications in xcode Devices window. Nothing that I can find in device logs either.
Please suggest any approach to troubleshooting the issue.
Update: I found a way to get much more detailed logs from device than the one provided by xcode's "Devices" window: deviceconsole utility. This gives at least some information to approach troubleshooting.
Update 1: It turns out that the application installed through ad hoc ipa file exported from the same archive that was submitted to testflight shows the same problem. This allows much quicker testing turn around.
This answer indicates that the problem can be caused by "Deployment Target" of extension set above the ios version of test device. I did try different combination of this setting in the application and extension, nothing helped thus far.
Update 2: I created code-level support request with apple for this issue and provided full source of the application to them. After few months of apathetic communications they concluded that the problem is due to a bug and suggested to create report Apple Bug Reporter. I did that and after another few months of more apathetic communications the issue was promptly closed on the basis that the application does not crash. Frustrating, but I still need to resolve the problem, now looks like without help from vendor.
If the deployment target is higher than the version number of the actual phone, your code cannot run. So the only choice is reducing the deployment target of the extension to be the same as the app.
I’d check if you have somehow set different deployment targets for debug and release.

Non-public API usage : The app contains one or more corrupted binaries

I am really frustrate whats going on with iOS application new version uploads. Here are the story.
On the date of 25th Jan 2018 we have uploaded new version 3.3.27 build number 1.0. That successfully process and available on test-flight for testing. After that we found some issue and on 26th Jan 2018 we fix it and uploading new build 1.1 and we get email from iTunes Connect said:
Dear developer,
We have discovered one or more issues with your recent delivery for "appname". To process your delivery, the following issues must be corrected:
Non-public API usage:
The app contains one or more corrupted binaries. Rebuild the app and resubmit.
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. In addition, note that one
or more of the above APIs may be located in a static library that was
included with your app. If so, they must be removed.
If you think this message was sent in error and that you have only
used Apple-published APIs in accordance with the guidelines, send the
app's nine-digit Apple ID, along with detailed information about why
you believe the above APIs were incorrectly flagged, to
email#apple.com. For further information, visit the
While i am validate build before upload its success:
While i am uploading app i get following success:
In mail i did not get proper information what's the name of corrupted binary or framework. What is the method we used that non-public we have uploaded 100s update build of that application before 25th Jan everything is good and acceptable.
Then i have try following changes:
Rebuild app and submit again get same email.
Uninstall Xcode9.2 and Install again get same email.
Remove changes and upload build number 1.0 again get same email.
Change Mac and try to upload new build again same email.
Try to upload old version that live before and again same emai
We sent an email to iTunes Connect Review but since 3 days we did not get any reply from them side. I do research and from 26th Jan many user face that kind of issue while submit application.
If any one know that solution who face that kind of issue in past or recently Please help us
After a LOT of investigations on this part we finally found the problem for this issue:
It seems like Apple gives this error for applications that suport both 32 and 64 bits.
Apple gave this reminder for Mac Appstore, but it seems that iOS applications are affected as well.
So a solution for this is to support bitcode OR to drop support for 32 bit devices by removing support for ARMV7 and ARMV7S or bellow from Valid Architectures from build settings. This will mean your application will work only on iPhone 5S and above.
I hope this helps someone.
Thank you and happy coding!
There is not one solution for this issue Apple not mention anything now a days about that errors or invalid binary related news on their official account or forums or their official Developer site. Even they are not reply of your email.
Some of get that issue solved by BitCode enable, Some of solve that issue for update PODFILE, Some of Solve that issue by remove some old swift framework used in project.
But finally I get solution by my self that works for me. When i build the project i found some warning at left side panel of Xcode like following.
I think apple now removed old swift support so in case your project use any swift class or podfile we need to update to swift 4.
Once i conversion to swift 4 i get following warning:
The use of Swift 3 #objc inference in Swift 4 mode is deprecated.
Please address deprecated #objc inference warnings, test your code
with “Use of deprecated Swift 3 #objc inference” logging enabled, and
then disable inference by changing the "Swift 3 #objc Inference" build
setting to "Default" for the "appname" target.
For fix this warning i use following link The use of Swift 3 #objc inference in Swift 4 mode is deprecated? and in swift class i used #objc before public declaration.
Also i review all the source code and remove unused library of podfile and class from project.
by above way i fix that issue and after uploading 13th of build finally that accepted.
The non-public API refers to Apple API methods that are not documented and offered to the programmer.
Apple does not guarantee that this part of the API will work in future upgrades. They can freely change this part.
They forbid usage, so that your app won't break in iOS updates, and so protect your future users/buyers of your app!
The webservice is external, hence does not fall under non-public. This part you need to guarantee, not Apple.
In Target -> Build Settings -> Other Linker Flags, remove -interposable. Rebuild app solved the problem.
We found 2 solutions for the issue. Remove 32 bit support, which was referred above. And remove CommonCrypto usage. We replaced CommonCrypto by CryptoSwift (https://github.com/krzyzanowskim/CryptoSwift).
We chose to replace CommonCrypto as we didn't want to loose our 32 bit users (iPhone4S, 5 and 5C).

Submit an app created with create-react-native-app to the App Store (without XCode?)

Before, react-native 0.45, when you'd create a project, it would generate a XCode project file in the ios folder so that you can open it with XCode and use it to submit your app to the app store.
Since react-native 0.45, react native project are created with the create-react-native-app command and there is no xcode project anymore.
I read that you can "eject" to go back to the old style and get an XCode project. create-react-native-app is supposed to make everything easier, so I suppose there is a way to submit to the app store without ejecting that doesn't make the whole process much more painful than by using XCode.
To be clear: I understand that there are probably ways to submit to the app store without XCode, but aren't them much more painful? I can't believe that react-native would then consider it an improvement to not generate a XCode project anymore.
Could someone point me in the right direction?
Since react-native 0.45, react native project are created with the create-react-native-app command and there is no xcode project anymore.
This is incorrect. create-react-native-app is simply one of two ways to start a React Native project. The react-native init method of starting a project is still there in the docs.
To be clear: I understand that there are probably ways to submit to the app store without XCode, but aren't them much more painful? I can't believe that react-native would then consider it an improvement to not generate a XCode project anymore.
You are not going to get a good answer for this as it's very much down to opinion. StackOverflow is not the right place to ask such a question.
Could someone point me in the right direction?
Same with this question. Please read How to Ask to properly demonstrate what you've tried and exactly what issue you are running into.
As a starting point for learning how to publish, I suggest looking at the create-react-native-app documentation as it gives you two options right there:
Ejecting to generate the ios and android folders with which you can then publish.
Using a third party service like Expo to publish for you.
Their documentation goes a bit more into depth on the options. This is the best summary I can give as an answer without putting any of my opinions into it.

PhoneGap Xcode Missing Header files on Build 'Cordova/CDVViewController.h' file not found

I am using PhoneGap 2.2.0 and XCode 4.5.2.
I can test my programs in the simulators, and I can put them on my devices to test them.
But I simply cannot build for distribution. It always fails with the following error:
my-projevt-path/Classes/AppDelegate.h:30:9: 'Cordova/CDVViewController.h' file not found
I've seen this problem around the web and still can't make it work, given whatever solutions have been posted.
I've changed things in Build Settings, I've reinstalled PhoneGap, I've run new lines in terminal, I've done my app over starting a new PhoneGap project from scratch, I've checked preferences in the build location in Xcode... I can't figure this out AT ALL.
Please, can anyone help? I've been working on this for days.
Thanks!
Problems in Xcode
If you have compilation problems related to missing headers, the build products should build into the same build directory. You may need to set the preference "Xcode Preferences -> Locations -> Derived Data -> Advanced…" to "Unique". This is the default setting for Xcode on a fresh new install, if you upgraded from older versions of Xcode, you might have a legacy preference in there that you need to update.
Found the answer!!!
Yes I am getting the same problem yeah and some help could be great.....
I followed all the instructions even with the ./update_cordova_subproject path as well it does not work. Also I solved the locking problem but I could not find the solution to this problem
The answer, in my case, had seemingly nothing to do with the error message that was being sent. Missing header files? That didn't seem to be the issue. Or, at least, not the direct cause of the issue.
This was an issue with my provisioning/certificates being somehow not right. I had re-created them several times, but it continued to be an issue.
I sent the job to another developer, who opened it on his machine, revoked my certificates and created new ones, and built it without changing anything else. He forwarded me the certificate, the provisioning, and an archive of the job. I opened the archive in xCode and validated it and uploaded it. And it was fine.
If you have got this problem, be certain your certificate/provisioning is set up right. I thought mine was, but apparently it wasn't? The "Apple Process" is definitely weird, and when certificates / profiles gets messed up, problems arise.
I was having the same problem and just solved it! First of the problem may very well be because of your distribution provisioning files... but when you look at the Project Navigator in xCode at the top level you have your Project and inside you have the CordovaLib.xcodeproj click on this file and you will see the iOS Deployment target. Make sure the proper IOS version is selected there. This is 1/2.
2) Then you need to duplicate the Release configuration and rename it Distribution. While the CordovaLib.xcodeproj is selected make a build and then build the actual project. This worked smoothly for me.
Add this line to your Build Settings -> Header Search Paths:
$(OBJROOT)/UninstalledProducts/$(PLATFORM_NAME)/include
Don't replace the existing line that looks similar, that is still needed to be backwards compatible with Xcode 7 and Xcode 6.4.

Resources