ITMS-90909: Deprecated API Usage with iOS in Xamarin Forms app - xamarin

Can anyone suggest what to do about this message that I get when submitting my Xamarin Forms app to the iOS store?
Comment on possible duplicates
This question was asked before and not answered; I don't think an answered duplicate exists.

This is a known issue which was recently closed by the Xamarin team issue can be found here https://github.com/xamarin/Xamarin.Forms/issues/7323
And the fix is and i qoute
All the bits are in place, solution time! TL;DR: all is described in this piece of documentation here.
Make sure you are using the latest Visual Studio (for Mac) on the stable channel, that should put you on the right path. At the moment, you will need to use the Xamarin.Forms 4.5-pre1 preview release. I understand that this might not be an option for all of you, but rest assured, the stable package will be out well before the deadline. Stable 4.5 is planned mid to end of February.
Lastly, put the --optimize=experimental-xforms-product-type flag into your iOS additional mtouch arguments setting and you should get rid of the deprecation warning by Apple. If you don't have any references of your own to UIWebView of course 🙂
I would like to ask you to try this at your earliest convenience. Maybe not to release an actual new version to the store based on the Forms preview package, but at least upload a build to verify that this solution works correctly. Whenever you do, you can just update to the 4.5 stable package and release a new version with confidence.
If you do run into anything with this solution, please feel free to reach out to me directly (gerald.versluis [a with a long tail] microsoft.com) or open a new issue on the repository. Of course positive feedback is always appreciated as well 😉

Related

Non-public API usage Flutter.framework/Flutter: _kCTFontOpticalSizeAttribute error on upload of flutter app

I've spent the last two days trying to submit my app to the App Store. I get the message below:
ITMS-90338: Non-public API usage - The app references non-public symbols in Frameworks/Flutter.framework/Flutter: _kCTFontOpticalSizeAttribute. 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. For further information, visit the Technical Support Information at http://developer.apple.com/support/technical/
Here's what Ive done so far:
a) I've scoured my code for any reference to Font Sizes - I had some that were constants - I changed the constant name to:
k_fontSizeMyName
b) I tried to download the latest flutter sdk version
c) I rebuilt my entire keychain.
Im so desperate right now. im tired.
What do I do?
the internet has no mention of this bug.
I've got the same message several times from the App Store Team a few minutes ago.
I think the problem was the Flutter SDK version...!
I used to use the latest version(Flutter SDK version 1.12.3-pre.26) at first but changed the Flutter SDK version to 'v1.9.1+hotfix.3' and the problem is resolved!!!
I solved the problem with the following instruction below:
Switching Flutter SDK version to 'v1.9.1+hotfix.3' with the command:
flutter version v1.9.1+hotfix.3
Archive and upload again ...
Problem Solved!!!!!! 🤩
This may be a recently-introduced Skia regression.
The code was included in Flutter v1.12.3, so v1.12.2 on the dev channel should work.
Flutter's Bad Build wiki page will be updated when there is a fix for this issue.
Update: This has been resolved in Flutter v1.12.5.
Since there have been a lot of problems with flutter recently(when I tried the fix mentioned in another answer I different error) I though I should include this https://github.com/flutter/flutter/releases
Just type flutter version [version code]

How to version an XCode project for open source project?

I'm preparing to open source an XCode project I've been working on privately, on Github.
I am planning on using Github's release feature and and tag the initial release as 0.1.0. This much I know.
But I have one question: What's the best practice for the version number and build id of the XCode project itself going forward?
Do I need to update the version/build-id every time raise a version on Github?
Should these numbers be synchronized?
p.s.
I know some people may try to close this saying this is "off topic" for Stackoverflow, but trust me I tried asking everywhere else and nobody answered. And I do think this type of question is relevant to Stackoverflow.
For the 2cd question, whether you need to update the version on GitHub depend on you. If you make huge changes for your code, maybe you can create a new release.

How to migrate/update to newer version of Xamarin.Forms?

