# Native Code > برنامه نویسی موبایل > برنامه نویسی iOS با Objective C و Swift >  برنامه نویسی آیفون در ویندوز!!!!!!

## prpe26

با سلام.

حتما شما هم مثل من و خیلی افراد اپل دوست دیگه از نبود SDK اختصاصی ویندوز برای آیفون ناراحتید؛

اما جای نگرانی نیست.

من در اینجا چندین برنامه قدرتمند معرفی میکنم تا شما بتونید از امکانات برنامه نویسی در ویندوز استفاده کنید!!!!

1- ادوب فلش:

این سوییت؛ قدرتمند ترین سوییت ساخت برنامه برای آیفون و آندروید در ویندوز است(آموزش برنامه نویسیشو بزودی قرار میدم)

2- دراگون فایر:

ابزاری برای نوشتن برنامه به زبان سی/سی++ در ویندوز. منتهی این سویت متاسفانه پولی هست و علاوه بر هزینه ثبت در اپ استور هزینه خرید برنامه نیز هست :خیلی عصبانی: 

3- موبی وان:

این برنامه؛ یک سوییت کامل و باز هم پولی هست که با آبجکتو سی کار میکنه. البته نسخه آزمایشیش هم هست.

4- سنتانزا:

این برنامه هم فایل های HTML رو به برنامه برای آیفون تبدیل میکنه.....

لینک دانلودشم بزودی قرار میدم.

5- plist Editor:
برنامه ای برای نوشتن فایلهای plist در ویندوز هست......

موفق باشید :چشمک:

----------


## vcldeveloper

می تونید از دلفی نسخه XE2 هم استفاده کنید. دلفی نسخه XE2 یک IDE تحت ویندوز برای تولید نرم افزارهای ویندوز، مک، و iOS (سیستم عامل به کار رفته در iPhone و iPad) هست. IDE تحت ویندوز یعنی اینکه شما برنامه مورد نظرتان را در داخل ویندوز طراحی و کد نویسی می کنید، اما در زمان اجرای برنامه، در صورتی که یک نسخه از مک را با کامپیوتر خودتان شبکه کرده باشید (یا در داخل ماشین مجازی از آن استفاده کنید)، دلفی میتونه برنامه ساخته شده را به اون مک منتقل کنه، و در همانجا آن را برای شما اجرا کنه، و قابلیت remote debugging رو هم بهتون بده، تا بدون دردسر بتونید برنامه تون رو دیباگ کنید.

البته قابلیت پشتیبانی از iOS تازه به دلفی اضافه شده، به همین دلیل هم در نگارش فعلی، تولید نرم افزار iOS در دو مرحله انجام میشه، مرحله اول ساخت نرم افزار در داخل IDE دلفی در ویندوز هست که در این مرحله دلفی یک پروژه XCode برای شما ایجاد میکنه، و در مرحله دوم باید اون پروژه XCode را در داخل XCode باز و کامپایل کنید، تا فایل باینری نهایی ایجاد بشه. این حالت وابستگی به XCode موقتی و به دلیل آماده نبودن کامپایلر ARM دلفی هست. شرکت تولید کننده اعلام کرده که این وابستگی به XCode را به زودی برطرف میکنه، ولی هنوز مشخص نیست که آیا این قابلیت در همین نسخه XE2 در قالب یک بروز رسانی اضافه میشه، یا اینکه در تابستان سال آینده همراه با نسخه XE3 عرضه خواهد شد.

یک نمونه برنامه iOS نوشته شده با استفاده از دلفی رو می تونید در ویدئو موجود در لینک زیر ببینید:
http://www.andreanolanusse.com/en/vi...s-mac-and-ios/

----------


## prpe26

خب ادوبی فلش با یک فایل Fake-Cert به تنهایی خروجی ipa میده!

که این خودش یعنی این که کاملترین سوییت نرم افزاری برای ساخت اپلیکیشن های آیفون هست....

کلا دلفی در مقابل دراگون فایر  و فلش هیچ حرفی برای گفتن نداره!

----------


## vcldeveloper

> خب ادوبی فلش با یک فایل Fake-Cert به تنهایی خروجی ipa میده!
> 
> که این خودش یعنی این که کاملترین سوییت نرم افزاری برای ساخت اپلیکیشن های آیفون هست....


