SlideShare a Scribd company logo
How to add Custom Font to 
your iOS-based App?
About Neev 
Magento 
Hybris Commerce 
SaaS Applications 
Adobe Marketing Cloud 
Custom Development 
Key Company Highlights 
300+ team with experience 
in managing offshore, 
distributed development. 
Neev Technologies 
established in Jan ’05 
VC Funding in 2009 By 
Basil Partners 
Part of Publicis Groupe 
Hybris and Adobe CQ 
centers of Excellence 
Offices at Bangalore, 
Gurgaon, Pune, Mumbai 
Member of NASSCOM 
Mobile Cloud 
iPhone 
Android 
PhoneGap 
Windows Phone 
HTML5 Apps 
Web 
AWS 
Rackspace 
Joyent 
Heroku 
Google Cloud Platform 
Digital Marketing, CRM, Analytics (Omni-Channel) 
User Interface Design and User Experience Design 
Performance Consulting Practices 
Quality Assurance & Testing 
Outsourced Product Development 
Click here to know more about us
Reusability of code – The Need 
• Neev follows the best coding practices to provide the highest quality 
software. 
• Reusability helps easily maintain an application. 
• If the application code is maintainable, then it is more flexible for new and 
challenging requirements. 
• In iOS-based Apps, custom fonts can be used in the many places. So, instead 
of copying the code repetitively, a better approach is to reuse. 
• iOS, Apple’s mobile operating system, doesn’t support all fonts. Thus, in order 
to use a custom font, we would need to include that custom font in the 
project we work on.
How to include Custom Font in an iOS App? 
1) Add the Custom font required by the application under folder named ‘Fonts’
How to include Custom Font in a Project? 
2) Add the name of the custom font in ‘.plist’ file with the key “Fonts provided by 
application” as in the below image.
How to include Custom Font in a Project? 
3) Check whether the custom font is appearing in the Target -> build phases –> copy 
bundle resources.
How can we implement a custom font in an iOS App? 
1) Create the class ‘NVLabel’ as a subclass of ‘UILabel’ as shown below. 
2) Add the below code in NVLabel.h file 
#import <UIKit/UIKit.h> 
@interface NVLabel : UILabel 
// NV font is used for automatically setting font and other look and feel 
// properties of UILabels 
// Usage: in XIB add a keyValue with key “NVFont” and value “_tile_headerSub_” 
// refer to util class for more details on values. 
@property (nonatomic, strong) NSString *NVFont; 
@end1
How can we implement a custom font in an iOS App? 
3) Add the below code in the NVLabel.m file 
{ 
self.NVFont = value; 
[FontUtil decorate:self]; 
} 
} 
// Only override drawRect: if you perform custom 
drawing. 
// An empty implementation adversely affects 
performance during animation. 
- (void)drawRect:(CGRect)rect 
{ 
// Drawing code 
} 
*/ 
@end 
#import “NVLabel.h” 
#import “FontUtil.h” 
@implementation NVLabel 
@synthesize NVFont; 
- (id)initWithFrame:(CGRect)frame 
{ 
self = [super initWithFrame:frame]; 
if (self) { 
// Initialization code 
} 
return self; 
} 
-(void) setValue:(id)value forKey:(NSString *)key 
{ 
if ([key isEqualToString:@"NVFont"])
How can we implement a custom font in an iOS App? 
4) Create the class FontUtils.h and FontUtils.m 
// FontUtil.h 
#import <Foundation/Foundation.h> 
#import “NVLabel.h” 
@interface FontUtil : NSObject 
+ (void)decorate:(NVLabel *)label; 
+(void)decorateView:(UIView *)view; 
+(UIFont*)robotoCondensedWithSize:(int)size; 
+(UIFont*)robotoRegularWithSize:(int)size; 
@end
How can we implement a custom font in an iOS App? 
5) In the class FontUtils.m, add the following code. 
NSString *font = label.NVFont; 
if (font == nil) { 
return; 
} 
// more specific conditions must be checked before 
generic ones. 
// Ex: _af_tile_header_ must be checked before 
_tile_header_ which in turn must be checked before 
_header_ 
if ([font hasSuffix:@"_title_Mac_"]){ 
label.font = [FontUtil robotoItalicWithSize:16]; 
label.textColor = [UIColor greenColor]; 
} else if ([font hasSuffix:@"_title_name_2"]){ 
label.font = [FontUtil robotoCondensedWithSize:18]; 
label.textColor = [UIColor redColor]; 
}else if ([font hasSuffix:@"title_sub_3"]){ 
label.font = [FontUtil robotoCondensedWithSize:14]; 
// FontUtil.m 
#import “FontUtil.h” 
#include <objc/runtime.h> 
#include “NVLabel.h” 
@implementation FontUtil 
+(UIFont*)robotoCondensedWithSize:(int)size{ 
UIFont *font = [UIFont fontWithName:@"Roboto- 
Condensed" size:size]; 
return font; 
} 
+(UIFont*)robotoItalicWithSize:(int)size{ 
UIFont *font = [UIFont fontWithName:@"Roboto- 
Italic" size:size]; 
return font; 
} 
+(void)decorate:(NVLabel *)label { 
label.textColor = [UIColor brownColor]; 
} 
} 
+(void)decorateView:(UIView *)view { 
NSArray *subviews = [view subviews]; 
for (int i = 0; i < subviews.count; ++i) { 
UIView *subview = [subviews objectAtIndex:i]; 
if ([subview isKindOfClass:[NVLabel class]]) { 
[FontUtil decorate:(NVLabel *)subview]; 
} else { 
[FontUtil decorateView:subview]; 
} 
} 
} 
@end
How can we implement a custom font in an iOS App? 
6) After addition of the above code to create the required set of files, go to view controller.xib . 
• Go to show identity inspector 
• Under Custom class, it should be a subclass of NVLabel 
• Below ‘User Defined Run-Time Attributes’, add the keypath as NVFont , font as String , Value of the 
string is in the below format _name_subname_
How can we implement a custom font in an iOS App? 
7) After adding the user defined attributes , go to FontUtils.m 
8) In the method, add the following code: 
label.font = [FontUtil robotoItalicWithSize:16]; 
label.textColor = [UIColor greenColor]; 
} else if ([font hasSuffix:@"_title_name_2"]){ 
label.font = [FontUtil robotoCondensedWithSize:18]; 
label.textColor = [UIColor redColor]; 
}else if ([font hasSuffix:@"title_sub_3"]){ 
label.font = [FontUtil robotoCondensedWithSize:14]; 
label.textColor = [UIColor brownColor]; 
} 
} 
+(void)decorate:(NVLabel *)label { 
NSString *font = label.NVFont; 
if (font == nil) { 
return; 
} 
// TODO 
// more specific conditions must be checked before 
generic ones. 
// Ex: _af_tile_header_ must be checked before 
_tile_header_ which in turn must be checked before 
_header_ 
if ([font hasSuffix:@"_title_Mac_"]){
How can we implement a custom font in an iOS App? 
9) In the above code, in if ([font hasSuffix:@"_title_Mac_"]), replace “title Mac” 
with the value of the string as given in the user defined attributes as in if([font 
hasSuffix:@”Value given in the user defined attributes”]) 
10)Include FontUtil.h in your class. In the ‘viewdidload’ method, call the [FontUtil 
decorateView:self.view]
Final Word 
• These steps can be used to add any number of custom fonts to an iOS App. 
• This method can be used for any iOS-based App that requires a custom font to 
be added to it. 
• Once the above steps are completed, iOS would allow the App to use the 
custom font. 
• To know more about our iOS application development capabilities, visit us 
here.
The Neev Edge 
• End-to-end consultative approach for software solutions through needs assessment, 
process consulting and strategic advice. 
• Internal QMS are ISO 9001-2008 certified and CMM level 3 compliant. 
• Continuous process and service level improvements through deployment of best-of-breed 
processes and technologies. 
• International Standards and best practices on Project Management including PMI, ISO 
and Prince-2. 
• Proven EDC Model of delivery to provide predictable results. 
• Scrum based Agile development methodology.
A Few Clients
Partnerships
Neev Information Technologies Pvt. Ltd. sales@neevtech.com 
India - Bangalore 
The Estate, # 121,6th Floor, 
Dickenson Road 
Bangalore-560042 
Phone :+91 80 25594416 
India - Pune 
Office No. 4 & 5, 2nd floor, L-Square, 
Plot No. 8, Sanghvi Nagar, Aundh, 
Pune - 411007. 
Phone :+91 20 64103338 
For more info on our offerings, visit www.neevtech.com

