App Store Improvements : Apple will start the process of evaluating apps, removing apps that no longer function as intended from September 7, 2016

App Store Improvements

We love helping customers discover innovative, useful, and exciting apps on the App Store. With more than 2 million apps available and around 100,000 new and updated apps submitted each week, there’s something for everyone. To make it easier for customers to find great apps that fit their needs, we’re implementing two suggestions from the developer community starting September 7, 2016.

Quality Apps
Quality is extremely important to us. We know that many of you work hard to build innovative apps and update your apps on the App Store with new content and features. However, there are also apps on the App Store that no longer function as intended or follow current review guidelines, and others which have not been supported with compatibility updates for a long time. We are implementing an ongoing process of evaluating apps for these issues, notifying their developers, and removing problematic and abandoned apps from the App Store.

Shorter App Names
Search is one of the most frequently used methods for customers to discover and download apps from the App Store. In hopes of influencing search results, some developers have used extremely long app names which include descriptions and terms not directly related to their app. These long names are not fully displayed on the App Store and provide no user value. App names you submit in iTunes Connect for new apps and updates will now be limited to no longer than 50 characters. You can learn more about creating effective app names, as well as icons, keywords, screenshots, and descriptions, by reading the App Store Product Page.

To make it easier for customers to find great apps that fit their needs, we want to ensure that apps available on the App Store are functional and up-to-date. We are implementing an ongoing process of evaluating apps, removing apps that no longer function as intended, don’t follow current review guidelines, or are outdated.

What to Expect

When will this process start?
We will begin the process of reviewing and removing apps from the App Store on September 7, 2016.

What types of apps will be affected?
Apps in all categories on the App Store will be evaluated to make sure they function as expected, follow current review guidelines, and are not outdated.

What will happen if an issue is found with my app?
The App Store team will contact you and ask you to make any necessary changes for your app to stay on the App Store. However, apps that crash on launch will be removed immediately from the App Store.

How long do I have to make the changes?
You will be asked to submit an update within 30 days to keep your app on the App Store. If you are unable to make the changes within this time frame, your app will be removed from the App Store until you submit an update and it is approved. Please note that apps that crash on launch will be removed immediately.

If my app is removed, will my app’s name become available for other developers to use?
No. When apps are removed from the App Store, they are not deleted from your account. Your app name will continue to be associated with your app.

If my app is removed, will current users be able to access my app?
Yes. Your app will remain fully functional for current users. They will experience no interruption to services and will still be able to buy in-app purchases. However, we recommend that you update your app as soon as possible to reinstate it on the App Store and ensure that it remains functional and engaging for new and existing customers.

What can I do to help my app be ready for future changes?
As a best practice, read the latest App Store Review Guidelines as they are published and make sure your apps follow them. We also recommend that you address any functionality issues and update your app regularly to fix bugs, offer new content, provide additional services, or make other improvements. If you are no longer updating your app, consider removing it from the App Store.

Reference From : Apple News

Apple simplified the screenshot submission process for iOS


Now it’s easier than ever to deliver your screenshots and app preview using iTunes Connect. Submit just one set of screenshots and one optional app preview per device family, and they will be used across device sizes and localizations.
If your app’s UI or behavior changes based on device size, or if you would like to include localized screenshots, you can use the new Media Manager to add custom screenshots. Learn more by watching What’s New in iTunes Connect from WWDC16.

Bye Bye to NS from Swift!!

Logo NeXTSTEP
Logo NeXTSTEP

Many of the types are bridged to the Swift type like as (e.g., NSString being bridged to String).
Other Objective-C types are bridged to Swift are as follows :

Objective-C Swift
NSString String
NSArray Array
NSDictionary Dictionary
NSData Data
NSError Error (Added Swift 3 – Xcode 8 Beta 4)
NSNotificationCenter NotificationCenter

And more…
Bye Bye to NS from Swift!!
Happy Coding 🙂

iOS 10 New Frameworks

iOS10

  • CallKit
    The CallKit framework (CallKit.framework) lets VoIP apps integrate with the iPhone UI and give users a great experience. Use this framework to let users view and answer incoming VoIP calls on the lock screen and manage contacts from VoIP calls in the Phone app’s Favorites and Recents views.
  • Intents
    The Intents framework (Intents.framework) supports the handling of SiriKit interactions.
  • IntentsUI
    The Intents UI framework (IntentsUI.framework) supports the creation of an Intents UI extension, which is an optional app extension that displays custom content in the Siri or Maps interfaces.
  • Messages
    To develop an iMessage app, you use the APIs in the Messages framework (Messages.framework) and To create app extensions that interact with the Messages app, allowing users to send text, stickers, media files, and interactive messages.
  • Speech
    Using the APIs in the Speech framework (Speech.framework), you can perform speech transcription of both real-time and recorded audio.
  • UserNotifications
    User Notifications framework (UserNotifications.framework), which supports the delivery and handling of local and remote notifications.
  • UserNotificationsUI
    User Notifications UI framework (UserNotificationsUI.framework) lets you customize the appearance of local and remote notifications when they appear on the user’s device.
  • VideoSubscriberAccount
    Video Subscriber Account framework (VideoSubscriberAccount.framework) to help apps that support authenticated streaming or authenticated video on demand (also known as TV Everywhere) authenticate with their cable or satellite TV provider.

