Skip to main content


Showing posts from July, 2016

Crashes on Samsung when using Multidex

There is a severe issue with a broken multidex implementation on some Samsung 4.2.x devices: But there are workarounds:
A special Proguard setting to minify your codeAndroid MultiDex & How to Deal With itUse DexClassLoader instead of Multidex and the default class loaderRemove MultiDex library and use DexClassLoader insteadWhat are differences between DexClassLoader and PathClassLoader?
Official Android Documentation:
A class loader that loads classes from .jar and .apk files containing a classes.dex entry. This can be used to execute code not installed as part of an application.
DexClassLoader is instantiated to load the library from the extracted secondary dex file.
Provides a simple ClassLoader implementation that operates on a list of files and directori…

Android Intellij Plugins

Gradle KillerThis plugin kills Gradle tasks using the system task manager with just one click.  No more struggling with "ps" or playing Russian roulette with "java.exe" processes! Just click the icon in the "Run" section and you're done! ADB IdeaSpeedup your daily work with shortcuts:Uninstall AppKill AppStart AppRestart AppClear App DataClear App Data and RestartCodeGlanceEmbeds a code minimap similar to the one found in Sublime into the editor pane. Works with both light and dark themes using your customized colors for syntax highlighting.Android Methods CountFor all you guys that are troubled by multidex!A plugin to get information about the number of methods on Android libraries.AceJumpAceJump allows you to quickly navigate the cursor to any position visible in the editor. See a demo of AceJump in action! Simply hit "ctrl+;", type a character, then type the matching character to Ace Jump.

The IBM Swift Package Catalog

The IBM Swift Package CatalogCreate, share and discover the many new libraries, modules and packages being created since Swift moved to Open Source.How to get started?The IBM Swift Package Catalog enables the developer community to leverage and share code across projectsOverviewThe Swift Package Catalog is just one of the ways IBM is radically simplifying end-to-end development Learn moreGetting StartedThis tutorial provides an overview of the Swift Package Catalog and highlights some of the beta featuresKituraThis Kitura tutorial reviews how to create a Package.swift file for use with KituraIBM developerWorks

Swift@IBM - Breaking down barriers between client and server all over the world

Try the new IBM Cloud Tools for Swift (Beta)For developers interested in creating Swift applications that span both client and server-side code, the newest tools from IBM can help simplify the management and deployment of server-side assets. Extend your mobile apps and connect them to IBM Bluemix Cloud services with a local development environment that complements the productive Xcode environment with the IBM Cloud Tools for Swift (beta) now available on IBM Bluemix.IBM Swift SandboxExperiment with Swift on the server, share your code and collaborate with your peersSwift on IBM BluemixRadically simplify end-to-end development of modern apps with Swift services on IBM BluemixKituraBuild end-to-end apps using Swift with KituraThe IBM Swift Package CatalogShare Swift resources using the IBM Swift Package CatalogIBM developerWorks

DevOps for mobile apps challenges and best practices


Multi-platform supportMobile apps as an enterprise front endContinuous integration and continuous deliveryThe app store'Pull' not 'push' deploymentFor consumer apps, failure is not an option

10 best practices for mobile DevOps

Continuous integration and continuous deliveryEnsure end-to-end traceability across all assetsPractice continuous integrationMaintain separate build and integration areas for each native mobile OS SDK version supportedUse automated build and deploy scriptsTesting and monitoringTest each build thoroughly with as much automation as possible, on simulated and physical devicesVirtualize and simulate backend services that are not available during mobile app testingMonitor the performance of deployed mobile apps and backend servicesMobile app deliveryEmploy centralized governance for mobile provisioning profiles, certificates, and API keysUse a virtual app store to test device deploymentConvert user feedback into enhancement requests and user s…

Apple verkauft erneut weniger iPhones - aber mehr als erwartet

In den drei Monaten zuvor hatte es erstmals seit der Markteinführung des iPhones ein Minus gegeben, damals von gut 16 Prozent. Apple ist seit Jahren stark abhängig vom iPhone. Es steht für etwa zwei Drittel der gesamten Erlöse.

Die Verkäufe der iPad-Tablets fielen zwar weiter - um neun Prozent auf 9,95 Millionen Geräte. Mit den teureren Modellen des iPad Pro stieg der Umsatz aber um sieben Prozent auf fast 4,9 Milliarden Dollar. Das war das erste Wachstum in dem Geschäft seit längerer Zeit.


The New 'Must Haves' for Mobile Apps to Succeed Today

In the words of SC Moatti, former Facebook product leader, founder of Products That Count and author of the new book, Mobilized: An Insider's Guide to the Business and Future of Connected Technology, “Mobile has an entirely different resonance and cadence for users, which makes the development of mobile apps fundamentally different too.” RETHINK YOUR FUNNELDEMONSTRATE YOUR VALUE, IMMEDIATELYDON’T SHOW TOO MUCH, DON’T ASK TOO MUCHKNOW WHEN TO ASK PERMISSIONBUILD IT BEAUTIFULMINIMIZE UNPREDICTABILITYIT COMES DOWN TO CULTUREFirst Round Review