More Related Content

What's hot

What is java fx?
What is java fx?What is java fx?
What is java fx?
kanchanmahajan23
 
Building Your First Xamarin.Forms App
Building Your First Xamarin.Forms AppBuilding Your First Xamarin.Forms App
Building Your First Xamarin.Forms App
Xamarin
 
A Better Interface Builder Experience
A Better Interface Builder ExperienceA Better Interface Builder Experience
A Better Interface Builder ExperienceJustin Munger
 
Introduction to Xamarin
Introduction to XamarinIntroduction to Xamarin
Introduction to Xamarin
Vinicius Quaiato
 
Visual studio professional 2015 overview
Visual studio professional 2015 overviewVisual studio professional 2015 overview
Visual studio professional 2015 overview
Lee Stott
 
What is Visual Studio Code?
What is Visual Studio Code?What is Visual Studio Code?
What is Visual Studio Code?
Mindfire LLC
 
iOS Distribution and App store pushing and more
iOS Distribution and App store pushing and moreiOS Distribution and App store pushing and more
iOS Distribution and App store pushing and more
Naga Harish M
 
Visual Studio
Visual StudioVisual Studio
Best Interactive guide on Top 10 Mobile App Development Frameworks
Best Interactive guide on Top 10 Mobile App Development FrameworksBest Interactive guide on Top 10 Mobile App Development Frameworks
Best Interactive guide on Top 10 Mobile App Development Frameworks
varshasolanki7
 
