Posts Tagged 'iPhone'

Hakawai And Away

This is well worth taking a look at if you’re outgrowing UITextView’s functionality, LinkedIn is the latest company to kick out some awesome source to the community:

Introducing Hakawai – a powerful, mentions-enabled text view for iOS

Text Transformers

Hakawai provides block-based APIs for working with the contents of a text view. Text transformers are methods which take in special blocks. These blocks always take as an argument an attributed string (representing the initial state of the text), and return another attributed string (representing the final state of the text). Hakawai also supports attribute transformers, which work similarly…

Abstraction Layer

The experimental Abstraction Layer feature is a way to provide text view users with a higher-level change notification API than currently offered by the built-in UITextViewDelegate. There are five main types of notifications, each with associated data…

Extras

Hakawai comes with a host of extras, including (but not limited to):

  • An API for easily adding and removing accessory views from the text view
  • An API for temporarily locking the focus of the text view to the top or bottom of the text view
  • An API for rejecting autocorrect suggestions, and for working with the text view’s autocorrection, auto-capitalization, and spell checking state
  • A convenience API for working with characters and words at a given location
  • A custom text container and layout manager
  • Support for custom text formatting through custom attributes, including a pre-built attribute showcased in the mentions plug-in

Plug-ins

Hakawai supports plug-ins, which are code modules that can be selectively activated and deactivated at run-time to provide the text view with additional functionality…

Mentions

Mentions is a plug-in for creating ‘mentions’, annotations in a text view which might correspond to names of individuals or entities…

OK, that’s some serious UITextView enhancement. Check it out on github!

(And while you’re in the LinkedIn neighbourhood over there, background fetch scheduling library Selene is worth a gander as well.)

h/t: ManiacDev!

UPDATES:

raulriera / TextFieldEffects: “Custom UITextFields effects inspired by Codrops, built using Swift”

Continue Reading →
0

Stylish Setup: KZBootstrap And Fabric

We’ve scattered here and there various references to goodies that make managing your Xcode project easier and/or more reliable, but here’s a particularly sweet-looking collection of most all the best bits we’ve noted plus some new clevernesses:

krzysztofzablocki / KZBootstrap: “iOS project bootstrap aimed at high quality coding.”

Each configuration can be put side by side on same device, and you can clearly distingiush each build. Easier to find issues across different version and branches…

Automatically generate macro for current developer, that way a team can have different code paths while they are working on features, or different logging levels. Without git changes.…

Often when working with big clients, you need to have multiple environments for Staging / Production / QA etc. They usually differ in some kind of configuration … Environments can be changed without reinstalling application, even while it’s running…

assertions when UIKit is layouted/displayed on background thread, so you can fix your code…

Let’s put it this way, even if you’re not particularly interested in adopting all the goodies here wholesale, it’s a useful exercise to go through all the various capabilities and understand them for when they or something along their lines might prove useful. As well as the various source references:

And while we’re on the subject of setting up new projects, if you haven’t looked at Twitter Fabric yet we’d recommend that’s a good thing to do; as Crashlytics is the only third party service we regard as an absolute necessity for any project at the moment, and if the other services Fabric provides are as competently executed and easy to manage as Crashlytics is, well we for one welcome our new Twitter overlords!

UPDATES:

Speeding Up Custom Script Phases

futurice / ios-good-practices: “Good ideas for iOS development, by Futurice developers.”

indragiek / swiftrsrc “generates Swift code for accessing elements of asset catalogs, storyboards, and color lists in order to avoid the error-prone practice of hardcoding strings into your code. It is heavily inspired by Square’s objc-codegenutils, which you should definitely look into if you’re working on an Objective-C project.”

mac-cain13 / R.swift: “Tool to get strong typed, autocompleted resources like images and segues in your Swift project.”

Natalie – Storyboard Code Generator

a convenient way to access child controllers inserted into Storyboard container views

