a:6:{i:0;s:8271:"				<section id="middle">
				<div class="wrap" id="bodyFormatNT">
				<div class="row1 dt columns23"><!--MIDDLE ROW1 STARTS-->
				<div class="col-2 wideColumn ip ls detail_pm_15"><!--MIDDLE ROW1 COL-2 STARTS-->
				
									<div class="h1"><h1>Job openings for ios developer in delhi ncr</h1></div>
					<p class="breadcrumb ar uu small"> <a href="http://www.krfacilities.com/">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="http://www.krfacilities.com/current-jobs.htm" title="Current Jobs">Current Jobs</a>  			
											
					<b class="ffv p2px">&rsaquo;</b> Job openings for ios developer in delhi ncr</p>
									<div class="pt10px">
				<div class="xxxlarge fw6 dif">Ios Developer</div>
								
				<br>
				<p class="aj mt7px">1+ Years of Experience Building Mobile Products<br />
functional Roles and Responsibilities:-<br />
good Understanding of Swift, Objective C (basics) and Cocoa Touch.<br />
good Understanding of Software Development Life Style.<br />
have Worked Independently On Ios Applications as per the Business Requirements.<br />
ability to Design to Native Ios Designs Supporting Multiple Screens Sizes.<br />
understanding of Design Architecture such as Mvc or Mvvm.<br />
understanding of Apples Design Principles and Interface Guidelines.<br />
experience in Developing Custom Layouts Based On Requirements.<br />
understanding of User Interaction Concept and Differences Between Ipad and Iphone Versions of Ios<br />
essential Skill Set:-<br />
adequate Experience On Swift and Ios Sdk.<br />
experience of Publishing the App On to Apple Store.<br />
strong Object Oriented Programming Skills and Understanding of Mvc Pattern, Xml, Json, Handling Web Services and Sql Lite Database or Coredata.<br />
experience in Full Mobile Software Development Life Cycle Required I.e., Design, Coding, Integration and Unit Testing.<br />
experience On Memory Management and Caching Mechanisms On Ios Devices.<br />
exposure to Agile Development Process<br />
knowledge Stack (you Should have Experience With):<br />
- Coredata<br />
- Alamofire</p>
				
				<table class="w100 formTable bdr0 mt20px">	
				<tr>
				<td class="w195 alpha75 p5px">Experience</td>
				<td class="p5px">1 - 5 Years</td>
				</tr>			
											<tr>
							<td class="alpha75 p5px">Salary</td>
							<td class="p5px"> 1  Lac  75 Thousand  To  3  Lac  50 Thousand  P.A.</td>
							</tr>				
											
					<tr>
					<td class="alpha75 p5px">Industry</td>
					<td class="p5px">IT Software - Application Programming / Maintenance</td>
					</tr>
									
									<tr>
					<td class="alpha75 p5px">Qualification</td>
					<td class="p5px">Diploma, Other Bachelor Degree</td>
					</tr>					
										<tr>
					<td class="alpha75 p5px">Key Skills</td>
					<td class="p5px">
											<span class="bdr dib p2px10px mr5px mt2px">IOS Development</span>
												<span class="bdr dib p2px10px mr5px mt2px"> IOS </span>
												<span class="bdr dib p2px10px mr5px mt2px"> IOS Programming</span>
											</td>
					</tr>
									
				</table>
				</div>
				<br>
				<div class="pt20px">
				<p class="large fw6">About Company</p>
				<div class="mt10px">
				
									<table class="w100 formTable bdr0 mt5px">
											<tr>
						<td class="w195 alpha75 p5px vat">Company Name</td>
						<td class="p5px vat"><p class="dif b">KRF</p></td>
						</tr>
												<tr>
						<td class="w195 alpha75 p5px vat">About Company</td>
						<td class="p5px vat">Placement Company</td>
						</tr>
												<tr>
						<td class="w195 alpha75 p5px">Email ID</td>
						<td class="p5px"><a href="mailto:krf.hrd@gmail.com"> krf.hrd@gmail.com </a></td>
						</tr>
										
					</table>
									
				<br />
				
									
					<div class="bdrT pt20px">
					<form name="frmvacdetail" method="post" action="enquiry-form-10009.htm">
					<input style="padding:7px 15px;" class="button b ffos" type="submit" value="APPLY NOW !" />
					<input type="hidden" name="catalog_mi" value="321195">
					<input type="hidden" name="enq_type" value="2"><input type="hidden" name="vacancy_id" value="895884"><input type="hidden" name="subject" value="Applied for Ios Developer">
					</form>
					</div>
			
									</div>
				</div>			
				
				<!--MIDDLE ROW1 COL-2 ENDS--> 
				</div>
				<div class="col-3 thinColumn"><!--MIDDLE ROW1 COL-1 STARTS-->
				
				<div class="column_Box mc">
				<div class="tcl bullet divider">
				<div class="large fw6 alpha75 p12px bdrB">
				<h2>Jobs by Location</h2>
				</div>
				<div class="ic">
				<div class="mt10px">
									<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-gurgaon.htm" title="Jobs in Gurgaon">Gurgaon</a> <b class="alpha50 bn small">(18)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-ghaziabad.htm" title="Jobs in Ghaziabad">Ghaziabad</a> <b class="alpha50 bn small">(17)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-noida.htm" title="Jobs in Noida">Noida</a> <b class="alpha50 bn small">(10)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-delhi.htm" title="Jobs in Delhi">Delhi</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-faridabad.htm" title="Jobs in Faridabad">Faridabad</a> <b class="alpha50 bn small">(1)</b></span>
									</div>
				</div>
				</div>
				</div>
				
				<div class="column_Box mc">
				<div class="tcl bullet divider">
				<div class="large fw6 alpha75 p12px bdrB">
				<h2>Jobs by Functional Area</h2>
				</div>
				<div style="padding:10px 18px;" class="ic">
									<p class="mb5px "><span class="fr">(27)</span><a href="jobs-in-sales-marketing-fid.htm" title="Sales/Marketing Jobs">Sales/Marketing</a></p>
										<p class="mb5px "><span class="fr">(15)</span><a href="jobs-in-application-programming-fid.htm" title="IT Software - Application Programming / Maintenance Jobs">IT Software - Application Prog...</a></p>
										<p class="mb5px "><span class="fr">(7)</span><a href="jobs-in-front-office-data-entry-fid.htm" title="Front Office / Executive Assistant / Data Entry Jobs">Front Office / Executive Assis...</a></p>
										<p class="mb5px "><span class="fr">(2)</span><a href="jobs-in-accounting-tax-fid.htm" title="Accounting / Auditing / Taxation Jobs">Accounting / Auditing / Taxati...</a></p>
										<p class="mb5px "><span class="fr">(2)</span><a href="jobs-in-advertisement-marketing-fid.htm" title="Marketing / Advertising / PR / Media Planning Jobs">Marketing / Advertising / PR /...</a></p>
										<p class="mb5px "><span class="fr">(1)</span><a href="jobs-in-property-construction-fid.htm" title="Real Estate / Construction Jobs">Real Estate / Construction</a></p>
										<p class="mb5px "><span class="fr">(1)</span><a href="jobs-in-public-relation-fid.htm" title="Public Relation Jobs">Public Relation</a></p>
									
				</div>
				</div>
				</div>
				
				</div>
				<!--MIDDLE ROW1 COL-1 ENDS-->
				
				<!--MIDDLE ROW1 ENDS--> 
				</div>
				<br><br>
				</div>
				</section>
				<script>
					window.addEventListener("DOMContentLoaded", function(){
						jQuery(document).on("click", ".showallspan", function(){
							if(jQuery(this).attr("data-target") === 'show'){
								jQuery(this).text("View Less");
								jQuery(this).attr("data-target", "hide");
								jQuery(this).closest("div").find(".spanlist").removeClass("dn");
							}else{
								jQuery(this).text("View More");
								jQuery(this).attr("data-target", "show");
								jQuery(this).closest("div").find(".spanlist").addClass("dn");
							}
						});
					});
				</script>
					<script>
	$.ajax({
	  url: "https://www.placementindia.com/job_posting_view.php",
	  type: "POST",
	  dataType: 'html',
	  data: {job_view_id: 'eUdWQS9YYnZkSURiZzdrbTlKdFB1QT09',data_type: 'RExzRmw1cmRsdlh6YkJlVUZBNnA4UT09'},
	  cache : false,
	  async: true
	  
	}).done(function(resp) {
	  //alert(resp)
	});
	</script>
	";i:1;s:59:"Job openings for ios developer in delhi ncr | KR Facilities";i:2;s:156:"Ios Developer Jobs,Ios Developer Jobs in ,Ios Developer Vacancy in ,Ios Developer jobs in India,IT Software - Application Programming / Maintenance jobs in ";i:3;s:282:"Apply for Ios Developer Jobs in  India - Ios Developer Vacancy  in IT Software - Application Programming / Maintenance field with 1 to 5 years Work Experience, Key Skills are IOS Development, IOS , IOS Programming, IT Software - Application Programming / Maintenance jobs in   India";i:4;s:1957:"
		<script type="application/ld+json">
		{
		  "@context": "http://schema.org",
		  "@type": "JobPosting",
		  "title": "Ios Developer",
		  "baseSalary": " 1  Lac  75 Thousand  To  3  Lac  50 Thousand ",
		  "description": "1+ Years of Experience Building Mobile Products
functional Roles and Responsibilities:-
good Understanding of Swift, Objective C (basics) and Cocoa Touch.
good Understanding of Software Development Life Style.
have Worked Independently On Ios Applications as per the Business Requirements.
ability to Design to Native Ios Designs Supporting Multiple Screens Sizes.
understanding of Design Architecture such as Mvc or Mvvm.
understanding of Apples Design Principles and Interface Guidelines.
experience in Developing Custom Layouts Based On Requirements.
understanding of User Interaction Concept and Differences Between Ipad and Iphone Versions of Ios
essential Skill Set:-
adequate Experience On Swift and Ios Sdk.
experience of Publishing the App On to Apple Store.
strong Object Oriented Programming Skills and Understanding of Mvc Pattern, Xml, Json, Handling Web Services and Sql Lite Database or Coredata.
experience in Full Mobile Software Development Life Cycle Required I.e., Design, Coding, Integration and Unit Testing.
experience On Memory Management and Caching Mechanisms On Ios Devices.
exposure to Agile Development Process
knowledge Stack (you Should have Experience With):
- Coredata
- Alamofire",
		  "educationRequirements": "Diploma, Other Bachelor Degree",
		  "experienceRequirements": "1 - 5 Years",
		  "industry": "IT Software - Application Programming / Maintenance",
		  "jobLocation": {
		    "@type": "Place",
		    "address": {
		      "@type": "PostalAddress",
		      "addressLocality": "Delhi/NCR",
		      "addressRegion": ""
		    }
		  },
		 "qualifications": "Diploma, Other Bachelor Degree",
		     "skills": "IOS Development, IOS , IOS Programming"
		  }
		</script>
		";i:5;N;}