I have some xamarin.forms 1.xx( I dont know which version) project on multiple platforms Android and iOS. And I've been asked to upgrade it to the maximum available right now version of xamarin.forms.
Therefore, I have 2 questions:
1) How to determine which version of forms I'm using right now (I'm working in Windows environment using Visual Studio 2015 ).
2) How to migrate/update to newest version of forms? (step by step, if it's possible). I have no idea how the result of that kind of operation supposed to look like, cuz I have never done anything like this before in my life. And what the best practices are?
What I've done is opened VS2015->Help->Xamarin release notes, however there was nothing about version of Forms I'm using. Also, I went to the official xamarin website and there was no guide how to do that. I also tried to look at the release notes the last Forms update and trying to find and fix differences, but my project is so big and I thought that this way doesn't seems right.
I'll answer first the What are the best practice regarding upgrading a Xamarin.Forms application? first and then address your other concerns.
I recently upgraded from 1.5.1 to 2.3.2, and from my experience, this is the steps to go through:
Decide which version you will upgrade from and to.
Read the change logs for all stabled releases between these two versions and look for breaking changes/bugfixes. You can find the release notes on Xamarin's website or on NuGet's website too.
Check regularly for new releases on the Xamarin.Forms forum and check if any reported issues may affect you. Every time Xamarin makes a release, there is a thread full of comments from other developers that may have encountered issues you might be interested in.
Using your favorite versioning software, make sure that all local changes are commited or stashed and create a new branch for your Xamarin.Forms upgrade (you don't know how long the upgrade will take and you still want to be able to send patches during the process)
Upgrade: Read the Important notes at Xamarin.Forms 2.3.2 release notes, especially the When upgrading Xamarin.Forms take care not to simply "update all" as ... part. Remember to upgrade on your PCL project, on your iOS project and on your Android project.
Test your whole app on as many devices as possible and for the longest possible period before you merge your branch back into your development/master/Main branch and address the potential incompatibility issues that may have been created in your development/master/Main simultaneously.
Step 3 is very important as it will allow you to reset back to your starting point and restart if you should fail to upgrade for whatever reason.
Xamarin.Forms is moving fast so it's important that you always keep an eye on what's going on even if you don't upgrade.
Which version am I using right now?
You can check that in the NuGet package interface or in the packages.json file in your project.

What happens to my project when updating from xCode 5.1 to xCode6?

I'm currently using xCode 5.1 and Objective-C to learn how to make apps and I'm wondering what would happen to my projects if I update from 5.1 to 6. Will my projects still run or will I have to code everything in Swift?
Your projects should still run if they were running in previous versions. What will most likely happen is that you will be bombarded by warnings and alerts about deprecated code and syntax. You're going to get a lot of them with an upgrade that big.
For the most part, XCode should tell you exactly what needs to be upgraded. It shouldn't change any of your code. But it's always good practice to back up your project.
Good luck!
See also : https://stackoverflow.com/a/24005402/4329655

Using Apple's coding examples in XCode 4.3.2 - Base SDK Missing

I'm discovering XCode and iOS development.
Delving into the iOS documentation, I've tried to download and run some of the programming examples.
As an example, I'll use AccelerometerGraph.
If I download the code and try to compile, i get an error message, and I realize that the Navigation panel tells me : Base SDK Missing.
After fiddling around (the existing answers on stackoverflow refer to the Xcode 3.2 answer, which doesn't work) I figured I should go to "Editor > Validate Settings…" and accept the changes.
It "seems" to work, (as in the "Missing SDK" message disappears, and I can compile) but I'm wondering if i'm missing something more fundamental.
Also, I thought if there is such a fundamental change, it would be useful to have it up there in one of the questions.
Thx
P.
Go to the project settings and choose "Latest SDK" for the SDK option and that should fix your projects.
And if you want to be super helpful, file a bug with Apple (at http://bugreporter.apple.com) and tell them to update these outdated sample projects to use the latest SDK's if possible.
Not missing something more fundamental. Apple's sample projects have a variety of vintages. Mostly they compile and link under the current versions of Xcode and friends. Some need to be brought up to date. What you found was one that was originally set up for an obsolete version of the SDK and it compiles and links fine with one that was automagically found on your system when you updated it.

Resources