13 Xcode Tips That Will Help You Conquer Xcode; Spicing Up Xcode; Xcode 6 Tips: Vector Images, Code Snippets and Many More

Extend Xcode with Text Services

Tool: Xcode Plugin Adding An Action Bar For Nearly Every Built-In Xcode Action And More

Xcode Plugin Listing – Quality Xcode Plugins

The Unofficial Guide to xcconfig Files

Continue Reading →
0

Core Motion Slickness

The always-invaluable NSHipster has some particularly nifty trickiness in an article on Core Motion:

CMDevice​Motion

Let’s say we want to give the splash page of our app a fun effect, with the background image staying level no matter how the phone is tilted … Using the gyroscope, Core Motion separates user movement from gravitational acceleration and presents each as its own property of the CMDeviceMotionData instance that we receive in our handler…

We can also use the other, non-gravity portion of this composited gyro/acceleration data to add new methods of interaction. In this case, let’s use the userAcceleration property of CMDeviceMotionData to navigate backward whenever a user taps the left side of her device against her hand…

Lastly, let’s try using the device’s attitude to enable a new interaction for a flash-card app, designed to be used by two study buddies. Instead of manually switching between the prompt and the answer, we’ll automatically switch the view as the device turns around, so the quizzer sees the answer while the person being quizzed only sees the prompt…

Read it all!

Continue Reading →
0

SceneKit and Swift

Hmmm, looks like we’ve managed to completely overlook the existence of SceneKit in the annals herein thus far, even though it’s been around for a couple years on OS X now. So hey, why not skip learning about SceneKit in Objective-C completely and go straight to SceneKit in Swift? Everybody seems to have that idea lately:

Create Stonehenge with iOS SceneKit and Swift

SceneKit has been described as the casual game developer’s framework. Since I started playing around with it a few weeks ago, I’m having a little trouble putting it down…

Straightforward exposition of how to set up ground, sky, and build Stonehenge.

Introduction To SceneKit – Part 1 and Part 2 and Part 3

Let’s look at creating a new project that uses SceneKit. Apple provides a template for SceneKit projects(Application -> Games) but for this tutorial we’ll be adding SceneKit to an existing project to get a better understanding on how it works…

Exhaustively detailed introduction to 3D basics in SceneKit with the latest Xcode.

Beginning Scene Kit Tutorial

In iOS 7, Apple made a huge push in the casual, mobile gaming space by introducing Sprite Kit, an incredible 2D-graphics framework. Developers had plenty to chew on for a whole year, and Sprite Kit gave everyone the capability to make simple iOS games with relative ease.

However, the 3D space continued to be largely inaccessible, requiring expert knowledge of computer graphics (OpenGL ES), or a sizeable wallet (Unity Pro).

Well, not anymore. :]

A teaser for the SceneKit chapters in the Wenderlich publishing empire’s iOS 8 By Tutorials, which we’d recommend purchasing as part of the Swift By Tutorials bundle, as we did!

UPDATES:

Objc.io #18, Games: Scene Kit

kconner / KMCGeigerCounter: Make your app click like a geiger counter every time it drops a frame.

Example: A Nice First Person Shooter Control Scheme For SceneKit Games

Merry Swiftmas from InfoQ

A Simple SceneKit Material Editor in Swift

SceneKit for Absolute Beginners

SwiftCenter.net has a number of SceneKit articles

Depth of Field in SceneKit

Continue Reading →
2

AsyncDisplayKit

Gotta hand it to those Facebook engineers, they just keep coming up with cool stuff these days, and they’ve downright outdone themselves with AsyncDisplayKit:

logo.png

AsyncDisplayKit is an iOS framework that keeps even the most complex user interfaces smooth and responsive. It was originally built to make Facebook’s Paper possible, and goes hand-in-hand with pop’s physics-based animations — but it’s just as powerful with UIKit Dynamics and conventional app designs.