PeekPop - Pre-iPhone 6S and 6S+

Peek and Pop
Let your users preview all kinds of content and even act on it — without having to actually open it. Users can then press a little deeper to Pop into content in your app.

Apple 3D Touch


Peek and Pop is a great new iOS feature introduced with iPhone 6S and 6S+ that allows you to easily preview content using 3D touch.

Sadly, almost 80% of iOS users are on older devices.

PeekPop is a Swift framework that brings backwards-compatibility to Peek and Pop.


Validating Receipts With the App Store

// Load the receipt from the app bundle.
NSURL *receiptURL = [[NSBundle mainBundle] appStoreReceiptURL];
NSData *receipt = [NSData dataWithContentsOfURL:receiptURL];
if (!receipt) { /* No local receipt -- handle the error. */ }

/* ... Send the receipt data to your server ... */
Apple Developer
For an application purchased from the App Store, use this application bundle property to locate the receipt. This property makes no guarantee about whether there is a file at the URL—only that if a receipt is present, that is its location. Apple API Reference
QuantityProduct IdentifierTransaction IdentifierOriginal Transaction IdentifierPurchase DateOriginal Purchase DateSubscription Expiration DateCancellation DateApp Item IDExternal Version IdentifierWeb Order Line Item ID In-App Purchase Receipt Fields
A helper class for verifying App Store receipts under iOS. VerifyStoreReceiptiOS
LazyPages is a highly customizable library that helps you to show a scrollable list of view controllers synchronized with an index. It is written in Swift 2.2 for iOS 8+.

Like Scrollable Tabs in Android.


Slow App Startup Times

Apple suggest to aim for a total app launch time of under 400ms and you must do it in less than 20 seconds or the system will kill your app. You control what your application delegate does but how do you debug slow startup times that happen before your code is even called? Here is a tip from WWDC 2016 that might help: To try it out add the environment variable DYLD_PRINT_STATISTICS to your project scheme with a value of 1.

User Your Loaf

Weltweiter Smartwatch-Markt bricht um ein Drittel ein

Apple still has a market share of 47%, followed by Samsung 16%.
Everybody is waiting for the Fall Apple Special event and the new Apple Watch!

Top Five Smartwatch Vendors, Shipments, Market Share and Year-Over-Year Growth, 2Q 2016 (Units in Millions)Vendor2Q16 Unit

Shipments2Q16 Market

Share2Q15 Unit

Shipments2Q15 Market


Year Growth1. Apple1.647%3.672%-55%2. Samsung0.616%0.47%51%3. Lenovo0.39%0.23%75%4. LG Electronics0.38%0.24%26%5. Garmin0.14%0.12%25%Others0.616%0.611%-1%Total3.5100%5.1100%-32%Source: IDC Worldwide Quarterly Wearable Device Tracker, July 21, 2016

iOS Testing: UI Testing Cheat Sheet and Examples

Shortly after Apple's "Hey Siri" event the Xcode 7 GM was released to developers. Let's put the betas behind us and take a look at some real world UI Testing examples.

The examples all use a test host that helps you manage your volleyball team. The app, Volley, lets the user manage the team roster, adjust the formation, and view game results. Feel free to take a look at the source code before continuing along to familiarize yourself with how it works.

Additional topics covered:

UI Testing with Stubbed Network DataThree Ways UI Testing Just Made Test-Driven Development Even BetterUI Testing in Xcode
Apple Developer UI Tests with Xcode 7
Appium vs. UI Tests

Great Apps Timeline

See how the LOOK of some of the great apps changed over time

What’s New in Subscriptions

All App Categories Eligible85% Revenue After One YearTerritory Pricing and Expanded Subscription Price TiersKeep Subscribers at Their Existing PriceStarting this fall, apps using the auto-renewable subscription model will be able to keep active subscribers at their existing price while increasing the price for new users. Subscription Level ChangesWithin each subscription group, you can offer different levels of service (for example, basic, premium, and pro memberships) as well as durations (such as weekly, monthly, or annually).

Apple Developer

Super Spectacular Server-Side Swift! Edward Jiang

Now that Swift is open-source and cross-platform, several teams are racing to make Swift a viable language for web development. The major frameworks, Perfect, Vapor, and IBM’s Kitura, have over 13,000 stars on GitHub, and are growing quickly! Join us as we talk about the different frameworks, their pros and cons, and an introduction for how to get started with developing in server side Swift. (Several of the frameworks are even solely for Swift 3!) Join Edward for a live coding demo and even deploy a Swift application to the cloud!