Sharbani bhattacharya Visual Basic
Sharbani bhattacharya Visual BasicSharbani bhattacharya Visual Basic
Sharbani bhattacharya Visual Basic
Sharbani Bhattacharya
 
Vb.net class notes
Vb.net class notesVb.net class notes
Vb.net class notes
priyadharshini murugan
 
Best Apple IOS Training in Chennai | Best Iphone Training in Chennai
Best Apple IOS Training in Chennai | Best Iphone Training in ChennaiBest Apple IOS Training in Chennai | Best Iphone Training in Chennai
Best Apple IOS Training in Chennai | Best Iphone Training in Chennai
Core Mind
 
How Xamarin Is Revolutionizing Mobile Development
How Xamarin Is Revolutionizing Mobile DevelopmentHow Xamarin Is Revolutionizing Mobile Development
How Xamarin Is Revolutionizing Mobile Development
MentorMate
 
Xamarin Best Cross Platform Mobile App Development Solution
Xamarin Best Cross Platform Mobile App Development SolutionXamarin Best Cross Platform Mobile App Development Solution
Xamarin Best Cross Platform Mobile App Development Solution
Ramin mohmaad hoseini
 
ios app development
ios app developmentios app development
ios app development
Rapidsoft Technologies
 
VSTO + LOB Apps Information Matters
VSTO + LOB Apps Information MattersVSTO + LOB Apps Information Matters
VSTO + LOB Apps Information Matters
Comunidade NetPonto
 
Ryerson DMZ iOS Development Workshop
Ryerson DMZ iOS Development WorkshopRyerson DMZ iOS Development Workshop
Ryerson DMZ iOS Development WorkshopJean-Luc David
 
Visual Studio Software architecture
Visual Studio Software architectureVisual Studio Software architecture
Visual Studio Software architectureSuphiyaan Sutar
 
Native i os, android, and windows development in c# with xamarin 4
Native i os, android, and windows development in c# with xamarin 4Native i os, android, and windows development in c# with xamarin 4
Native i os, android, and windows development in c# with xamarin 4
Xamarin
 

What's hot (20)

What is java fx?
What is java fx?What is java fx?
What is java fx?
 
Building Your First Xamarin.Forms App
Building Your First Xamarin.Forms AppBuilding Your First Xamarin.Forms App
Building Your First Xamarin.Forms App
 
A Better Interface Builder Experience
A Better Interface Builder ExperienceA Better Interface Builder Experience
A Better Interface Builder Experience
 
Introduction to Xamarin
Introduction to XamarinIntroduction to Xamarin
Introduction to Xamarin
 
Visual studio professional 2015 overview
Visual studio professional 2015 overviewVisual studio professional 2015 overview
Visual studio professional 2015 overview
 
Visual Studio IDE
Visual Studio IDEVisual Studio IDE
Visual Studio IDE
 
What is Visual Studio Code?
What is Visual Studio Code?What is Visual Studio Code?
What is Visual Studio Code?
 
iOS Distribution and App store pushing and more
iOS Distribution and App store pushing and moreiOS Distribution and App store pushing and more
iOS Distribution and App store pushing and more
 
Visual Studio
Visual StudioVisual Studio
Visual Studio
 
Best Interactive guide on Top 10 Mobile App Development Frameworks
Best Interactive guide on Top 10 Mobile App Development FrameworksBest Interactive guide on Top 10 Mobile App Development Frameworks
Best Interactive guide on Top 10 Mobile App Development Frameworks
 
Sharbani bhattacharya Visual Basic
Sharbani bhattacharya Visual BasicSharbani bhattacharya Visual Basic
Sharbani bhattacharya Visual Basic
 
Vb.net class notes
Vb.net class notesVb.net class notes
Vb.net class notes
 
Best Apple IOS Training in Chennai | Best Iphone Training in Chennai
Best Apple IOS Training in Chennai | Best Iphone Training in ChennaiBest Apple IOS Training in Chennai | Best Iphone Training in Chennai
Best Apple IOS Training in Chennai | Best Iphone Training in Chennai
 
How Xamarin Is Revolutionizing Mobile Development
How Xamarin Is Revolutionizing Mobile DevelopmentHow Xamarin Is Revolutionizing Mobile Development
How Xamarin Is Revolutionizing Mobile Development
 
Xamarin Best Cross Platform Mobile App Development Solution
Xamarin Best Cross Platform Mobile App Development SolutionXamarin Best Cross Platform Mobile App Development Solution
Xamarin Best Cross Platform Mobile App Development Solution
 
ios app development
ios app developmentios app development
ios app development
 
VSTO + LOB Apps Information Matters
VSTO + LOB Apps Information MattersVSTO + LOB Apps Information Matters
VSTO + LOB Apps Information Matters
 
Ryerson DMZ iOS Development Workshop
Ryerson DMZ iOS Development WorkshopRyerson DMZ iOS Development Workshop
Ryerson DMZ iOS Development Workshop
 
