More on image sizing - stickers

Found this link very helpful

Small: 100 x 100 pt @3x scale (300 x 300 pixel image)

Medium: 136 x 136 pt @3x scale (378 x 378 pixel image)

Large: 206 x 206 pt @3x scale (618 x 618 pixel image)

IB Designables – Failed to render and update auto layout status

Ever seen this error?

IB Designables – Failed to render and update auto layout status

Read more here for a solution

Huge collection of fantastic tips for Swift Development

All I can say is Wow! Check this out. Swift tips and tricks

So many icons, so little time

Need the crazy number of sizes and resolutions for your in-app icons or the app icon itself? This in browser tool is great

UI helper - iOS Sizing / resolutions

Need help with all the iPhone and iPad sizes and the assets (graphics/images) you need?

This site is super handy

Optionals and ifs and lets and guards

What if.. if let and guard let and var let and well .. there is a lot of “let” in Swift. Two goodreads:

Invalid element name in Main.storyboard

I recently decided to revert a merge because a feature needed to be replaced. After carefully working through some conflicts, I brought up my branch post-revert and saw this interesting compile issue

Line 584: StartTag: invalid element name

The compiler told me this issue was in Main.storyboard.

Here is the fix

resource fork, Finder information, or similar detritus not allowed

What an ugly error message - eh?

Now this one is painful. It takes a lot of digging and false starts, but I believe the solution for most is super simple.

resource fork, Finder information, or similar detritus not allowed

To fix this, at your project root directory, run the command

xattr -cr "path to .app file

Error Domain=PlugInKit Code=13 "query cancelled

So subtle yet so vexing.

Error Domain=PlugInKit Code=13 “query cancelled