AsyncDisplayKit Nodes are a thread-safe abstraction layer over UIViews and CALayers…

“Thread-safe” and “UIViews”? Cool beans!

Yup. All those things. Go do them!

UPDATES:

AsyncDisplayKit Tutorial: Achieving 60 FPS scrolling

Continue Reading →
0

Resource Management: xcres

Well, this is the handy-dandiest resource helper we’ve seen in a while:

mrackwitz/xcres: xcres searches your Xcode project for resources

xcres searches your Xcode project for resources and generates an index as struct constants. So you will never have to reference a resource, without knowing already at compile time if it exists or not.

It includes loose images, .bundles, asset catalogs (.xcasset) and even .strings in the index.

It gives you code autocompletion for resources and localized string keys, without the need of an Xcode plugin.

Especially if your app is a bit more complex, this will greatly improve your workflow. It ensures a better quality and gives you more safety. You will see directly when a resource is missing, when you renamed it, or you moved it around.

Furthermore it won’t even bother you for trivial name changes like change capitalization or converting name scheme from train-case or snake_case to camelCase and vice versa.

It will warn you in Xcode on build, if certain resources or string keys can’t be references, because their name contain invalid chars, duplicates in the camelCase variant with another key, or would be equal to a protected compiler keyword…

We tend to keep our resource references pretty much in order by reflex when writing them actually, but looks like this might make that more streamlined. And looks like it would be downright invaluable the next time we’re handed some mess to make sense of written by someone who regarded the concept of ‘maintainability’ with fear and loathing apparently…

h/t: CocoaControls!

UPDATES:

Working with Localization in iOS 8 and Xcode 6 describes new string functionality

Continue Reading →
0

Over 200 Success Tips!

OK, it’s actually just one tip from us — this is a nice little collection of current best practices and links to useful resources:

Creating Successful Apps – Over 200 Development, PR and Marketing Tips

  1. Before Your App Is Launched

    • It goes without saying that you’re going to need to make a good product – but there’s so much more. We outline the steps you need to take before you even write that first line of code or start your first wireframe.
  2. App Store Optimisation

    • App Store Optimisation is a mix of marketing and research. We outline how to optimise your app to get the maximum amount of downloads, the factors in determining how visible your app is in app store searches… and tell you how to improve everything.
  3. Improving Your App

    • App development never stops. We outline what you need to understand about how people use your app and the steps you will need to take to improve your app’s retention rate.
  4. Getting Reviews & Coverage For Your App

    • Getting publicity for your app in the right places can be a real challenge. We outline how to find those right places and more importantly – people – to get the exposure your app needs.
  5. Paid App Advertising and Exposure

    • From paid social media to adverts in other ads. We talk you through the options and give some general advice on ensuring your budget goes as far as possible.
  6. Conclusion and future guides

    • In the coming months, we plan to create a guide on how best to monetise your apps and an experts roundtable with advice from some of the most successful app entrepreneurs and marketers…

Chances are you won’t be terribly surprised by much of this if you’ve been following our various roundups and/or have been working on selling apps yourself for a while, but it’s short enough to be a good checklist and comprehensive enough you’ll probably find at least something of interest; so we completely recommend adding this to your marketing reference collection!

UPDATES:

10,000 Mobile Apps Later and What We Learned

10 Tips for Getting Featured on the App Store

How to pitch your mobile game to Apple — with email address!

The Details behind a Six Figure App Launch

10 Effective Growth Hacks to increase your SaaS Revenue (any business, really, especially any software business)

Sweat the Details: Animation and Microinteractions in Mobile Apps

The Complete Guide to Enterprise App Marketing

Marketing Your Indie Game: The Single Most Important Thing That No One Knows How to Do

A Guide to Launching Indie Games, Part One: Pre-Launch

Advice on Building a Press List

An App Store Experiment Part 1Part 2Part 3Part 4Part 5