نرم افزارهای مبتنی بر فلش قانونا حق انتشار در فروشگاه اپل را ندارند، و فقط به درد دستگاه های jailbreak شده می خورند. از قضیه قانونی اش هم که بگذریم، نرم افزارهای فلش به صورت JIT کامپایل میشند و ماشین مجازی فلش هم برای iOS بهینه سازی نشده، به همین جهت کارایی چندان بالایی ندارند. اون چیزی که دلفی عرضه میکنه نرم افزار Native Code هست، و رابط گرافیکی هم که ارائه میکنه، با وجود vector-based و GPU-accelerate بودن، کاملا Native و بدون نیاز به هر گونه کتابخانه یا ابزار خارجی، به جز فایل اجرایی برنامه، هست. پس ادعای اینکه "کلا دلفی در مقابل دراگون فایر  و فلش هیچ حرفی برای گفتن نداره!" بخصوص در شرایطی که هنوز کمتر از یک ماه هست که دلفی XE2 عرضه شده، و شک دارم نویسنده پست قبلی حتی آن را تا به حال از نزدیک دیده باشه، ادعای بیخودی هست.

نکته دوم هم اینکه دلفی صرفا یک ابزار تولید نرم افزار مبتنی بر iOS نیست، بلکه یک ابزار توسعه cross-platform هست، که iOS یکی از پلت فرم های مورد پشتیبانی اون هست. این مسئله وقتی مهم میشه که بدونیم پلت فرم های موبایل و تبلت بیشتر به عنوان یک بازار جانبی بالقوه محسوب میشند، و کمتر به عنوان بازار اصلی مورد هدف قرار می گیرند. این یعنی؛ اکثر شرکت های توسعه دهنده نرم افزار مبتنی بر موبایل یا تبلت برخی از سرویس ها یا نرم افزارهای موجود خودشان را به صورت نرم افزار موبایل یا تبلت منتشر می کنند. ابزارهای cross-platform در همچین بازاری این امکان را به توسعه دهنده میدن که بتونند با حداقل تغییرات برای سرویس یا نرم افزار اصلی خودشان نرم افزارهای موبایل هم طراحی کنند.

----------


## prpe26

نه خیر!

شما میتونید در زمان کامپایل کردن برنامه با فلش Deployment رو برای AppStore انتخاب کنید!

در ضمن در فلش نصب بیشتر مراحل به طراحی گرافیکی میگذره که در دلفی باید اکثر مراحل رو با کدنویسی گذروند!!!!!!

----------


## vcldeveloper

> در ضمن در فلش نصب بیشتر مراحل به طراحی گرافیکی میگذره که در دلفی باید اکثر مراحل رو با کدنویسی گذروند!!!!!!


دوست عزیز، یک محبتی به خودت بکن، و وقتی از چیزی اطلاع نداری، درباره اش اظهار نظر نکن! شما یک بار تشریف ببر محیط دلفی XE2 رو باز کن، Form Designer اش را ببین، بعدش بیا اینجا درباره اش اظهار نظر کن. از اون گذشته، کدنویسی جزئی از تولید نرم افزار هست. مگه اون ابزار دراگون فایر تحت ++C که در پست قبلی ازش تعریف می کردید، بدون کد نویسی کار می کرد؟! در ضمن، همانطور که در پست قبلی هم گفتم، دلفی برای iOS کد ماشین تولید میکنه، نه مثل فلش که کد میانی تولید میکنه و بعدا این کد باید روی سیستم مقصد JIT بشه.




> شما میتونید در زمان کامپایل کردن برنامه با فلش Deployment رو برای AppStore انتخاب کنید!


اپل اجازه انتشار نرم افزارهای مبتنی بر فلش رو بر روی فروشگاه خودش برای iOS نمیده. اجازه دانلود فلش پلیر یا فایل های مورد نیاز برای اجرای برنامه های فلش روی iOS رو هم نمیده. تولید نرم افزار برای iOS با استفاده از فلش قانونا امکان پذیر نیست، مگر اینکه کد تولید شده توسط فلش در بین راه توسط یک ابزاری به Objective-C یا سایر زبان های مجاز شناخته شده توسط اپل تبدیل بشه، و سپس اون کد تبدیل شده برای iOS کامپایل بشه. کینه اپل شتریه؛ همه میدونند که اپل و ادوبی با هم مثل کارد و پنیر هستند، و اپل هر وقتی که فرصتی پیدا کنه، نیشی به ادوبی میزنه.

