اطلاعیه

Collapse
هیچ اطلاعیه ای هنوز ایجاد نشده است .

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

Collapse
این تاپیک مهم علامت‌گذاری شده است.
X
X
 
  • فیلتر
  • زمان
  • نمایش
پاک کردن همه
new posts

  • آموزش برنامه نویسی آیفون (قسمت اول)



    سلام دوستان .. از اونجایی که میدونم خیلی از شما علاقه زیادی دارید که واسه آیفون برنامه بسازید تصمیم گرفتم که آموزش برنامه نویسی آیفون رو تا اونجایی که بلدم یاد بدم . قبل از شروع کار باید چندین نکته رو بگم که من به طور تجربی و از روی کتاب های انگلیسی و مقاله و ... یاد گرفتم ، پس اگه جایی در آموزش کم تجربگی و اشتباهی هست منو ببخشید و حتما درستش رو بیان کنید .
    آیا برای برنامه نویسی آیفون نیاز هست من زبان های دیگه مثل C++ و ... بلد باشم ؟

    خیر نیازی نیست ، شاید ممکن باشه دونستن زبان های دیگه برای درک بهتر از Obj C کمک کنه اما به طور مستقیم هیچگونه کمکی نمیکنه پس ، نگران این موضوع نباشید .
    من که چیزی بلد نیستم باید از کجا و با چه نرم افزاری شروع کنم؟
    1- برای برنامه نویسی آیفون شما به برنامه iPhone SDK 3.0که میتونید از فروشگاه سایت همراه با پکیج mac Tool Box تهیه کنید .
    و یا با داشتن اپل id از سایت زیر دانلود کنید . و اگر کاربر بخش ویژه باشید میتونید بطور مستقیم از سایت دانلودکنید .
    iPhone Dev Center - Apple Developer Connection
    2- این برنامه فقط بر روی سیستم عامل مک قابل اجراست ، زیاد نگران نباشید ، برای کار با SDK نیازی نیست که ما حتما مک بوک و .... رو داشته باشیم . کافی هست که از نسخه های پج شده mac os x مثل (ideneb , iAtkos) استفاده کنیم . که برای نصب این برنامه به ورژن 10.5.7 به بالا نیاز هست .
    3- خیلی بهتره که ما قبل از شروع کار یه سری مطالبی رو در مورد زبان Objective C بلد باشیم پیشنهاد من اینه که حتما کتاب زیر رو دانلود کنید و سعی کنید که قسمت های اول کتاب رو حتما مطالعه کنید تا حد زیادی جلو بیفتید .
    RapidShare: 1-CLICK Web hosting - Easy Filehosting
    -چرا از این کتاب شروع نمیکیم ؟

    بخاطر اینکه این کتاب آموزش Obj C هست نه برنامه نویسی COCOA TOUCH و مخصوص آیفون پس واسه اینکه از بیس کار سر در بیاریم بهتر هست حتما مطالعه کنیم . (البته خودم هم نکاتی ذکر میکنم )
    4- این آموزش ها شاید به دلیل ذیق وقت به طور منظم قرار ندم و شاید با تاخیر باشه .
    5- میدونم همه شما در مرحله اول سوال های زیادی دارید ، خواهش میکنم حتما سوال هاتون مناسب با آموزش بپرسید تا من هم راحت تر بتونم به شما پاسخ بدم .
    خب اول یه سری نکاتی رو در مورد زبان Obj C میگم تا یه ذره براتون قابل حضم تر باشه .
    بعد ازاینکه برنامه نصب شد برنامه هارو ازمسیر Developer /Application باز کنید و بهتر هست که فولدر اپلیکشن رو درون داک قرار بدین در اینجا چندین برنامه مشاهده میکنید :
    xCode
    این برنامه ، دقیقا برنامه ای هست که ما باید با اون اپلیکیشن های آیفون و مک رو میسازیم

    Interface Builder

    این برنامه برای ساخت رابط گرافیکی میان کاربر و برنامه استفاده میشه .

    Dashcode
    این برنامه برای ساخت وب اپلیکشن برای آیفون و آیپاد استفاده میشه که فکر کنم زبان برنامه نویسیش PHP باشه .
    simulator
    آیفونsimulator به ما این امکان رو میده که برنامه هارو یک آیفون مجازی اجرا کنیم ،


    من چی کار کنم بتونم برنامه هامو داخل خود آبفون اجرا کنم ؟

    برای این کار شما 2 راه دارید خرید اکانت دولوپر اپل ، و یا به مدد هکر های عزیز یک فایل پج شده ساخته میشه و میتونیم از اون استفاده کنیم ،(که بعدا براتون توضیح میدم)
    . چه فرقی بین شبیه ساز آیفون و خود آیفون وجود داره ؟

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

    ابتدا برنامه رو بازی کنید از قمست iPhone OS گزینه View-Based Application رو انتخاب کنید . و پروژه خودتون با نام Hello IRAN در هر جایی که میخوایید سیو کنید .


    محیط برنامه به شکل زیر هست :



    خب اول تک تک فایل هارو معرفی میکنیم از بالا به پایین :

    .framework : فریم ورک ها شامل یه سری از کلاس ها و کدها هستن که با استفاده از اون ها میتونیم برنامه های آیفون رو بسازیم

    .app این همان اپلیکشن ما هست که موقعی که برنامه به صورت کامل ساخته شد برای عرضه استفاده میشه . که به صورت قرمز رنگ نشان داده میشه .

    .plist در واقع اپلیکشن آیفون شما رو برای سیستم آیفون شرح میده ، یا بهتر بگم شناسه برنامه شما ، مثلا چه ورژنی هست ، ایکون برنامه چی هست و .....

    .xib : این پسوند ، مال برنامه IFB یا همون interface builder هست که من تو آموزشمام از این مخفف استفاده میکنم . که برای طراحی برنامه مون استفاده میکنیم .

    main.m, HelloIRANAppDelegate.h/m و HelloIRANViewController.h/m :

    این فایل ها در واقع اسکلت برنامه ما حساب میشن که میبایست کد ها و دستور هارو درون این فایل ها بنویسیم تا نرم افزار ما ساخته بشه .
    خب بعد از اینکه تا حدودی با محیط و فایل های xcode آشنا شدیم میپردازیم به یه سری نکات زبان Objective C ...
    اول با یه سری علائم آشنا میشیم ...
    اولین و مهم ترین نکته ای که ما باید بهش توجه کنیم این هست که هر خط از دستوری که تایپ میکنیم باید بایک ویرگول ; تمام بشه
    مثلا
    کد:
    - (IBAction)showAlert:(id)sender;
    ما برای کامنت گذاری از دو روش استفاده کنیم ، که با رنگ سبز نمایش داده میشوند :
    •// : زمانی هست که میخواهیم مثلا در مورد یه دستور توضیحی بدهیم با دو اسلش مشخص میکنیم به عنوان مثال :

    کد:
    // barae shoro kar az inja shoro mikonim


    •/* و /* : ستاره و اسلش برای مواقعی هست که مثلا میخواهیم یه رشته از دستورات را غیر فعل کنیم ، به عنوان مثال :
    کد:
    /* // Override to allow orientations other than the default portrait orientation. - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation) interfaceOrientation { // Return YES for supported orientations return (interfaceOrientation == UIInterfaceOrientationPortrait); } */
    @ : این علامت فورا یک رشته کاراکتر ها در یک دابل کوتیشن قرار میدهد که مشخص میکند این یک NSString یا همان زنجیر از حروف و ... هست . مثل متن ، مثال :
    کد:
    NSLog ( @” Hi , My name is Momeks”) ;
    که به صورت رنگ قرمز نشان داده میشود .

    NSLog برای چاپ مثلا جمع دو عدد استفاده میشود ، شبیه دستور print.

    انتخاب کردن نام ها :
    ما برای هر کلاس ، متود ، و یا شی خود باید اسمی انتخاب کنیم ، قاعدتا هر نامی میشه استفاده کرد و اما برای انتخاب نام بهتر هست که یه سری قوانین و سنت رو رعایت کنیم :
    معمولا برای نام گذاری مثلا یک object همیشه از اسم کوچیک استفاده میشه ، و اگر نام ما از دو کلمه استفاده میشه بهتر هست که کلمه اول ما با حرف کوچیک و حرف اول کلمه بعدی ما به صورت بزرگ نوشته بشه :
    کد:
    myButton
    این کار معمولا به صورت یک سنت حسنه بین همه برنامه نویس ها رعایت میشه ، حالا میپردازیم به یه سری قوانین برای انتخاب کردن اسم :

    هیچ گاه برای انتخاب اسم ، اول کلمه از شماره استفاده نکنید :
    کد:
    856myButton
    از کارکتر های غیر مجاز استفاده نکینم ،
    کد:
    My➥Button
    بین اسم هایی که انتخاب میکنید نباید فاصله داشته باشه
    کد:
    My  button
    از کلماتی که درون خود زبان Obj C دخیره شدن استفاده نکیند
    کد:
    Int
    Class , Object و Method

    Object : شی یا چیزی هست که شما با اون کار رو انجام میدید .
    Method : به زبان ساده کاری هست که برای object انجام میدید .
    Class : هر object از یه خصوصیتی تشکلیل شده که به اون class میگن .
    مثال باز کردن در ماشین یه مثال خوبیه :
    ماشین : object /// بازی کردن در ماشین : Method /// سفت بودن دستگیره در ماشین : class
    بر میگردیم به xcode روی فایل Hello_IRANViewController.h کلیک کنید .

    حتما با دستور @Interface مواجه شدید ..

    وقتی کلاس جدیدی رو تعریف میکینیم چندین کار انجام میدیم :
    1- اول به کامپایلر Obj C میگیم که فلان Class از کجا آمده ، یا وارثش یا منشا چی هست که Parent Class می نامیم .
    2- شما باید اطلاعاتی شرح بدید که اعضای آن جزئی از کلاس ها خواهند بود این اعضا یا بهتر بگم members را instant variable می نامیم ، همون متغیر ها .
    3- ما باید نوع عمل کرد object ها رو شرح بدیم یا همون Method که چه مواقعی میتوانند با یک class کار کنند .
    حالا با توضیحات بالا شکل کلی این دستور رو نشون میدیم که بهتر نشون داده بشن .

    کد:
    @interface NewClassName: ParentClassName
    {
    memberDeclarations;
    }
    methodDeclarations;
    @end
    که ما در پروژه خودمون فقط NewClassName: ParentClassName رو داریم .

    Hello_IRANViewController.m کلیک کنید :
    این بار با دستور @implementation مواجه میشم ... که شکل کلی اون اینطوری هست :
    کد:
    @implementation NewClassName
    methodDefinitions;
    @end
    در این قسمت در واقع کد های مورد نظر را برای تعریف Method ها در این بخش قرار می دهیم .
    methodDefinitions : بخشی از @implementation هست که کدهای معینی که در قمست @interaface (memberDeclarations) تعریف کردیم رو شامل میشه ، یه مثال میزنم تا بهتر متوجه بشید :
    مثلا ما میخوای یک دکمه رو تعریف کنیم که زمانی که دکمه رو لمس میکنیم یک Alert ظاهر بشه (همون پنجره آبی که وقتی sms میاد ظاهر میشه ) به این صورت تعریف میکنیم :

    کد:
    @interface    Hello_IRAN : UIViewController
    {
    memberDeclarations;
    }
    //methodDeclarations;
    -(IBAction)myButton;
    @end
    کد:
    @ implementation 	Hello_IRAN
    //methodDefinitions;
    -(IBAction)myButton {
    	UIAlertView ………………………………………..
    }
    @end
    فعلا کد رو ادامه نمیدیم فقط همین که فهمیدم چطوری باید ارتباط بین @interface و @implementation برقرار کنیم کافی هست وقتی که شروع به ساخت یک برنامه کنیم کاملا متوجه میشیم که چگونه هست ، همچنین کار با memberDeclaration رو هم یاد میگیرم .
    خب آموزش اول فقط گذری ساده به محیط برنامه و زبان Obj C بود . همچنین تفاوت فایل های header یا همون .h و main یا همون .m رو یاد گرفتیم .
    در قمست دوم ما یک اپلیکشن ساده میسازیم به اسم Hello IRAN ، و همچنین نحوه کار با IFB بیشتر آشنا میشم ،

    امیدوارم تا اینجا اطلاعات مفیدی کسب کرده باشید .... فقط من یه آمار میخوام که ببینم چه کسایی دوست درن یاد بگرین ، میتونید با اسفتاده از دکمه تشکر اشتیاق خودتون رو برای یاد گیری اعلام کنید (این فقط برای اینکه بدونم چند نفر تو سایت علاقه دارن و گرنه تعداد تشکر ها برای من اهیتی نداره) اگه تعدا بیشتر از 30 تا شد به طور جدی و با کمک همگی ادامه میدیم
    موفق باشید .
    ویرایش توسط Momeks : https://i-phone.ir/forums/member/108-momeks در ساعت 08-09-2009, 01:02 AM

  • #2
    تا اینجاش که خوب بوده میشه امیدوار بود

    نظر


    • #3
      اینم واسه کسایی که دوست میخوان برنامه رو گوشیشون اجرا کنن :

      Alireza :

      بعد از نصب SDK3 این کارهارو بکنید تا شما هم برای آیفون بتونید کامپایل کنید:
      این آموزش را طی کنید:
      Mac Dev Center: Code Signing Guide: Procedures

      یادتون باشه که در مراحلش اسم Certificate را بزارید : iPhone Developer
      آموزش را ادامه بدید تا برسید به plist و ایناش. بعدش دیگه ولش کنید.

      حالا این فایل را به صورت sh ذخیره کنید و بعدش اجرا کنید!

      محتوای مخفی - انجمن تخصصی آیفون


      تمام!

      از الان میتونید به راحتی تمام با xCode حتی روی گوشیتون مستقیم بفرستید برنامه را . خلاصه الان فرقتون با Developer اینه که AppStore نمیتونید ریلیز کنید که این خودش خیلی خوبه! چون Certificate تون هم تقلبیه از نظر ریلیز برنامه خارج از AppStore مشکلی پیدا نمیکنید!
      ویرایش توسط Momeks : https://i-phone.ir/forums/member/108-momeks در ساعت 08-09-2009, 12:33 PM

      نظر


      • #4
        سلام.

        حاجی قربون دستت
        خدا می دونه چقدر به کارام سرعت دادی! تازه می خواستم برم سراغ جستجو تو اینترنت، خوبی اینجا اینه که همه رو یکجا جمع و منو از اینکه وقتم طلف بشه همینطوری الکی خلاص کردی.

        بی نهایت ممنون
        ویرایش توسط eAmin : https://i-phone.ir/forums/member/939-eamin در ساعت 09-09-2009, 01:13 AM

        نظر


        • #5
          آقای Momeks لینک راپید شیر مشکل داره!!!

          نظر


          • #6
            نوشته اصلی توسط salar نمایش پست ها
            آقای momeks لینک راپید شیر مشکل داره!!!
            ok سر فرصت حتما آپلود میکنم

            نظر


            • #7
              فک کنم مرتبط ترین جایی که میشه این سوالو پرسید همینجاس:
              هیچ برنامه ای وجود نداره ، که رو خود آیفون واسش برنامه نویسی کنیم؟ هرچند سبک؟
              واسه کسایی مثل من که مک ندارن و امکان ریختن هکینتاش هم ندارن، فک کنم راه خوبی باشه، نه؟

              نظر


              • #8
                واقعا جا داره محمد جان ازت تشکر کنم که خیلی به من کمک کردی خودت میدونی که ...
                منتظر اموزش های بعدیت هستیم عزیز ...
                اگه بشه اموزش هارو به صورت pdf هم در بیارید کار زیبایی میشه ...

                نظر


                • #9
                  نوشته اصلی توسط googleist نمایش پست ها
                  فک کنم مرتبط ترین جایی که میشه این سوالو پرسید همینجاس:
                  هیچ برنامه ای وجود نداره ، که رو خود آیفون واسش برنامه نویسی کنیم؟ هرچند سبک؟
                  واسه کسایی مثل من که مک ندارن و امکان ریختن هکینتاش هم ندارن، فک کنم راه خوبی باشه، نه؟
                  فکر کنم با toolchain میشه ، اما فقط کد هست هیچ گونه محیط گرافیکی نداره مثلا واسه یه نوشته ساده باید کد بنویسید ، من خیلی اطلاع دقیقی از این برنامه ندارم ، علیرضا بهتر در جریانه ، ولی اینو میدونم که واسه کسی که میخواد شروع کنه فاجعه هست .

                  نظر


                  • #10
                    کسی میتونه نحوه درست کردن سورس رو توضیح بده ؟

                    نظر


                    • #11
                      خیلی ممنون.واقعا خوبه

                      نظر


                      • #12
                        میشه اسم کتاب آموزش آبجکتیو سی و نویسنده اش رو بنویسی، چون من نتونستم از لینک دانلود کنم.

                        نظر


                        • #13
                          نوشته اصلی توسط rumrum نمایش پست ها
                          میشه اسم کتاب آموزش آبجکتیو سی و نویسنده اش رو بنویسی، چون من نتونستم از لینک دانلود کنم.
                          Programming in Objective-C 2.0
                          Stephen G. Kochan

                          نظر


                          • #14
                            اینم لینک تورنت iPhone SDK :
                            iphone_sdk_3.1_with_xcode_3.1_final_v2_leopard__9m 2809.dmg | iphone sdk | isoHunt : the BitTorrent and P2P search engine

                            نظر


                            • #15
                              نوشته اصلی توسط Momeks نمایش پست ها
                              اینم واسه کسایی که دوست میخوان برنامه رو گوشیشون اجرا کنن :

                              Alireza :

                              بعد از نصب SDK3 این کارهارو بکنید تا شما هم برای آیفون بتونید کامپایل کنید:
                              این آموزش را طی کنید:
                              Mac Dev Center: Code Signing Guide: Procedures

                              یادتون باشه که در مراحلش اسم Certificate را بزارید : iPhone Developer
                              آموزش را ادامه بدید تا برسید به plist و ایناش. بعدش دیگه ولش کنید.

                              حالا این فایل را به صورت sh ذخیره کنید و بعدش اجرا کنید!

                              محتوای مخفی - انجمن تخصصی آیفون


                              تمام!

                              از الان میتونید به راحتی تمام با xCode حتی روی گوشیتون مستقیم بفرستید برنامه را . خلاصه الان فرقتون با Developer اینه که AppStore نمیتونید ریلیز کنید که این خودش خیلی خوبه! چون Certificate تون هم تقلبیه از نظر ریلیز برنامه خارج از AppStore مشکلی پیدا نمیکنید!
                              با سلام و احترام متشکرم از آموزشتون.
                              برای اینکه بتونیم برنامه رو روی آفونمون اجرا کنیم به لینک بالا رجوع کردم ولی نفهمیدم دستور
                              Add the following arguments to your link command:
                              -sectcreate __TEXT __info_plist Info.plist_path

                              where Info.plist_path is the path to the Info.plist file in your project.

                              In Xcode, use the OTHER_LDFLAGS build variable.
                              رو کجا باید وارد کنم. اصلا نمیتونم به این صورت ایت خط رو توی plist وارد کنم
                              باید چه کنم؟
                              با تشکر

                              نظر

                              صبر کنید ..
                              X