Tuesday, July 28, 2015

TestFlight Beta Testing Guidelines


TestFlight Beta Testing Guidelines


1. First thing to note is that test flight approval does not mean final iTunes app approval. 
2. The time Apple takes to review test flight build is only 1-2 business days where as an App store approval ranges from 5-15 business days. Normally its 6 days but during new product lunch iPhone / iPad ( mid Sep & Oct ) and  launch or especial event like WWDC ( Jun )  or during holidays ( Dec ) the time can increase as store even remain close for some time. 
3. The distribution of iOS app is done via TestFlight. It is the app available in iOS App store from Apple, which will help user get latest TestFlight Builds. 
  • Distribute prerelease builds of your app to testers to collect feedback and prepare your app for release in the App Store.
  • TestFlight beta testing in iTunes Connect is available only for iOS apps.
  •  You can enable TestFlight beta testing for up to 10 apps at one time in your developer account.
  •  Distribute the app to internal testers. 
  • Submit the app for Beta App Review, and distribute it to External users.
  • The build will be available to them for 30 days after the invitations are sent.

Difference Between Internal Testers and External User 
Internal test
  • Does not require App approval from apple.
  • You are not required to supply all metadata in order to invite internal testers to test a prerelease build of your app.
  • You can enable up to 25 users from your iTunes Connect team to be internal testers 
  • To be eligible to become an internal tester, a user must be part of your iTunes Connect team with the Admin, Legal, or Technical role. Adding iTunes Connect users and setting their roles. 
External test
  • You can enable up to 1000 users to be external testers per app.
  • External testers do not need to be in your organization; you can invite any user with an email address to become one of your external testers.
  • You’ll need an email address for each tester and optionally their first and last names. 
  • Your app must pass Beta App Review before you can invite your external testers to test it 
  • To enable external users to test a prerelease build of your app, you must supply the following metadata
    • What to test
    • App description
    • Feedback email
    • Marketing URL
    • Support URL
    • Privacy policy URL (optional)
    • Beta App Review contact information
    • Beta App Review notes (optional)

Submit to the App Store
When you are done using TestFlight beta testing, you can submit the app for final review. Before you submit it, make sure you no longer want to test it or any builds you uploaded earlier than it. When the app becomes Ready for Sale in the App Store, testing automatically stops on earlier builds, and you will be unable to view or test them.
If you want to resume testing of an earlier build, you can upload it as a new build associated with a new prerelease version.
Link - 

Wednesday, June 10, 2015

iOS9 Beta1 on iPhone6 Preview

Finally iOS9 is out in Beta. 
First thing you turn on your mobile after all the setup is the Passcode of length 6 !
I'm quite unhappy with this change. As I think as soon as fingerprint doesn't work i need to try the passcode. And remembering 6 digit passcode is quite difficult :[



Swipe Left for search just like Android Now :P
Not-thing like advanced feature of Android's NOW but its the basic start.


Now setting has its own search bar !


Another feature from Android :] ... Low batter. ie Low Power Mode !



BOOM ! Blank screen !!! Beta software test !!!

Multitasking is so cool. Its feel smooth. Yet again its quite inspired from Android but It has new feel, and quite useful one.


Another view of Multi-task.


Search


Siri in search


Siri in action like Apple Watch Design 


If you open any app it will give you option to go back to previous app :]
How cool. Most people using Android are used to using Back Button at bottom right.
Its almost similar, quite useful.


SlideShow in Moment.


Thumbnail preview of images. Another quite useful feature with smooth scroll.


Monday, May 11, 2015

iOS SideMenu / SideDrawer / SlidingView - Best Frameworks - GitHub Links


Top 5 iOS ( Objective-C ) Side Menu Frameworks are -

MMDrawerController

A lightweight, easy to use, Side Drawer Navigation Controller
https://github.com/mutualmobile/MMDrawerController


SWRevealViewController

A UIViewController subclass for presenting side view controllers inspired on the FaceBook and Wunderlist apps, done right !
https://github.com/John-Lluch/SWRevealViewController