References :

Best Tweets of iOS 10 & Swift 3 Updates

Announcements from Apple’s WWDC 2016 keynote

Apple Special Event. June 13, 2016.

WWDC16
WWDC16

At WWDC lots of major announcements. iOS 10 is biggest release yet, with incredible features in Messages and an all-new design for Maps, Photos, and Apple Music. With macOS Sierra, Siri makes its debut on your desktop and Apple Pay comes to the web. The latest watchOS offers easier navigation and a big boost in performance. And the updated tvOS brings expanded Siri searches.

  • watchOS 3
  • tvOS
  • macOS Sierra
  • Siri for Mac
  • Apple Pay in Web
  • iOS 10
  • Swift Playgrounds – iPad

Now, Go with flow of technology, let’s learn something new… 😉

Get Reactions from Timeline Post via Facebook Graph API – Swift – iOS

Facebook Reactions
Facebook Reactions

New version of SDK is 4.16.x(Swift) and Graph API Version is 2.8.
With the Graph API 2.6 Facebook has given support to fetch (read only) the Reactions on Timeline Posts.

Post is updated for iOS 10 and Swift 3

API documentation is available here.

Let’s learn how to get reactions from the post

Install pods

Login with Facebook

I have already written a tutorial on Facebook Login.

Get Facebook Posts via Graph API

We can get the Facebook post via graph API : /me/posts for that we have to add user_posts permission with login.

Get Reactions from one of the Post

We can get the Facebook post reactions via graph API : /{post-id}/reactions. We have to pass parameters like fields and summary as described in getReactions function.
Note : Here I am writing sample for only first post.

Response should be like

Type of reactions : NONE, LIKE, LOVE, WOW, HAHA, SAD, ANGRY

#Like #Share #React 🙂 😛 😀
Happy coding 🙂

Use of Operator Overloading with Swift

apple_swift_logo

I was just going through the Swift document and I found that Swift allow to overload the operator just like as C++ Language. Objective-C doesn’t allow to overload the operator.
As swift document we can also say “Operator Functions”.

Let’s Overload ^ (XOR Operator) to make Power of the value

Function Prototype :
Declare function prototype with left hand side value and right and side value.

Operations in the function :
To make the power of the value we have to apply following operations

Let’s try to use with the operator :

Happy Coding 🙂

Swift 2.2 Warnings and It's Solutions – Xcode 7.3

apple_swift_logo

Xcode 7.3 came with Swift 2.2 Version. I just updated to Xcode 7.3 and found following warnings because of Swift version change.

List of warnings with it’s solution:

  1. ‘var’ parameters are deprecated and will be removed in Swift 3
  2. Warning Function Var
    Warning Function Var

    Warning with:
    [code language=”obj-c”]
    func functionTest(var param:String) {
    print(param)
    }
    [/code]
    Solution:
    [code language=”obj-c”]
    func functionTest(param:String) {
    print(param)
    }
    [/code]
    If you want to update that variable inside the function then you have to create copy of that variable to do operations on that.

  3. Use of string literal for Objective-C selectors is deprecated; use ‘#selector’ instead
  4. Warning Selector
    Warning Selector

    Warning with:
    [code language=”obj-c”]
    btn.addTarget(self, action: "functionName", forControlEvents: UIControlEvents.TouchUpInside)
    [/code]
    OR
    [code language=”obj-c”]
    btn.addTarget(self, action: Selector("functionName"), forControlEvents: UIControlEvents.TouchUpInside)
    [/code]
    Solution:
    [code language=”obj-c”]
    btn.addTarget(self, action: #selector(ViewController.functionName), forControlEvents: UIControlEvents.TouchUpInside)
    [/code]
    Apple Documentation : Added information about the #selector syntax for Objective-C selectors to the Selector Expression section.

  5. ‘++’ is deprecated: it will be removed in Swift 3
  6. Warning ++
    Warning ++

    Warning with:
    [code language=”obj-c”]
    var i = 0
    for str in arrStr {
    print(str)
    i++
    }
    [/code]
    Solution:
    [code language=”obj-c”]
    var i = 0
    for str in arrStr {
    print(str)
    i += 1
    }
    [/code]
    Apple Documentation : Removed discussion of C-style for loops, the ++ prefix and postfix operators, and the — prefix and postfix operators.

  7. C-style for statement is deprecated and will be removed in a future version of Swift
  8. Warning For Statement
    Warning For Statement

    Warning with:
    [code language=”obj-c”]
    for var i=0; i<arrStr.count; i += 1 {
    print(arrStr[i])
    }
    [/code]
    Solution:
    [code language=”obj-c”]
    for i in 0 ..< arrStr.count {
    print(arrStr[i])
    }
    [/code]

  9. __FILE__ is deprecated and will be removed in Swift 3, please use #file
  10. Warning __FILE__
    Warning __FILE__

    Warning with:
    [code language=”obj-c”]
    __FILE__
    [/code]
    Solution:
    [code language=”obj-c”]
    #file
    [/code]

More swift tutorials/articles are available here.
Happy Coding 🙂

Swift Resources #3

Swift Resources
Swift Resources

Swift Useful Resources:

Posted by @NatashaTheRobot in Issue No. 80
If I got time then I will try to post the Swift/Objective-C useful resources everyday.
Happy Coding 🙂