Friday, July 24, 2015

JSONWP

This specification is designed to extend the [JSON Wire
Protocol](https://code.google.com/p/selenium/wiki/JsonWireProtocol) (JSONWP),
a W3C working draft for web browser automation. The JSONWP has been greatly
successful for that purpose. The need for automation of native and hybrid
mobile applications can be met by the extension of the JSONWP, which already
has a proven basic automation framework (architecture, interaction model,
etc...).

Sunday, July 19, 2015

App thinning in iOS

This feature is about to change app delivery and installation.

Before App thinning uses were given package of the apps including some resources and binaries that were not going to be used on their devices.

App thinning uses the three ways to improve app delivery and installation.

Slicing:
Using image assets in Xcode will allow App Store to create a specialized app bundle including only the assets that fit the users device.It will also only include architecture specific binary in that binary such as 32 or 64 bit.

Note:
Put artwork in the asset catalog and tag it for individual platforms..other than that everything is same appstore will take care of compiling and giving the device specific things while installing.

On Demand Resources:
Developers will now able to host additional content in the App-store and the app can fetch some resources only when needed.

Note:
We have to assign tags to different chunks of code and these things will be downloaded when needed….If OS wants to make free space these things will be purged and dowloaded when needed from app-store
Developer will have the permission to say which tagged thing should be deleted first if OS needs to purge and developer will be able to specify what code is needed for first time launch.


BitCode:
Apps now can be submitted as LLVM Bitcode(intermediate language) instead of native executables and AppStore will take care of comipiling to native binaries.

Note:
Its by default on in iOS and can be optional to iOS apps but Mandatory in iwatch apps
LLVM -> Low Level Virtual Machine...A compiler that has the ability to act as JIT(Just in Time)

Saturday, July 18, 2015

Is it possible to test an iOS app developed by me in my own device ?

Starting from iOS 9.
It's possible.

Opening a free developer account itself is enough.

iOS 8 vs iOS 9

1) Siri:
it has become proactive rather than reactive…e.g ..you enter into your gym it’’ll prompt you to use headphone

2) Spotlight Search:
you can search videos as well…the new improved siri gives app suggestions and contacts as well.

3) Maps:
Transit has been included now it’s as good as Google maps

4) Compatibility:
All the iOS 8 running devices can upgrade to iOS 9.

5) QuikType keyboard:
(This is meant for iPad only)
It will make good suggestion while typing for example when replying to message “Do you come to dinner or lunch” the keyboard will show dinner and lunch as suggestions.

we can easily attach images.

when two fingers are pressed at once…it acts like trackpad..so that we can select the texts easily using the cursor

it adds handy cut,copy and paste.


6) SlideOver,SplitScreen and Picture in Picture. -> Multitasking

Slide Over shares the screen for brief moment with 70:30 ratio

Split Screen shares the screeen in half.

Picutre in Picture We can pop out the video call and let it float and you can do other tasks


These 3 features works only with iPad Air2



7)Battery life..
It has battery saving mode which will turn off wifi,bluetooth by itselff..

8)iOS 9 size:
iOS 9 download size is 1.3 GB while iOS 8 was around 4.6 GB

9)Apple pay :
Now it has included more banks in US.
Now we can add store credit/debit/loyalty/reward card..there are stored in a app called wallet…the new name for PassBook in iOS 9.

10)Apple News apps:
iOS 9 calls it as as “News” with some intelligence that is based on your reading taste it will bring you the articles


Note iOS 9 release:
it is the only preview version is released for general public

Sunday, May 24, 2015

Keystore vs Truststore

Essentially, the keystore in javax.net.ssl.keyStore is meant to contain your private keys and certificates, whereas the javax.net.ssl.trustStore is meant to contain the CA certificates you're willing to trust when a remote party presents its certificate

Saturday, March 21, 2015

How to symbolicate ios crash reports ?


Symbolication:
It is the process of  resolving(convert,translate) hexadecimal codes to apt function names and line numbers
 
Crash report:
It describes the condition of iOS which led to crashing of the app

Steps:
  1. Connect the device to a PC which has iTunes installed
  2. Then sync the device with iTunes(iPad should be unlocked)
  3. Navigate to the following path
          Windows 7 & vista:
           C:\Users\USER\AppData\Roaming\Apple computer\Logs\CrashReporter\MobileDevice\
          Windows XP:
          C:\Documents and Settings\USER\Application Data\Apple computer\Logs\CrashReporter\
          OSX:
          ~/Library/Logs/CrashReporter/MobileDevice/

     4.  Search for the appropriate device name, then look for the file by app name and time stamp 

     5.  Copy that then we can easily symbolicate the crash log which is in hexadecimal format using the .dysm file           with the iPad binary.we can find the .dysm file and iPA using organiser by making it to show in finder

    6. Launch xcode then open organiser click devices and then drop the crash log in that and it will get symbolicated.

Note:
The organiser should be once we used to create the build.

Apple IAP ( In-App Purchase ) Bundle Id

Bundle Id is case sensitive 
If it is com.test.myapp in the iTunes Connect but com.test.Myapp in App-Info.plist — that is default Bundle ID set in your app if you named your Xcode project “Myapp” — IAP will not work.