----------


## Nima NT

یعنی برای کامپایل یک برنامه برای iOS باید یک بار عمل کامپایل توسط XCode درون سیستم عامل Mac نیز صورت بگیره ؟
ممنونم.

----------


## prpe26

این یعنی چی؟یعنی میشه ثبت کرد......



ثبت در اپ استور نیازمند برنامه به شکل Binary هست.....

ادوبی فلش چه در مک و چه در ویندوز توسط اپل تایید شده..

ولی دلفی رو بعید میدونم اپل تایید کنه چون ریشه در پاسکال داره و یک خط برنامه در مک نمیبنید که حرفی از پاسکال درونش باشه !

----------


## prpe26

> یعنی برای کامپایل یک برنامه برای iOS باید یک بار عمل کامپایل توسط XCode درون سیستم عامل Mac نیز صورت بگیره ؟
> ممنونم.


نه همین ویندوز هم میتونه بهت کمک کنه.

مخصوصا اگر خیلی حرفه ای نیستی همین فلش رو استفاده کن ;)

----------


## Nima NT

شما چه گیری دادی به فلش ؟!



> نه همین ویندوز هم میتونه بهت کمک کنه.


منظورم با فلش و ... نیست ، در استفاده از دلفی XE2 میپرسم که آیا لازم هست کد تولید شده دوباره به MacOS منتقل بشه و اونجا هم کامپایل بشه یا خیر از محیط ویندوزی میشه فایل اجرایی لازم جهت اجرا روی Mac رو تولید کرد ؟

----------


## prpe26

> شما چه گیری دادی به فلش ؟!
> 
> منظورم با فلش و ... نیست ، در استفاده از دلفی XE2 میپرسم که آیا لازم هست کد تولید شده دوباره به MacOS منتقل بشه و اونجا هم کامپایل بشه یا خیر از محیط ویندوزی میشه فایل اجرایی لازم جهت اجرا روی Mac رو تولید کرد ؟


نیاز به مک داری؛ ولی میتونی هکینتاش نصب کنی و از ایکس کد استفاده کنی.

----------


## vcldeveloper

> ولی دلفی رو بعید میدونم اپل تایید کنه چون ریشه در پاسکال داره و یک خط برنامه در مک نمیبنید که حرفی از پاسکال درونش باشه !


خیالت راحت، برنامه های تولیدی توسط دلفی قانونا اجازه انتشار در فروشگاه اپل رو دارند، و از این نظر هیچ مشکلی ندارند.




> یعنی برای کامپایل یک برنامه برای iOS باید یک بار عمل کامپایل توسط XCode درون سیستم عامل Mac نیز صورت بگیره ؟


فعلا بله؛ علتش هم اینه که در نسخه فعلی کامپایلر دلفی همچنان برای X86 کد تولید میکنه، نه برای ARM، به همین جهت، برای کامپایل برنامه های iOS وابسته به کامپایلر Free Pascal هست، که در XCode موجوده. در حال حاضر دلفی به شما این اجازه رو میده که برنامه iOS خودتون رو در داخل ویندوز توسعه بدید، و حتی به صورت یک برنامه ویندوزی اجرا کنید (البته مسلمه که قابلیت های اختصاصی iOS روی ویندوز کار نخواهند کرد). وقتی کار به جایی رسید که باید برنامه را روی شبیه ساز iPhone یا iPad دیباگ کنید، دلفی یک پروژه XCode براتون میسازه، و فایل های مورد نیاز رو هم به سیستم مک شما ارسال میکنه، و پروژه را در XCode براتون باز میکنه. از اینجا به بعد رو باید در XCode دنبال کنید؛ یعنی دیباگ برنامه در شبیه ساز، و نهایتا کامپایل و ارسال برنامه به دستگاه استفاده کننده.