MSDynamicsDrawerViewController

Container view controller that leverages UIKit Dynamics to provide a realistic drawer navigation paradigm.

https://github.com/erichoracek/MSDynamicsDrawerViewController


ECSlidingViewController

Customizable sliding view controller container.

https://github.com/ECSlidingViewController/ECSlidingViewController


PPRevealSideViewController

A new container controller to easily push views on side like Path or Facebook

https://github.com/ipup/PPRevealSideViewController

Sunday, May 3, 2015

Nepal earthquake American Red Cross app store donations





Apple has made a feature in its app store to donate money to nepal. 
thanks a million apple thanks a lot ! 

Tuesday, April 7, 2015

Objective-C REST API Network Status Codes

Objective-C REST API Network Status Codes 

/*!
@typedef NS_ENUM (NSUInteger, kStatusInformation)
@abstract Informational responses.
@discussion
These are valid only in the scope of <Project Name>.
*/
typedef NS_ENUM(NSInteger, kStatusInformation) {
/*!
This interim response indicates that everything so far is OK
and that the client should continue with the request or ignore
it if it is already finished.
*/
kStatusInformation_Continue = 100,
/*!
This code is sent in response to an Upgrade: request header by
the client, and indicates that the protocol the server is switching too.
It was introduced to allow migration to an incompatible protocol version,
and is not in common use.
*/
kStatusInformation_SwitchingProtocol = 101,
};
 
 
/*!
@typedef NS_ENUM (NSUInteger, kStatusSuccess)
@abstract Successful responses.
@discussion
These are valid only in the scope of Momentage.
*/
typedef NS_ENUM(NSInteger, kStatusSuccess) {
/*! The request has succeeded. */
kStatusSuccess_OK = 200,
/*!
The request has succeeded and a new resource has been
created as a result of it.
This is typically the response sent after a PUT request.
*/
kStatusSuccess_Created = 201,
/*!
The request has been received but not yet acted upon.
It is non-committal, meaning that there is no way in HTTP to later send
an asynchronous response indicating the outcome of processing the request.
It is intended for cases where another process or server handles the request,
or for batch processing.
*/
kStatusSuccess_Accepted = 202,
/*!
This response code means returned meta-information set is not exact
set as available from the origin server, but collected from a local
or a third party copy. Except this condition, 200 OK response should
be preferred instead of this response.
*/
kStatusSuccess_PartialInfo = 203,
/*!
There is no content to send for this request, but the headers may be
useful. The user-agent may update its cached headers for this
resource with the new ones.
*/
kStatusSuccess_NoResponse = 204,
/*!
This response code is sent after accomplishing request to tell user
agent reset document view which sent this request.
*/
kStatusSuccess_RestContent = 205,
/*!
This response code is used because of range header sent by the client
to separate download into multiple streams.
*/
kStatusSuccess_PartialContent = 206,
/*! */
kStatusSuccess_251 = 251,
};
/*! */
 
/*!
@typedef NS_ENUM (NSUInteger, FBErrorCode)
@abstract Error codes returned by the Facebook SDK in NSError.
@discussion
These are valid only in the scope of FacebookSDKDomain.
*/
typedef NS_ENUM(NSInteger, APIErrorCode) {
APIErrorCodeMultipleChoice = 300
};
 
 
// 4xx Client error
/*!
@typedef NS_ENUM (NSUInteger, kStatusClientError)
@abstract Client error responses
@discussion
These are valid only in the scope of Momentage.
*/
typedef NS_ENUM(NSInteger, kStatusClientError) {
/*! */
kStatusClientError_BadRequest = 400,
/*! */
kStatusClientError_Unauthorized = 401,
/*! */
kStatusClientError_PaymentRequest = 402,
/*! */
kStatusClientError_Forbidden = 403,
/*! */
kStatusClientError_NotFound = 404,
/*! */
kStatusClientError_MethodNotAllowed = 405,
kStatusClientError_ExpectationFailed = 417,
};
 