Visual Studio Software architecture
Visual Studio Software architectureVisual Studio Software architecture
Visual Studio Software architecture
 
Native i os, android, and windows development in c# with xamarin 4
Native i os, android, and windows development in c# with xamarin 4Native i os, android, and windows development in c# with xamarin 4
Native i os, android, and windows development in c# with xamarin 4
 

Viewers also liked

SwitchOn! Vol.1 WebDesign
SwitchOn! Vol.1 WebDesignSwitchOn! Vol.1 WebDesign
SwitchOn! Vol.1 WebDesignkazuko kaneuchi
 
Tipografia Cicero Giovany - Paulo Czar
Tipografia   Cicero Giovany - Paulo CzarTipografia   Cicero Giovany - Paulo Czar
Tipografia Cicero Giovany - Paulo Czar
Giovany Junior
 
Wide Open Faces
Wide Open FacesWide Open Faces
Wide Open Faces
Garrick van Buren
 
Font type identification of hindi printed document
Font type identification of hindi printed documentFont type identification of hindi printed document
Font type identification of hindi printed document
eSAT Journals
 
Object Oriented Programming in js
Object Oriented Programming in jsObject Oriented Programming in js
Object Oriented Programming in js
threepointone
 
the rabbit and the tortoise
the rabbit and the tortoisethe rabbit and the tortoise
the rabbit and the tortoise
threepointone
 

Viewers also liked (7)

SwitchOn! Vol.1 WebDesign
SwitchOn! Vol.1 WebDesignSwitchOn! Vol.1 WebDesign
SwitchOn! Vol.1 WebDesign
 
Tipografia Cicero Giovany - Paulo Czar
Tipografia   Cicero Giovany - Paulo CzarTipografia   Cicero Giovany - Paulo Czar
Tipografia Cicero Giovany - Paulo Czar
 
Wide Open Faces
Wide Open FacesWide Open Faces
Wide Open Faces
 
Font type identification of hindi printed document
Font type identification of hindi printed documentFont type identification of hindi printed document
Font type identification of hindi printed document
 
Locate your hacks
Locate your hacksLocate your hacks
Locate your hacks
 
Object Oriented Programming in js
Object Oriented Programming in jsObject Oriented Programming in js
Object Oriented Programming in js
 
the rabbit and the tortoise
the rabbit and the tortoisethe rabbit and the tortoise
the rabbit and the tortoise
 

Similar to How to add Custom Font to your iOS-based App?

Ios
IosIos
04 objective-c session 4
04  objective-c session 404  objective-c session 4
04 objective-c session 4
Amr Elghadban (AmrAngry)
 
Getting started with titanium
Getting started with titaniumGetting started with titanium
Getting started with titanium
Naga Harish M
 
Getting started with Appcelerator Titanium
Getting started with Appcelerator TitaniumGetting started with Appcelerator Titanium
Getting started with Appcelerator Titanium
Techday7
 
Xamarin Technical Assessment Against Native for Cross Platform Mobile Develop...
Xamarin Technical Assessment Against Native for Cross Platform Mobile Develop...Xamarin Technical Assessment Against Native for Cross Platform Mobile Develop...
Xamarin Technical Assessment Against Native for Cross Platform Mobile Develop...
YASH Technologies
 
Google MLkit
Google MLkitGoogle MLkit
Google MLkit
Navin Manaswi
 
How to Build Cross-Platform Mobile Apps Using Python
How to Build Cross-Platform Mobile Apps Using PythonHow to Build Cross-Platform Mobile Apps Using Python
How to Build Cross-Platform Mobile Apps Using Python
Andolasoft Inc
 
Progressive Web Application by Citytech
Progressive Web Application by CitytechProgressive Web Application by Citytech
Progressive Web Application by Citytech
Ritwik Das
 
A Comprehensive Guide to Efficiently Writing and Implementing iOS Unit Tests.pdf
A Comprehensive Guide to Efficiently Writing and Implementing iOS Unit Tests.pdfA Comprehensive Guide to Efficiently Writing and Implementing iOS Unit Tests.pdf
A Comprehensive Guide to Efficiently Writing and Implementing iOS Unit Tests.pdf
flufftailshop
 
Navya_Resume_New (1)
Navya_Resume_New (1)Navya_Resume_New (1)
Navya_Resume_New (1)Navya MP
 
Kumar kunal
Kumar kunalKumar kunal
Kumar kunal
kumar kunal
 
.Net @ Neev
.Net @ Neev.Net @ Neev
.Net @ Neev
Neev Technologies
 
A Deep Dive into Android App Development 2.0.pdf
A Deep Dive into Android App Development 2.0.pdfA Deep Dive into Android App Development 2.0.pdf
A Deep Dive into Android App Development 2.0.pdf
lubnayasminsebl
 
Streamlined CMS - DrupalCon Session
Streamlined CMS - DrupalCon SessionStreamlined CMS - DrupalCon Session
Streamlined CMS - DrupalCon Session
Smile I.T is open
 
