a:6:{i:0;s:6762:"				<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 indore</h1></div>
					<p class="breadcrumb ar uu small"> <a href="http://www.goodluckconsultancy.com/">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="http://www.goodluckconsultancy.com/current-jobs.htm" title="Current Jobs">Current Jobs</a>  			
											
					<b class="ffv p2px">&rsaquo;</b> Job openings for ios developer in indore</p>
									<div class="pt10px">
				<div class="xxxlarge fw6 dif">Ios Developer</div>
									<p class="mt7px fw6">Indore</p>
									
				<br>
				<p class="aj mt7px">1.proficient with Objective-c or  Swift ,Core Animation, Uiux Standards.<br />
2.strong Knowledge of Xcode & Autolayouts.<br />
3.excellent Understanding of Coding Standards .<br />
4.the Candidate Should have Strong Knowledge of Application Deployment.<br />
5.experience with Ios Frameworks such as Core Data, Core Animation, Etc.<br />
6.experience with Offline Storage, Threading, and Performance Tuning<br />
7.familiarity with Restful Apis to Connect Ios Applications to Back-end  Services<br />
8.knowledge of other Web Technologies and Ui/ux Standards<br />
9.understanding of Apple Design Principles and Interface Guidelines<br />
10.proficient Understanding of Code Versioning Tools {{such as Git, Mercurial or Svn}}<br />
11.familiarity with Continuous Integration.<br />
 Job Roles & Responsibilities:<br />
1. Ios Developer Responsible for the Development and Maintenance of Applications Aimed At a Range of Ios Devices Including Mobile  Phones and Tablet Computers.<br />
2. Your Primary Focus Will Be the Development of Ios Applications and Their Integration with Back-end Services.</p>
				
				<table class="w100 formTable bdr0 mt20px">	
				<tr>
				<td class="w195 alpha75 p5px">Experience</td>
				<td class="p5px">1 - 3 Years</td>
				</tr>			
											<tr>
							<td class="alpha75 p5px">Salary</td>
							<td class="p5px"> 3  Lac  50 Thousand  To  3  Lac  75 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">B.C.A, B.B.A, B.Tech/B.E, M.C.A, M.B.A/PGDM, M.Tech</td>
					</tr>					
										<tr>
					<td class="alpha75 p5px">Key Skills</td>
					<td class="p5px">
											<span class="bdr dib p2px10px mr5px mt2px">Ios Developer</span>
												<span class="bdr dib p2px10px mr5px mt2px"> IOS Development</span>
												<span class="bdr dib p2px10px mr5px mt2px"> IOS</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">Email ID</td>
						<td class="p5px"><a href="mailto:cgoodluck123@gmail.com"> cgoodluck123@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="473040">
					<input type="hidden" name="enq_type" value="2"><input type="hidden" name="vacancy_id" value="906427"><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-indore.htm" title="Jobs in Indore">Indore</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-nagpur.htm" title="Jobs in Nagpur">Nagpur</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-pune.htm" title="Jobs in Pune">Pune</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">(5)</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">(1)</span><a href="jobs-in-system-programming-fid.htm" title="IT Software - System Programming Jobs">IT Software - System Programmi...</a></p>
										<p class="mb5px "><span class="fr">(1)</span><a href="jobs-in-advertisement-marketing-fid.htm" title="Marketing / Advertising / PR / Media Planning Jobs">Marketing / Advertising / PR /...</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: 'OXpycEErc2R4R0pOaFF4MndSVmYrZz09',data_type: 'RExzRmw1cmRsdlh6YkJlVUZBNnA4UT09'},
	  cache : false,
	  async: true
	  
	}).done(function(resp) {
	  //alert(resp)
	});
	</script>
	";i:1;s:72:"Job openings for ios developer in indore | Goodluck Consultancy Services";i:2;s:174:"Ios Developer Jobs,Ios Developer Jobs in Indore,Ios Developer Vacancy in Indore,Ios Developer jobs in India,IT Software - Application Programming / Maintenance jobs in Indore";i:3;s:291:"Apply for Ios Developer Jobs in Indore India - Ios Developer Vacancy  in IT Software - Application Programming / Maintenance field with 1 to 3 years Work Experience, Key Skills are Ios Developer, IOS Development, IOS, IT Software - Application Programming / Maintenance jobs in Indore  India";i:4;s:1813:"
		<script type="application/ld+json">
		{
		  "@context": "http://schema.org",
		  "@type": "JobPosting",
		  "title": "Ios Developer",
		  "baseSalary": " 3  Lac  50 Thousand  To  3  Lac  75 Thousand ",
		  "description": "1.proficient with Objective-c or  Swift ,Core Animation, Uiux Standards.
2.strong Knowledge of Xcode & Autolayouts.
3.excellent Understanding of Coding Standards .
4.the Candidate Should have Strong Knowledge of Application Deployment.
5.experience with Ios Frameworks such as Core Data, Core Animation, Etc.
6.experience with Offline Storage, Threading, and Performance Tuning
7.familiarity with Restful Apis to Connect Ios Applications to Back-end  Services
8.knowledge of other Web Technologies and Ui/ux Standards
9.understanding of Apple Design Principles and Interface Guidelines
10.proficient Understanding of Code Versioning Tools {{such as Git, Mercurial or Svn}}
11.familiarity with Continuous Integration.
 Job Roles & Responsibilities:
1. Ios Developer Responsible for the Development and Maintenance of Applications Aimed At a Range of Ios Devices Including Mobile  Phones and Tablet Computers.
2. Your Primary Focus Will Be the Development of Ios Applications and Their Integration with Back-end Services.",
		  "educationRequirements": "B.C.A, B.B.A, B.Tech/B.E, M.C.A, M.B.A/PGDM, M.Tech",
		  "experienceRequirements": "1 - 3 Years",
		  "industry": "IT Software - Application Programming / Maintenance",
		  "jobLocation": {
		    "@type": "Place",
		    "address": {
		      "@type": "PostalAddress",
		      "addressLocality": "Madhya Pradesh",
		      "addressRegion": "Indore"
		    }
		  },
		 "qualifications": "B.C.A, B.B.A, B.Tech/B.E, M.C.A, M.B.A/PGDM, M.Tech",
		     "skills": "Ios Developer, IOS Development, IOS"
		  }
		</script>
		";i:5;N;}