To fix this, I changed one tiny piece of code, but there are a number of related issues to check


    func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : Any]) {
        let chosenImage = info[UIImagePickerControllerOriginalImage] as! UIImage
        userChosenPhotoFromGalleryOrCamera.image = chosenImage
        self.dismiss(animated: true, completion: nil)

        userChosenPhotoFromGalleryOrCamera.isHidden = false

Get rid of self.dismiss and replace with picker.dismiss


    func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : Any]) {
        let chosenImage = info[UIImagePickerControllerOriginalImage] as! UIImage
        userChosenPhotoFromGalleryOrCamera.image = chosenImage
        picker.dismiss(animated: true, completion: nil)

        userChosenPhotoFromGalleryOrCamera.isHidden = false

Forcing iOS orientation for single or all ViewConroller

The app I am building really makes sense in portrait mode only. So I want to force that. And also, there is just too much to test with all the orientations. So why not?

Here are some resources that helped me:

How I Get Huge Social Media Growth with Crowdfire

Why did I upgrade my Crowdfire account from free to Plus?  What does Crowdfire offer that other platforms don't?  Why do I rely on Crowdfire as a key tool for managing social channels?

I'm here to explain...

Why is Social Media Critical to Your Business?


With 30% of millennials saying they engage with a brand on social at least once a month, your strategy can’t be only about existence.  Whatever your industry, segment and audience, a substantial portion of your customers and leads are on social. A recent Pew Research Center study found that 68% of American adults are Facebook users. Among 18 to 24-year-olds, 78% use Instagram and 45% are on Twitter.  Even among Americans 65 and older, 37% are social media users. 

Search engine crawlers know which pages are consistently earning traffic and which are just floating out there, forgotten and ignored. Although your killer content strategy is the most important factor in your search rankings, driving traffic to your optimized pages will cause them to climb much faster.

By investing only a few hours per week, over 91% of marketers claimed that their social marketing efforts greatly increased their exposure. There is no doubt that by simply having a social media page your brand will benefit, and with regular use it can generate a wide audience for your business.

Beyond a marketing tool, social media engagement helps to build connections with industry leaders and influencers., providing great stories for reporters, top notch products for promoters and interesting topics for experts to share with their followers. Over time, you’ll become more than a brand — you’ll be a part of a community.

If you’re a salesperson, one of the most powerful things you can do is look into your prospects’ eyes with a firm handshake. If you’re a marketer, one of the most powerful things you can do is engage with prospects and customers on social media. What do they have in common? These tactics allow you to relate to your prospects. People buy from people, and engaging with them allows the prospect to experience your culture and establish a relationship.

What Is Crowdfire?

I use it to curate content for all my social network channels to both retain my current audience as well as grow followers.  Crowdfire helps you discover and schedule content, and manage all your social accounts from one place.

My favorite part of Crowdfire is that it allows you to curate.  Many others are more "Set and forget".  And while it is tempting to use those - there is a big risk in polluting your social streams with topics that are not a fit or downright offensive.  Crowdfire gives you the tools to share what you decide to share and when you decide to share it.  And you can do so on the web or on mobile.

That's another big plus with Crowdfire.  The mobile app is sleek, easy to use, and has the right feature set for managing social channels on the go.  This includes the ability to share curated articles, post images from other sources and your own, re-post your posts, share articles from RSS feeds that you define and curate, and view analytics to help up your social game.

What Can Crowdfire Do For You?

it can automagically customize your posts for all your social profiles, taking away the headache of crafting separate posts for each individual social network.  You can schedule all your posts in advance and publish them automatically at the best times or at times chosen by you, saving you tons of time and effort.  Further it allows you to keep an eye out for updates from your website, blog or online shops and create quick, beautiful posts for every update to easily share on all your social profiles.

One thing I really love is the content automation that presents me with items I can choose to share.  With Crowdfire you can discover articles and images your audience will love, so you can share them to all your social profiles and keep your timelines buzzing.

And for Twitter, it can be extra valuable with help following the right people, unfollowing inactive accounts, engaging with your fans and followers and keeing an eye out on your competitors' followers.  You can follow your competitors' followers with ease and still curate for full control.

Which Social Networks Does Crowdfire Connect To?



  • Facebook
  • Twitter
  • Instagram 
  • Pinterest
  • Linkedin
  • YouTube
  • WordPress
  • Shopify
  • Etsy
  • Twitch
  • Vimeo
  • 500px
  • Any blog with an RSS feed

I Also Love Crowdfire Because it is Reasonably Priced and Packed with Features

They offer a free plan that is fantastic for getting started and might be all you need.  The Plus plan, currently at $5.99/mo, that I currently use includes:

  • Two accounts (if you need more than one person managing your social)
  • All of Crowdfire's supported social networks
  • Scheduling and Publishing
    • 100 Scheduled posts per account
    • Chrome extension to share articles

    • Custom Posting Schedule

    • Video Posts Support

  • Content Curation
    • Unlimited Article Curation: Unlimited articles recommended for your topics
    • Image Curation: Unlimited images recommended for Instagram and Pinterest growth
    • Curate content from your own Blogs, Youtube videos and Shopify/Etsy shops
    • Up to 5 RSS Feed Connect
    • Hashtag Recommendations
    • Support for multiple image posts
    • Autotailored posts for each platform with preview before posting
  • 30 Day Social Analytics

And They Offer More Than Just a Tool

I find the Crowdfire Blog to be super helpful in navigating the social media waters.  Recent blog topics include:

  • What to Post on Facebook, Instagram, Twitter, LinkedIn and Pinterest
  • Instagram IGTV: 3 things you should know about Instagram’s New Video Platform

  • A Guide To Twitter Algorithm And How To Increase Your Reach

  • An Essential Guide to Instagram Stories + 5 Ways they will benefit your business

  • Top 3 reasons why Content Curation should be a part of your Social Media Marketing Strategy

This One Crowdfire Blog Post Saved Me Hundreds of Hours

It is titled "How to Repurpose Blogs Into Social Media Content".  This post covers 5 keys to leveraging your existing blog so that you don't have to always be creating new content.  A big time and money savings!  

It is written by the CEO and Founder of Rankwatch which is a platform, which helps companies and brands stay ahead with their SEO efforts in the ever growing internet landscape


You can try Crowdfire for free and see how it works for you.  It is one of my most indispensable tools for maintaining and growing my social marketing strategy.

Very helpful iOS Toolkit for 2018

Hello folks, I would like to update some of my toolset for 2018 that I use for iOS development tools, cloud service, websites, repos, libraries and some miscellaneous that I am still currently using.

This article will continue to be updated all year round. Some tools can be deleted, some others not. You can find some of the updates from my 2017 toolset and some new advice with the reasons behind.

I will also be in WWDC 2018. Hope to see some of you there :)!

Cloud Service

I use Macbook Pro 2015. It is fair enough but there is a problem with the compiling time. When I started my current job, I can not estimate project size and compiling time details. Also there is not another alternative such as iMac or Hackintosh for working faster with big projects. One day, while talking with my friends they asked me why I do not use cloud Apple hardware. It was a missing tool in my list that supports developers who don’t want to run development and testing in house. MacStadium services fit very well with developers, dedicated iOS build infrastructure quickly when they can’t afford to purchase hardware.

Also, they are about to roll out a program offering free dedicated Mac minis to open source developers!

Read the entire article here

Warning: Attempt to present <*> on <*> whose view is not in the window hierarchy

Ever seen this error?

Warning: Attempt to present <*> on <*> whose view is not in the window hierarchy

It is only a warning, but I like not to have warnings. And this one just got me curious so I wanted to fix it.

The bottom line issue is that you have a view controller that did not finish loading and another view controller is presenting.

The fix that worked for me was to present the secondary view controller here..

override func viewDidAppear(_ animated: Bool) {
self.present(authViewController, animated: true, completion: nil)

The Mistakes I Made As a Beginner Programmer

I found this a very thoughtful piece

Here is a preview:

Let me make one thing clear first. If you are a beginner programmer, this article is not meant to make you feel bad about the mistakes that you might be making but rather to make you aware of them, teach you to spot signs of them, and remind you to avoid them.

I have made these mistakes in the past and learned from each and every one of them. I am happy to have formed coding habits to help me avoid them. You should do too.

These mistakes are not presented here in any particular order.

1. Writing Code Without Planning

Read More . . .