البته این مراحل موقتی هستند. تیم توسعه دلفی اعلام کرده که استفاده از Free Pascal موقتی هست، و بزودی کامپایلر ARM دلفی هم آماده میشه، و در اون صورت، دیگه نیازی به Free Pascal و XCode نخواهد بود. اون وقت می تونید برنامه را در دلفی بنویسید، و مستقیما در مک روی شبیه ساز اجرا کنید. زمان دقیق عرضه کامپایلر ARM رسما اعلام نشده، ولی اون چیزی که برنامه نویسان و مدیران تیم دلفی در نیوز گروپ هاشون درباره اش صحبت کردند، این کامپایلر یا به صورت یک آپدیت برای همین نسخه XE2 فعلی منتشر میشه (برای XE2 هر ماه یک آپدیت جدید منتشر خواهد شد)، یا اینکه نهایتا در نسخه بعدی دلفی در تابستان سال آینده منتشر میشه. تاکید نسخه آینده دلفی بیشتر روی اندروید و احتمالا ویندوز 8 خواهد بود. با توجه به اینکه اندروید و نسخه ARM ویندوز 8 هر دو نیاز به کامپایلر ARM دارند، اگر هم بر فرض کامپایلر ARM برای iOS به عنوان آپدیت جدید برای XE2 منتشر نشه، ناچارا باید برای XE3 منتشر بشه، تا پشتیبانی از اندروید و ویندوز 8 مبتنی بر ARM در اون نسخه عملی بشه.

نکته آخر هم اینکه، توسعه نرم افزار برای iOS همیشه مستلزم داشتن یک نسخه دسکتاپ از سیستم عامل های مک هست، چون شرکت اپل SDK و شبیه ساز iOS را برای هیچ سیستم عاملی به جز سیستم عامل های خودش منتشر نمیکنه. پس اینطور نمیشه که شما در دلفی برنامه را بنویسید، در همان محیط ویندوز یک پنجره شبیه ساز iOS باز بشه، و برنامه شما در داخل آن اجرا بشه، بلکه برنامه شما در ویندوز توسعه داده میشه، ولی موقع اجرا توسط دلفی به سیستم مک شما منتقل میشه و در آنجا اجرا میشه، و به صورت remote debugging دیباگ میشه.

----------


## prpe26

باشه ولی چرا لقمه رو دور سرمون بچرخونیم؟

فلش با امکانات بالا و کدنویسی کم ...........

چی بهتر از این؟

----------


## prpe26

برنامه ساخته شده با فلش در اپ استور:

http://itunes.apple.com/us/app/red-h...331140070?mt=8

و یک نکته در مورد Jailbreak:

جیلبرک صرفا یک ابزار برای نصب برنامه های کرک شده نیست چون برنامه کرک شده رو میشه توسط یک فایل cert معتبر و iResign به حالت اولیه برگردوند و ازش بدون جیلبرک هم استفاده کرد.

جیلبرک رمز گشایی (Decryption) فایل سیستم رو بر عهده داره تا شما بتونید به Private دسترسی داشته باشید و برنامه هایی که توسط Debian Packager ران میشن رو اجرا کنید.

البته این رمزگشایی هم مراحل خاص خودش رو داره که از عهده این مطلب خارج هست  :چشمک:

----------


## prpe26

خب دوستان Adobe flex هم یک سوئیت کامل و جامع برای خلق برنامه های Native برای iPhone به زبان XML هست!

خوبی Flex SDK و  AIR SDK این هست که برای آندروید هم خروجی میدن و دولپر هایی که نیاز به مولتی پلتفرم بودن برنامه دارند به راحتی فقط با تغییر چند کاراکتر میتونن برنامه رو روی یک پلتفرم دیگه هم استتفاده کنند  :چشمک:

----------


## u.2u.4u

دوستان چرا بحث به این جالبی را ادامه نمی دید و از کلی گویی و جملات مبهم یه کم بیشتر وارد جزئیات نمی شید؟ من خیلی علاقه دارم توی این زمینه وارد بشم.



> خوبی Flex SDK و  AIR SDK این هست که برای آندروید هم خروجی میدن و دولپر  هایی که نیاز به مولتی پلتفرم بودن برنامه دارند به راحتی فقط با تغییر چند  کاراکتر میتونن برنامه رو روی یک پلتفرم دیگه هم استتفاده کنند