Introducing J2ME Polish
Introducing J2ME PolishIntroducing J2ME Polish
Introducing J2ME Polish
Adam Cohen-Rose
 
iOS-iPhone documentation
iOS-iPhone documentationiOS-iPhone documentation
iOS-iPhone documentationRaj Dubey
 
Basic Introduction Flutter Framework.pdf
Basic Introduction Flutter Framework.pdfBasic Introduction Flutter Framework.pdf
Basic Introduction Flutter Framework.pdf
PhanithLIM
 
dot net
dot netdot net
dot net
sambhajimeher
 

Similar to How to add Custom Font to your iOS-based App? (20)

Ios
IosIos
Ios
 
04 objective-c session 4
04  objective-c session 404  objective-c session 4
04 objective-c session 4
 
BadesahebKBichu
BadesahebKBichuBadesahebKBichu
BadesahebKBichu
 
Getting started with titanium
Getting started with titaniumGetting started with titanium
Getting started with titanium
 
Getting started with Appcelerator Titanium
Getting started with Appcelerator TitaniumGetting started with Appcelerator Titanium
Getting started with Appcelerator Titanium
 
Xamarin Technical Assessment Against Native for Cross Platform Mobile Develop...
Xamarin Technical Assessment Against Native for Cross Platform Mobile Develop...Xamarin Technical Assessment Against Native for Cross Platform Mobile Develop...
Xamarin Technical Assessment Against Native for Cross Platform Mobile Develop...
 
Overview
OverviewOverview
Overview
 
Google MLkit
Google MLkitGoogle MLkit
Google MLkit
 
How to Build Cross-Platform Mobile Apps Using Python
How to Build Cross-Platform Mobile Apps Using PythonHow to Build Cross-Platform Mobile Apps Using Python
How to Build Cross-Platform Mobile Apps Using Python
 
Progressive Web Application by Citytech
Progressive Web Application by CitytechProgressive Web Application by Citytech
Progressive Web Application by Citytech
 
A Comprehensive Guide to Efficiently Writing and Implementing iOS Unit Tests.pdf
A Comprehensive Guide to Efficiently Writing and Implementing iOS Unit Tests.pdfA Comprehensive Guide to Efficiently Writing and Implementing iOS Unit Tests.pdf
A Comprehensive Guide to Efficiently Writing and Implementing iOS Unit Tests.pdf
 
Navya_Resume_New (1)
Navya_Resume_New (1)Navya_Resume_New (1)
Navya_Resume_New (1)
 
Kumar kunal
Kumar kunalKumar kunal
Kumar kunal
 
.Net @ Neev
.Net @ Neev.Net @ Neev
.Net @ Neev
 
A Deep Dive into Android App Development 2.0.pdf
A Deep Dive into Android App Development 2.0.pdfA Deep Dive into Android App Development 2.0.pdf
A Deep Dive into Android App Development 2.0.pdf
 
Streamlined CMS - DrupalCon Session
Streamlined CMS - DrupalCon SessionStreamlined CMS - DrupalCon Session
Streamlined CMS - DrupalCon Session
 
Introducing J2ME Polish
Introducing J2ME PolishIntroducing J2ME Polish
Introducing J2ME Polish
 
iOS-iPhone documentation
iOS-iPhone documentationiOS-iPhone documentation
iOS-iPhone documentation
 
Basic Introduction Flutter Framework.pdf
Basic Introduction Flutter Framework.pdfBasic Introduction Flutter Framework.pdf
Basic Introduction Flutter Framework.pdf
 
dot net
dot netdot net
dot net
 

More from Neev Technologies

Razorfish India (Neev) Corporate Profile
Razorfish India (Neev) Corporate ProfileRazorfish India (Neev) Corporate Profile
Razorfish India (Neev) Corporate Profile
Neev Technologies
 
Adobe Experience Manager (Adobe CQ) Capabilities and Experience @ Neev
Adobe Experience Manager (Adobe CQ) Capabilities and Experience @ NeevAdobe Experience Manager (Adobe CQ) Capabilities and Experience @ Neev
Adobe Experience Manager (Adobe CQ) Capabilities and Experience @ Neev
Neev Technologies
 
Hybris Hackathon - Split Payments in Hybris
Hybris Hackathon - Split Payments in HybrisHybris Hackathon - Split Payments in Hybris
Hybris Hackathon - Split Payments in HybrisNeev Technologies
 
Hybris Hackathon - Data Modeling
Hybris Hackathon - Data ModelingHybris Hackathon - Data Modeling
Hybris Hackathon - Data Modeling
Neev Technologies
 
RazorfishNeev Engagement Process
RazorfishNeev Engagement ProcessRazorfishNeev Engagement Process
RazorfishNeev Engagement Process
Neev Technologies
 
Gameathon @ Neev
Gameathon @ NeevGameathon @ Neev
Gameathon @ Neev
Neev Technologies
 