My Buffer MVP – Idea to Paying Customer In 1 Day Without A Landing Page

Game Monetization Whitepaper; Appnext self-serve advertising; Lootsie real world rewards; Skillz play for cash

Mobile Games Press List

adamwulf / app-launch-guide: “This guide is aimed at indie developers who are building and launching their iOS apps largely by themselves. The guide will walk through planning, pre-launch, marketing, product dev, QA, and launch.”

How to Get Started With Apple Watch App Store Optimization

Three alternative mobile games marketing strategies

Applandr makes a landing page out of your store listing

Continue Reading →
0

SpriteBuilder 1.3

Just in case you haven’t been keeping track of developments over in the Cocos2D-Swift (née cocos2d-iphone) world, you might want to take a look at how SpriteBuilder is continuing to shape up right nicely into a — nay, the — friendly cross-platform development environment:

SpriteBuilder 1.3 Beta

In this beta, you’ll get early access to exciting new features we’re working on for the 1.3 full release, including:

  • The all-new Cocos2D Metal renderer for iOS 8 (and compatible devices)
  • CCEffects UI – add and edit amazing effects in SpriteBuilder with a few clicks!
  • Packages in Cocos2D – load groups of resources dynamically in your game!
  • An improved OpenGL renderer with multithreading option
  • Other iOS 8 optimizations and bug fixes

And, last but not least… the SpriteBuilder Android Plugin, now in public beta!

The what?

The SpriteBuilder Android Plugin extends the Cocos2D game-building power of SpriteBuilder to both iOS and Android. The SpriteBuilder Android Plugin uses clang to cross-compile Objective-C to native ARM and x86 machine code – no virtual machines, emulators, or Java translation. Your app will run faster than a Java-equivalent Android application. Additionally, since you have full access to every iOS and Android API, you maintain complete control over how your application is built. The SpriteBuilder Android Plugin allows you to expand your game’s audience while still using the Xcode environment you are familiar with…

Last few months we’ve been picking away at getting an old school cocos2d game with heavy UIKit overlays up to speed with the apportable library. Our conclusion was that why yes once upgraded to Cocos2D-Swift 3.x the Cocos2D bits went quite impressively smoothly; the UIKit stuff … well, mostly there. With just enough not in that mostly to cut the experience down somewhat from unqualified success. Looks like our experiences there are not terribly unusual, as it seems like Apportable is doubling down on what they do well here and scaling back on the everything to everybody idea. Best of luck to ‘em!

Continue Reading →
0

Apple-Paying The Piper

So between squeeing over the watches and squealing over the bendy phones and free music and all the other nonsense that just seems to get sillier all the time, anybody remember that other little thing Apple squeezed into their do?

Apple Pay For Developers

Apple Pay Human Interface Guidelines

Apple Pay Programming Guide

Haven’t seen very much discussion of that yet, but we’re kinda suspecting here it might turn out to be more of a Big Deal than most people are expecting right now. Here’s an excellent article to catch you up if you’ve been in the distracted by the shiny things crowd:

How Apple Pay works and why it matters for developers