لطفا یه دوست بیطرف و بی غرض نقاط قوت و ضعف هر کدوم از روشها را بگن. و البته اگر تونستیم برنامه قابل فروش بنویسیم هر حق و حسابی باشه به اپل می دیم، اما با کدومیکی از روشها می شه در ابتدا کم هزینه تر و ساده تر کار کرد. آیا منبع آموزشی خوب فارسی هم وجود داره؟ خیلی وقته که از اولین پست گذشته:



> شرکت تولید کننده اعلام کرده که این وابستگی به XCode را به زودی برطرف  میکنه، ولی هنوز مشخص نیست که آیا این قابلیت در همین نسخه XE2 در قالب یک  بروز رسانی اضافه میشه، یا اینکه در تابستان سال آینده همراه با نسخه XE3  عرضه خواهد شد.


آیا هنوز نیومده؟
چه خوب می شد اگر این انجمن فعالتر بود

----------


## smartchain

سلام

اگر کسی برنامه نویسی آیفون بلده لطفاً پیغام خ بده مرسی

----------


## BOB

سلام

چند برنامه نوشته شده با Adobe AIR در iTunes:
http://www.yeahbutisitflash.com/?p=4536

----------


## A.Del Piero

ممنون از مطالب خوبتون سنتانزا برای برنامه نویسی با HTML هست ؟منظورتون همون phonegap و دیگر برنامه های مبتنی بر html5 هست؟گفته بودید براش لینک قرار میدید! لطف میکنید لینکش رو بذارید ؟

----------


## behnam-k

سلام خدمت جناب مدير و دوستان
من آشنايي كمي با دلفي دارم. با اين وصف ميخواستم بدونم كد نويسي ios رو با همون دلفي آموزش ببينم بهتره يا برم آموزش xcode رو شروع كنم. 
خواهشن از ديد ادامه تا رده حرفه اي و كامل جراب بديد. 
ممنون

----------


## مهدی عباس پور

سلام دوست عزیز 
من با Phonegap , Xcode , xamarin 
برای ای او اس برنامه نوشتم ولی به نظر  من native با xcode  بهتر هستش 
اگه C#‎ کار کردی xamarin هم گزینه بدی نیست  از بقیه کراس پلتفرم ها بهتره

----------


## smemamian

> سلام دوست عزیز 
> من با Phonegap , Xcode , xamarin 
> برای ای او اس برنامه نوشتم ولی به نظر  من native با xcode  بهتر هستش 
> اگه C#‎‎ کار کردی xamarin هم گزینه بدی نیست  از بقیه کراس پلتفرم ها بهتره


Xcode حتماً نیاز به مک داره دیگه درسته *؟*

----------


## مهدی عباس پور

سلام بله 
می تونی با vmWare هم کار کنی 
search کنی تو سایت های ایرانی واسه دانلود هستش

----------


## jd.mn98

من سی شارپ کار کردم و می خوام بدونم xamarin رو از کجا میشه به طور کامل دانلود کرد. چون من از خود سایت xamarin گرفتم ولی یه فایل کم حجم بود که باید کلی دانلود میکرد. حالا اگه لینکی هست که بشه اونو یک جا و کامل دانلود کرد لطفا قرار بدید. درضمن برای آندروید هم میخوام بنویسم و ابزارش رو دارم ولی این xamarin برای نصبش باید دوباره همین ابزار هایی رو که برای آندروید هم دارم دانلود بکنه. و من نمیخوام که اینا رو دانلود حالا اگه لینکی برای xamarin هست قرار بدید.
یه سوال بهترین زبان برای برنامه نویسی ios چیه؟؟ من شندیم یه زبان جدید به نام swift اومده که برای اپله.

----------


## مهدی عباس پور

سلام
زبان برنامه نویسی محصولات apple OBjective-c , SWIFT هستش
حجم xamarin زیاده نمی تونم براتون آپ کنم

----------


## saeed74

اگه سیستم یا لپتاب قوی ای داشته باشین ( ترجیحا با پردازنده شرکت اینل ) خیلی راحت میتونید با نصب هکینتاش (hackintash) روی یک سیستم ویندوزی سیستم عامل مک رو اجرا کنید و با X code توسعه بدین...

----------