Building A Jewelry e-store - Now, sell your jewelry to the world!
Building A Jewelry e-store - Now, sell your jewelry to the world!Building A Jewelry e-store - Now, sell your jewelry to the world!
Building A Jewelry e-store - Now, sell your jewelry to the world!
Neev Technologies
 
Neev Load Testing Services
Neev Load Testing ServicesNeev Load Testing Services
Neev Load Testing Services
Neev Technologies
 
Our Experience on Google Map Integration with Apps
Our Experience on Google Map Integration with AppsOur Experience on Google Map Integration with Apps
Our Experience on Google Map Integration with Apps
Neev Technologies
 
Neev Application Performance Management Services
Neev Application Performance Management ServicesNeev Application Performance Management Services
Neev Application Performance Management Services
Neev Technologies
 
Drupal Capabilities @ Neev
Drupal Capabilities @ NeevDrupal Capabilities @ Neev
Drupal Capabilities @ Neev
Neev Technologies
 
Neev CakePHP Managed Services Offerings
Neev CakePHP Managed Services OfferingsNeev CakePHP Managed Services Offerings
Neev CakePHP Managed Services Offerings
Neev Technologies
 
Neev AngularJS Capabilities
Neev AngularJS CapabilitiesNeev AngularJS Capabilities
Neev AngularJS Capabilities
Neev Technologies
 
Mobile Responsive Design @ Neev
Mobile Responsive Design @ NeevMobile Responsive Design @ Neev
Mobile Responsive Design @ Neev
Neev Technologies
 
Business Intelligence Capabilities @ Neev
Business Intelligence Capabilities @ NeevBusiness Intelligence Capabilities @ Neev
Business Intelligence Capabilities @ Neev
Neev Technologies
 
Neev Conversion Strategy Capabilities
Neev Conversion Strategy CapabilitiesNeev Conversion Strategy Capabilities
Neev Conversion Strategy Capabilities
Neev Technologies
 
A Digital Mirror for Luxury Jewelry Stores
A Digital Mirror for Luxury Jewelry StoresA Digital Mirror for Luxury Jewelry Stores
A Digital Mirror for Luxury Jewelry Stores
Neev Technologies
 
Neev Open Source Contributions
Neev Open Source ContributionsNeev Open Source Contributions
Neev Open Source Contributions
Neev Technologies
 
Native Mobile Platforms vs Phonegap – A Comparison
Native Mobile Platforms vs Phonegap – A ComparisonNative Mobile Platforms vs Phonegap – A Comparison
Native Mobile Platforms vs Phonegap – A Comparison
Neev Technologies
 

More from Neev Technologies (20)

Razorfish India (Neev) Corporate Profile
Razorfish India (Neev) Corporate ProfileRazorfish India (Neev) Corporate Profile
Razorfish India (Neev) Corporate Profile
 
Adobe Experience Manager (Adobe CQ) Capabilities and Experience @ Neev
Adobe Experience Manager (Adobe CQ) Capabilities and Experience @ NeevAdobe Experience Manager (Adobe CQ) Capabilities and Experience @ Neev
Adobe Experience Manager (Adobe CQ) Capabilities and Experience @ Neev
 
Hybris Hackathon - Split Payments in Hybris
Hybris Hackathon - Split Payments in HybrisHybris Hackathon - Split Payments in Hybris
Hybris Hackathon - Split Payments in Hybris
 
Hybris Hackathon - Data Modeling
Hybris Hackathon - Data ModelingHybris Hackathon - Data Modeling
Hybris Hackathon - Data Modeling
 
RazorfishNeev Engagement Process
RazorfishNeev Engagement ProcessRazorfishNeev Engagement Process
RazorfishNeev Engagement Process
 
Gameathon @ Neev
Gameathon @ NeevGameathon @ Neev
Gameathon @ Neev
 
Building A Jewelry e-store - Now, sell your jewelry to the world!
Building A Jewelry e-store - Now, sell your jewelry to the world!Building A Jewelry e-store - Now, sell your jewelry to the world!
Building A Jewelry e-store - Now, sell your jewelry to the world!
 
Neev Load Testing Services
Neev Load Testing ServicesNeev Load Testing Services
Neev Load Testing Services
 
Our Experience on Google Map Integration with Apps
Our Experience on Google Map Integration with AppsOur Experience on Google Map Integration with Apps
Our Experience on Google Map Integration with Apps
 
Neev Application Performance Management Services
Neev Application Performance Management ServicesNeev Application Performance Management Services
Neev Application Performance Management Services
 
Drupal Capabilities @ Neev
Drupal Capabilities @ NeevDrupal Capabilities @ Neev
Drupal Capabilities @ Neev
 
Neev CakePHP Managed Services Offerings
Neev CakePHP Managed Services OfferingsNeev CakePHP Managed Services Offerings
Neev CakePHP Managed Services Offerings
 
Neev AngularJS Capabilities
Neev AngularJS CapabilitiesNeev AngularJS Capabilities
Neev AngularJS Capabilities
 
Mobile Responsive Design @ Neev
Mobile Responsive Design @ NeevMobile Responsive Design @ Neev
Mobile Responsive Design @ Neev
 
