How to resolve API deprecations in ios7? - iphone

What is the best way to resolve deprecations? I want my application to also work with older versions such as 6.0.
I have some code like this:
[leftButton setTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys: [UIColor blueColor], UITextAttributeTextColor,nil] forState:UIControlStateNormal];
it is showing warning UITextAttributTextColor is deprecated. However things work just fine on ios7.
Now should I write version specific code (different code for 7.0 and prior versions?
I can easily resolve the warnings, but then I am afraid, it wouldn't work with prior versions. If I write separate blocks (as shown below), warning stays in the code. What is the best way to handle such situation?
Appreciate your help.

Xcode tells you what to do; use NSForegroundColorAttributeName.

Just leave it there and change it when some future version actually removes the deprecations and marks it as error.

Related

What Are The Consequences of Using "Deprecated Code" In Flutter?

I recently upgraded to Flutter 2.0. I have dozens of Flatbuttons that are now deprecated. It's going to take me a few days to fix them all. What are the consequences of shipping an update before then with deprecation warnings? The app still builds and runs fine.
Basically this code will be deleted in future releases of flutter/flutter packages. Most of the time, api's get deprecated when a bug that requires a completely new implementation that will break compatibility or a better implementation that will break compatibility.
Therefore, you can use deprecated code but you should be very careful as they are not maintained and might stop working or deleted in the future. So as long as you are not updating versions you should be fine but it is highly unadvisable.
The problem is that your code will be updated and the flutter will no longer support this widget.
But flutter 2.0 has a tool to help with that. Run the command on your terminal to see what has been depreciated and needs to be updated.
dart fix --dry-run
And execute this other command for fix the depreciated items.
dart fix --apply
For more details about fix, click here

Eclipse Source Editor: Some items are Shown as StrikeThrough. How Come? [duplicate]

While I'm making an Android app, Eclipse will strike out some things. More specifically, Gallery. Here is a screen shot:
When I hover my mouse over the warnings, it says The type Gallery is deprecated. I don't know what Deprecated means, but I do know that it's a Java term. Any help would be appreciated. Thanks!
(From the question before editing: The term is deprecated, not depreciated. It's a common typo, but worth being aware of for searching purposes :)
It's basically a bit like "obsolete" - you're encouraged not to use classes or methods which are deprecated. Typically the documentation will explain why you're not meant to use them, and give you a better alternative. The deprecated version is only present for backward compatibility, usually.
It's worth taking this seriously - a lot of the time if you're using a deprecated API, you're coming at something from a fundamentally flawed approach. Date is the clearest example of this, where the Java 1.0 API was almost entirely deprecated in 1.1, when Calendar was introduced. Using the deprecated methods in Date is a sure way of storing up problems for yourself.
See the Oracle "How and when to deprecate APIs" page for more information.
Deprecated means it used to support older SDK, but not anymore. Thats why you get the warning.
It is just a warning most of the times it works, but you most be careful because it could cause problem with newer versions.
Deprecated isn't a Java term. It is used in many other things but a lot in programming. It simply means that it is no longer supported...normally replaced with something else. The Android Docs will help you adapt it to what you need depending on what you're doing

Putting a warning flag on a particular version

I have 4 versions of a file 1.21, 1.22, 1.23 and 1.24. After a month of time I came to know that the version 1.22 and 1.23 have some errors in them. Now I don't want anyone to use those versions. One way to solve it is to delete those versions, but I don't want to delete them. I just want to know a way so that if anyone checkout those obsolete versions they should get a warning or custom message that "don't use this version, this version has some problems".
Is there any way to do this? Let me know, thanks.
I'm not a CVS expert, but you could tag the bad revisions and then write some sort of pre-checkout hook (see this question).
I'm not sure how one would go about implementing it, though. Or if it could work, for that matter.

TinyMCE upgrade an modified editor to the latest version mayhem

It is this sad moment to a developer's life that he has to maintain and fix legacy code... In my case I have to deal with a modified (core scripts) tinyMCE 3.2.2 which I have to update to the latest version in order to play in IE9+...
So my question is if there is a way to check which files have been changed since version 3.2.2 and try to update only those cause it is an overkill to check all the code for the modifications...
Thanks in advance
I fear there are so many changes in so many files that most of them have changed since then and in order to work with IE9.
If possible you should never ever modify the core code. Instead use custom plugins if possible.

Error in stl_vector when updating to xcode 4.2

I'm trying to update an app of mine to Xcode 4.2, and now it's giving me a bunch of errors in stl_vector.h, a library that is part of the built in libraries. Here is a picture of the error:
Any ideas what I'm doing wrong? I can't figure out how to fix this. I don't have permission to even edit the function that is throwing errors since it is built in.
A slight guess, since you don't give us enough information, but if OBJMaterial etc are Objective-C classes, you can't pass them by value, i.e. you always work with pointers.