// 5xx Server error responses
/*!
@typedef NS_ENUM (NSUInteger, kStatusServerError)
@abstract Client error responses
@discussion
These are valid only in the scope of Momentage.
*/
typedef NS_ENUM(NSInteger, kStatusServerError) {
/*! The server has encountered a situation it doesn't know how to handle. */
kStatusServerError_InternalError = 500,
/*!
The request method is not supported by the server and cannot be handled. The only
methods that servers are required to support (and therefore that must not return
this code) are GET and HEAD.
*/
kStatusServerError_NotImplemented = 501,
/*!
This error response means that the server, while working as a gateway to get a
response needed to handle the request, got an invalid response.
*/
kStatusServerError_BadGateway = 502,
/*!
The server is not ready to handle the request. Common causes are a server that is
down for maintenance or that is overloaded. Note that together with this response,
a user-friendly page explaining the problem should be sent. This responses should
be used for temporary conditions and the Retry-After: HTTP header should, if
possible, contain the estimated time before the recovery of the service. The
webmaster must also take care about the caching-related headers that are sent
along with this response, as these temporary condition responses should usually
not be cached.
*/
kStatusServerError_ServiceUnavailable = 503,
/*!
This error response is given when the server is acting as a gateway and cannot get
a response in time.
*/
kStatusServerError_GatewayTimeout = 504,
/*! The HTTP version used in the request is not supported by the server. */
kStatusServerError_HTTPVersionNotSupported = 505,
};

via - 
Github Gist

Other Links - 


Thursday, February 26, 2015

Solved : Slow MacBook Pro SSD after Partition problem


Last week I was given new Macbook Pro in my job at Leapfrog Technology


It was the exact same Macbook Pro config laptop I previously had at Leapfrog but there was no such issue like once I pressed power button it would show "Apple" logo and computer would login instantly within 5sec. But my new Mac took around 30sec before showing Apple logo and every time it booted for first time but after that every thing was normal.

So only thing I did after I got the macbook pro was using Disk Utility to make SDD's partition !



So I thought there might be the issue like bios is trying to search for the OS partition and its the timeout of 30sec which lead to boot from next partition.


So all I did was selected the "Startup Disk" from the "System Preferences" 
and Rebooted in the system Partition and boom the issue was gone :]




Thursday, December 11, 2014

Ncell brings iPhone in Nepal - iPhone 6, iPhone 6 Plus, iPhone 5s

For the first time in nepal there is officially iPhone !
Yes for the first time in the end of 2014, you can officially buy iPhones from NCell :]

As per todays exchange rate its 1$ = 100Rs,
Hence for US 650$ Sim-Free iPhone means - 65,000 Rs which with tax & vats will be around
70,000 Rs. Where as Ncell gives iPhone for 82,000 Rs is somewhat expensive !
Which is 12,000 Rs more then what you might be expecting but you do get total of 6Gb data free ( 1Gb for 6 months ).

iPhone 6



CapacityTotal PriceAmount Required for Booking
16GBRs. 81,999Rs. 10,000
64GBRs. 92, 499
128GBRs. 104,999

Available in Space Gray, Gold and Silver. All iPhone 6 comes with 1GB data every month for 6 months. To book your iPhone 6, visit Ncell Centres in Kathmandu today.


iPhone 6 Plus




CapacityTotal PriceAmount Required for Booking
16GBRs. 92,499Rs. 12,000
64GBRs. 104,999
128GBRs. 117,99
Available in Space Gray, Gold and Silver. All iPhone 6 Plus comes with 1GB data every month for 6 months. To book your iPhone 6 Plus, visit your nearest Ncell Centre today.

iPhone 5s


CapacityTotal PriceAmount Required for Booking
16GBRs. 67,199Rs. 8,000
32GBRs. 73,999
Avaiable in Space Gray, Gold and SiIver. All iPhone 5S comes with 300MB data every month for 6 months. To book your iPhone 5S, visit your nearest Ncell Centre today.

Links -