Business Intelligence Capabilities @ Neev
Business Intelligence Capabilities @ NeevBusiness Intelligence Capabilities @ Neev
Business Intelligence Capabilities @ Neev
 
Neev Conversion Strategy Capabilities
Neev Conversion Strategy CapabilitiesNeev Conversion Strategy Capabilities
Neev Conversion Strategy Capabilities
 
RazorfishNeev - An Overview
RazorfishNeev - An OverviewRazorfishNeev - An Overview
RazorfishNeev - An Overview
 
A Digital Mirror for Luxury Jewelry Stores
A Digital Mirror for Luxury Jewelry StoresA Digital Mirror for Luxury Jewelry Stores
A Digital Mirror for Luxury Jewelry Stores
 
Neev Open Source Contributions
Neev Open Source ContributionsNeev Open Source Contributions
Neev Open Source Contributions
 
Native Mobile Platforms vs Phonegap – A Comparison
Native Mobile Platforms vs Phonegap – A ComparisonNative Mobile Platforms vs Phonegap – A Comparison
Native Mobile Platforms vs Phonegap – A Comparison
 

Recently uploaded

Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
Safe Software
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Product School
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
OnBoard
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
91mobiles
 
Search and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical FuturesSearch and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical Futures
Bhaskar Mitra
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
Product School
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
Product School
 
"Impact of front-end architecture on development cost", Viktor Turskyi
"Impact of front-end architecture on development cost", Viktor Turskyi"Impact of front-end architecture on development cost", Viktor Turskyi
"Impact of front-end architecture on development cost", Viktor Turskyi
Fwdays
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Ramesh Iyer
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
ThousandEyes
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
Cheryl Hung
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
Alison B. Lowndes
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
DianaGray10
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
UiPathCommunity
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
Sri Ambati
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
Elena Simperl
 

Recently uploaded (20)

Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
 
Search and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical FuturesSearch and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical Futures
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
 
"Impact of front-end architecture on development cost", Viktor Turskyi
"Impact of front-end architecture on development cost", Viktor Turskyi"Impact of front-end architecture on development cost", Viktor Turskyi
"Impact of front-end architecture on development cost", Viktor Turskyi
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
 