Background: Clover and First Data (our parent company) have been working with Apple to prepare for the launch of Apple Pay to support developers, merchant acquirers, and issuing banks (see First Data’s press release). Clover is enabling all merchants to accept In-App payments, and will be In-Person/NFC enabling all merchants as well (see https://www.clover.com/features/iphone). Here’s a bit of how it works from a developer’s perspective, and why it matters…

Apple Pay marks the first time a popular operating system is making payments a platform service for real-world, non-digital-good transactions, in a broad, inclusive manner that is compatible with the mainstream payments processing industry. At Clover we’re particularly excited because we believe it opens up lightweight apps that can interact and transact with small-and-medium brick-and-mortar restaurants. By lightweight, I mean that these apps won’t need to maintain a user database, require user logins, worry about getting cards on file, or being an unwilling payment aggregator. i.e., it will be at least 10x easier. I expect a huge amount of innovation in real-world mobile commerce as a result over the coming years because of the revolution that Apple Pay is starting…

Generally we tend to dive headlong into Full On Mockery Mode™ soon as we see “revolution” touted in this industry, as perhaps the Dear Longtime Reader may have noticed here and there; but yeah, in this particular case, ok, this just could turn out enough of a thing that “revolution” would only be mild hyperbole. If the details are a bit eye-glazing to you, we’ll tl;dr here from the comments:

This article does explain the advantage Apple Pay has over other eWallet systems. By utilizing Network-Level Tokenization, Apple has integrated with all gateways, processors, issuers, and acquirers in the current payment scheme by negotiating directly with Visa, MasterCard, AMEX, Bank of America, JP Morgan Chase, Wells Fargo, and the list goes on…

This isn’t something that other eWallets have done. Thus, why Apple Pay will be around… and others won’t.

We’re pretty firmly on board with that prognostication.

There’s some more perspectives worth reading collected over at Michael Tsai’s blog.

And here’s a list of Apple-recommended payment platforms:

Authorize.Net : $49 setup, $25 monthly, 2.9% + 30¢ transaction : support, apply

Braintree : 2.9% + 30¢ transaction : support, apply

Chase Paymentech : $9.95 monthly, 1.99% + 25¢ (and up) transaction : support, apply

CyberSource : $CALL! :

First Data (Payeezy) : 2.9% + 30¢ transaction : apply

Stripe : 2.9% + 30¢ transaction : support, apply

TSYS : $5 monthly, 2.7% transaction : apply

UPDATES:

“Starting today, any Stripe user can begin accepting Apple Pay in their iOS apps.”: stripe / stripe-ios

Chez Wenderlich’s Apple Pay Tutorial with Stripe

NSHipster’s Pay

Why Apple Pay is the Most Secure Form of Payment

Continue Reading →
0

iPhone 6 Screen Apoplexia

Starting to feel like you’re totally losing the plot now that your iOS app can find itself living in five different point dimensions,

  • 320 x 480
  • 320 x 568
  • 375 x 667
  • 414 x 736
  • 768 x 1024

and three different point scales,

  • @1x: up to iPhone 3GS/iPod 3G/iPad 2/iPad mini 1
  • @2x: everything later except
  • @3x: iPhone 6 Plus

and even a logical to physical downsampling discrepancy on top of that? Here, go check this out to explain it:

iPhone 6 Screens Demystified

To demonstrate different rendering of pixels on various devices, we compare how 1-point wide line is rendered on

Original iPhone – without retina display. Scaling factor is 1.

iPhone 5 – with Retina display, scaling factor is 2.

iPhone 6 Plus – with Retina display HD. Scaling factor is 3 and the image is afterwards downscaled from rendered 2208 × 1242 pixels to 1920 × 1080 pixels.

The downscaling ratio is 1920 / 2208 = 1080 / 1242 = 20 / 23. That means every 23 pixels from the original render have to be mapped to 20 physical pixels. In other words the image is scaled down to approximately 87% of its original size…

TL;DR: If you haven’t yet … it’s time to buy PaintCode!

UPDATES:

See Tips: Auto Layout and PaintCode By Numbers

Using Vector Images in Xcode 6

Xcode 6: Live Rendering, Visual View Debugging, and Swift

How to design for thumbs in the Era of Huge Screens

What iOS 8 Means for App Design

What’s our Vector, Victor?

Open Source: Category For Easy Embedding Of PDF Images In iOS Apps For Scalable Images

JAMSVGImage: “Display resolution independent SVGs in iOS.”; SVGPath: “Parse SVG path strings into UIBezierPaths in Swift”; The Ultimate Guide to SVG; check out our old SVGKit notes

iPhone 6 Plus Pixel Peeping; … Follow-up

Continue Reading →
2
Page 2 of 99 12345...»