How to add Custom Font to your iOS-based App?

  • 1. How to add Custom Font to your iOS-based App?
  • 2. About Neev Magento Hybris Commerce SaaS Applications Adobe Marketing Cloud Custom Development Key Company Highlights 300+ team with experience in managing offshore, distributed development. Neev Technologies established in Jan ’05 VC Funding in 2009 By Basil Partners Part of Publicis Groupe Hybris and Adobe CQ centers of Excellence Offices at Bangalore, Gurgaon, Pune, Mumbai Member of NASSCOM Mobile Cloud iPhone Android PhoneGap Windows Phone HTML5 Apps Web AWS Rackspace Joyent Heroku Google Cloud Platform Digital Marketing, CRM, Analytics (Omni-Channel) User Interface Design and User Experience Design Performance Consulting Practices Quality Assurance & Testing Outsourced Product Development Click here to know more about us
  • 3. Reusability of code – The Need • Neev follows the best coding practices to provide the highest quality software. • Reusability helps easily maintain an application. • If the application code is maintainable, then it is more flexible for new and challenging requirements. • In iOS-based Apps, custom fonts can be used in the many places. So, instead of copying the code repetitively, a better approach is to reuse. • iOS, Apple’s mobile operating system, doesn’t support all fonts. Thus, in order to use a custom font, we would need to include that custom font in the project we work on.
  • 4. How to include Custom Font in an iOS App? 1) Add the Custom font required by the application under folder named ‘Fonts’
  • 5. How to include Custom Font in a Project? 2) Add the name of the custom font in ‘.plist’ file with the key “Fonts provided by application” as in the below image.
  • 6. How to include Custom Font in a Project? 3) Check whether the custom font is appearing in the Target -> build phases –> copy bundle resources.
  • 7. How can we implement a custom font in an iOS App? 1) Create the class ‘NVLabel’ as a subclass of ‘UILabel’ as shown below. 2) Add the below code in NVLabel.h file #import <UIKit/UIKit.h> @interface NVLabel : UILabel // NV font is used for automatically setting font and other look and feel // properties of UILabels // Usage: in XIB add a keyValue with key “NVFont” and value “_tile_headerSub_” // refer to util class for more details on values. @property (nonatomic, strong) NSString *NVFont; @end1
  • 8. How can we implement a custom font in an iOS App? 3) Add the below code in the NVLabel.m file { self.NVFont = value; [FontUtil decorate:self]; } } // Only override drawRect: if you perform custom drawing. // An empty implementation adversely affects performance during animation. - (void)drawRect:(CGRect)rect { // Drawing code } */ @end #import “NVLabel.h” #import “FontUtil.h” @implementation NVLabel @synthesize NVFont; - (id)initWithFrame:(CGRect)frame { self = [super initWithFrame:frame]; if (self) { // Initialization code } return self; } -(void) setValue:(id)value forKey:(NSString *)key { if ([key isEqualToString:@"NVFont"])
  • 9. How can we implement a custom font in an iOS App? 4) Create the class FontUtils.h and FontUtils.m // FontUtil.h #import <Foundation/Foundation.h> #import “NVLabel.h” @interface FontUtil : NSObject + (void)decorate:(NVLabel *)label; +(void)decorateView:(UIView *)view; +(UIFont*)robotoCondensedWithSize:(int)size; +(UIFont*)robotoRegularWithSize:(int)size; @end
  • 10. How can we implement a custom font in an iOS App? 5) In the class FontUtils.m, add the following code. NSString *font = label.NVFont; if (font == nil) { return; } // more specific conditions must be checked before generic ones. // Ex: _af_tile_header_ must be checked before _tile_header_ which in turn must be checked before _header_ if ([font hasSuffix:@"_title_Mac_"]){ label.font = [FontUtil robotoItalicWithSize:16]; label.textColor = [UIColor greenColor]; } else if ([font hasSuffix:@"_title_name_2"]){ label.font = [FontUtil robotoCondensedWithSize:18]; label.textColor = [UIColor redColor]; }else if ([font hasSuffix:@"title_sub_3"]){ label.font = [FontUtil robotoCondensedWithSize:14]; // FontUtil.m #import “FontUtil.h” #include <objc/runtime.h> #include “NVLabel.h” @implementation FontUtil +(UIFont*)robotoCondensedWithSize:(int)size{ UIFont *font = [UIFont fontWithName:@"Roboto- Condensed" size:size]; return font; } +(UIFont*)robotoItalicWithSize:(int)size{ UIFont *font = [UIFont fontWithName:@"Roboto- Italic" size:size]; return font; } +(void)decorate:(NVLabel *)label { label.textColor = [UIColor brownColor]; } } +(void)decorateView:(UIView *)view { NSArray *subviews = [view subviews]; for (int i = 0; i < subviews.count; ++i) { UIView *subview = [subviews objectAtIndex:i]; if ([subview isKindOfClass:[NVLabel class]]) { [FontUtil decorate:(NVLabel *)subview]; } else { [FontUtil decorateView:subview]; } } } @end
  • 11. How can we implement a custom font in an iOS App? 6) After addition of the above code to create the required set of files, go to view controller.xib . • Go to show identity inspector • Under Custom class, it should be a subclass of NVLabel • Below ‘User Defined Run-Time Attributes’, add the keypath as NVFont , font as String , Value of the string is in the below format _name_subname_
  • 12. How can we implement a custom font in an iOS App? 7) After adding the user defined attributes , go to FontUtils.m 8) In the method, add the following code: label.font = [FontUtil robotoItalicWithSize:16]; label.textColor = [UIColor greenColor]; } else if ([font hasSuffix:@"_title_name_2"]){ label.font = [FontUtil robotoCondensedWithSize:18]; label.textColor = [UIColor redColor]; }else if ([font hasSuffix:@"title_sub_3"]){ label.font = [FontUtil robotoCondensedWithSize:14]; label.textColor = [UIColor brownColor]; } } +(void)decorate:(NVLabel *)label { NSString *font = label.NVFont; if (font == nil) { return; } // TODO // more specific conditions must be checked before generic ones. // Ex: _af_tile_header_ must be checked before _tile_header_ which in turn must be checked before _header_ if ([font hasSuffix:@"_title_Mac_"]){
  • 13. How can we implement a custom font in an iOS App? 9) In the above code, in if ([font hasSuffix:@"_title_Mac_"]), replace “title Mac” with the value of the string as given in the user defined attributes as in if([font hasSuffix:@”Value given in the user defined attributes”]) 10)Include FontUtil.h in your class. In the ‘viewdidload’ method, call the [FontUtil decorateView:self.view]
  • 14. Final Word • These steps can be used to add any number of custom fonts to an iOS App. • This method can be used for any iOS-based App that requires a custom font to be added to it. • Once the above steps are completed, iOS would allow the App to use the custom font. • To know more about our iOS application development capabilities, visit us here.
  • 15. The Neev Edge • End-to-end consultative approach for software solutions through needs assessment, process consulting and strategic advice. • Internal QMS are ISO 9001-2008 certified and CMM level 3 compliant. • Continuous process and service level improvements through deployment of best-of-breed processes and technologies. • International Standards and best practices on Project Management including PMI, ISO and Prince-2. • Proven EDC Model of delivery to provide predictable results. • Scrum based Agile development methodology.
  • 18. Neev Information Technologies Pvt. Ltd. sales@neevtech.com India - Bangalore The Estate, # 121,6th Floor, Dickenson Road Bangalore-560042 Phone :+91 80 25594416 India - Pune Office No. 4 & 5, 2nd floor, L-Square, Plot No. 8, Sanghvi Nagar, Aundh, Pune - 411007. Phone :+91 20 64103338 For more info on our offerings, visit www.neevtech.com