اطلاعیه

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

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

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

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

    در آموزش قبلی نگاهی داشتیم یه محیط و فایل های xCode ، و همچنین یه سری نکات ابتدایی در مورد Obj C ، و تفاوت های فایل های header و main .
    در این قسمت ، ما یاد میگیریم که چگونه یه اپلیکشن ساده آیفون درست کنیم ، با محیط IFB و نقش اون بیشتر آشنا میشیم ، و همچنین با یه تغییر ساده در یک بخش از کدمون ، می خوایم نحوه کار با سنسور های چرخش رو یاد بگیریم ، بحث کار با سنسور ها مبحث جدا گونه هست ، اما چون وقتی خودم اولین بار با این xcode کار کردم همش دنبال این بودم که چطور میتونم وقتی آیفون رو به صورت landscape مگیرم ، صفحه آیفون هم به صورت landscape در بیاد مثل Safari ، Note . و چطوری برای برنامه خودمون ایکون بسازیم و ...
    خب در آموزش قبلی ما یه پروژه به اسم Hello IRAN درست کردیم که میخوایم با استفاده از اون یک اپلیکشن ساده و با دوتا labelText و همچنین با سنسور Rotate اولین برنامه ایفون خودمون رو بسازیم ، برنامه این طوری هست که وقتی ما آیفون رو به صورت افقی میگیرم کلمه ایران ظاهر بشه ...

    [

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

    خب پروژه Hello IRAN رو باز میکنیم ، در ستون سمت چپ Groups & Files شما چندین فولدر مشاهده میکنید ، روی فولدر Resources کلید کرده و فایل Hello_IranViewControler.xib رو باز کنید ، خب ....... به InterFace Builder خوش آمدید ، ابتدا توضبحی در مورد ابزار ها و محیط به صورت شماره که در تصویر می بینید میدم ، شکل کلی برنامه IFB به شکل زیر هست :


    1: اصلی ترین پنچره فایل XIB یا بهتر بگم مرکز راه اندازی خصوصیات Object ، class ، و ... به جز فایل های
    Files owner, View و First Responder و هر فایلی در این پنجره قرار بگیره بیانگر یک نمونه از کلاس Obj C هست که وقتی فایل Xib لود میشه به طور اتوماتیک ایجاد میشه .

    منظور از راه اندازی چی هست ؟
    در آموزش قبلی ما دکمه ای رو مثال زدیم که قصد داشتیم وقتی اون رو لمس میکنیم پیغامی ظاهر بشه ، خب ما اومدیم یک method با نام myButton تعریف کردیم ، ... اینجا یه کار ما می لنگه ، درسته ؟ بله درسته ، ما هنوز دکمه ای نداریم که این عمل رو بهش متصل کنیم و اون دکمه با توجه به دستوری که تعریف کردیم براش کار کنه ، در اینجا ما باید با استفاده از IFB و پنجره اصلی xib که در پروژه ما به اسم Hello_IranViewControler.xib هست ، به وصیله files owner ارتباط این دو رو با هم برقرار کنیم ، در آموزش بعدی به طور مفصل بهش می پردازیم . (این توضیحی که دادم خیلی عمومی بود ).


    2 : کتابخانه ابزار ما ، که شامل چندین بخش مجزا با ابزار های مختلف شامل(Controlers , Data views ,Input and Values,Windows,Views & Bars) هست ، که دارای Button ، Text و ...... که کاملا واضح هست .

    3: پنجره Inspectorکه شمال 4 تب میشه ، هر کدوم از تب ها کار خواصی رو انجام میده ، در آین آموزش فقط با دو تب کارمیکنم ، تب Attributes و تب Size ، تب یا برگه Attributes شبیه یک کنترل پنل عمل میکنه ، مثلا اگه یک Label رو انتخاب
    کنیم ، میتونیم اندازه ، رنگ ، فونت و ... اون رو تغییر بدیم . و تب size که کار اون در واقع موقعیت Object ما رو نسبت به صفحه تنظیم میکنه .

    4: View که همون نمای برنامه ما محسوب میشه ،
    اگر هر کدوم از این پنجره ها رو ندارید کافی هست به منو Tools رفته و پنجره رو ظاهر کنید ..
    خب برگردیم سر آموزش خودمون ، از قسمت Library 2تا Label text رو انتخاب کنید و اون بکشید تا بیاد رو صحفه ، برای تغییر نوشته کافی هست دوبار روی اون کلیک کنیم .. نوشته اول رو Hello نوشته بعدی رو به Iran تغییر بدید ، برای تغییر فونت و یارنگ اون کافی هست یه ذره با تب Attributes وربرید تا حساب کار دستتون بیاد .


    خب بعد از اینکه نوشته هامون رو مرتب کردیم ، نوبت به این میرسه موقعیت توشته هامون نسبت به صفحه تنظیم کنیم ، ابتدا هر دو نوشته رو انتخاب میکنیم ، تب size رو انتخاب کرده و در قمست AutoSizing فقط پیکان های درون مربع رو تیک بزیند تا وقتی آیفون رو به صورت افقی میگیرم ، دقیقا در وسط قرار بگیرن .


    در پنجره View شما گوشه پنجره فلشی رو مشاهده میکنید ، که با کلیک کردن روی اون میتونی وضعیت نوشته هارو در نمای افقی ببینید . بعد از اینکه کار ما تمام شد ، فایل رو سیو کنید ، به محیط Xcode برگردید ،
    الان وقت اون رسیده که تغییری در کد اینجاد کنیم ، تا برنامه ما با سنسور چرخش کار کنه ، روی فایل Hello_IranViewControler.m کلیک کنید ، به دنبال این کد بگردید که ، که به وسیله (/*) غیر فعال شده . ستاره و اسلش رو پاک کنید ، تا کد به صورت زیر در بیاد :


    کد بالا رو به کد زیر تغییر بدید (پیشنهاد میکنم که کل دستور رو پاک کنید و خودتون دستور رو تایپ کنید تا با نحوه کد نویسی آشنا بشید )

    کد:
    - (BOOL)shouldAutorotateToInterfaceOrientation:
    (UIInterfaceOrientation)interfaceOrientation {
    return YES;
    }

    . خب پس از اینکه کد رو تغییر دادیم ، نوبت به این میرسه که آیکان مورد علاقه مون رو برای برنامه تعریف کنید، الان باید بریم سراغ کدوم فایل ؟ خب معلومه.plist ، ایکونی که ما برای برنامه مون درنظر میگیریم باید خصوصیات زیر رو داشته باشه :

    1- سایز عکس باید فقط و فقط 57 57 xپیکسل باشه .
    2- فرمت عکس حتماباید png 24bit باشه .
    3- شما نیازی ندارید که عکستون رو به صورت شیشه ای درست کنید ، خود برنامه ایکون رو به صورت شیشه ای و شبیه باقی برنامه های دیگه درست میکنه .


    وقتی آیکون برنامه رو ساختیم اون رو باید با نام icon.png ذخیره کنیم ، دقت کنید که حتما باید با حروف کوچک نوشته بشه ،
    خب الان آیکون اماده هست و باید به برنامه اضافه کنیم ، برای اینکار کافیه ایکون رو درگ کنید در پوشه Resources البته هر جای دیگه ای هم میشه ، موقعی که عکس اضافه شد پیغامی برای شما ظاهر میشه که گزینه Add رو کلیک کنید . حالا فایل plist رو کلیک کنید ، در قسمت icon یه بخش خالی وجود داره که دو بار رو اون کلیک کنید و icon.png رو تایپ کنید . همین ،


    خب الان موقع اون رسیده که نتیجه کارمون رو مشاهده کنیم ، گزینه Build and go رو کلیک کنیم ، برنامه بطور اتوماتیک iphone simulator رو باز میکنه و روی اون برنامه رو نصب میکنه و به طور خودکار برنامه اجرا میشه ...
    خب اینم از اولین برنامه آیفون و آیپاد تاچ ما . اگه سوالی دارید یا جایی رو متوجه نشدید بپرسید ، موفق باشید .
    آیکون برنامه رو هم براتون آپلود کردم میتونید بگیرید .

  • #2
    خيلي ممنون محمد جان. عالي بود.

    فقط يه راهي براي دور زدن اين provision بكن.

    نظر


    • #3
      نوشته اصلی توسط elvis presley نمایش پست ها
      خيلي ممنون محمد جان. عالي بود.

      فقط يه راهي براي دور زدن اين provision بكن.
      تو آموزش قسمت اول توضیح دادم برو بخونش

      نظر


      • #4
        کسی تمرین بالا رو انجام داد ، یه چیزو از قلم انداختماا ! کسی متوجه شده ؟

        نظر


        • #5
          سوال

          من sdk 3.1 دارم و همه این کارها رو انجام دادم
          توی simulator درست کار میکنه اما وقتی برای build , device x میکنم error provision میده!

          یه سوال دیگه! گوشیم 3.0.1 هست! sdk 3.1 با این ورژن مشکل داره؟
          ممنون!

          نظر


          • #6
            نوشته اصلی توسط alimo نمایش پست ها
            من sdk 3.1 دارم و همه این کارها رو انجام دادم
            توی simulator درست کار میکنه اما وقتی برای build , device x میکنم error provision میده!

            یه سوال دیگه! گوشیم 3.0.1 هست! sdk 3.1 با این ورژن مشکل داره؟
            ممنون!
            اولا اگه provision نداشته و نساخته باشید این ارور رو میده ، و سوال بعدی هم باید فرم ور گوشیتون با ورژن SDK هم هماهنگ باشه . اگه نباشه بازم ارور میده . به همین خاطر هست که شما 3.0.1 هستید و sdk ورژن بالاتری هست

            نظر


            • #7
              provision رو ساختم اما میگه not found! چجوری باید آدرس بدم به Xcode؟
              باید export بگیرم از certificate ؟

              مشکل fw رو هم حل میکنم! فکر کنم یه upgrade افتادم!

              نظر


              • #8
                این رو پیدا کردم اما یکم گنگ توضیح داده! plist هارو ویرایش کردم اما بقیه اش مفهوم نیست!
                iPhone SDK 3.1 – bypass provision limitation – Snow Leopard - Alireza Shafaei's Blog

                نظر


                • #9
                  نوشته اصلی توسط alimo نمایش پست ها
                  provision رو ساختم اما میگه not found! چجوری باید آدرس بدم به Xcode؟
                  باید export بگیرم از certificate ؟

                  مشکل fw رو هم حل میکنم! فکر کنم یه upgrade افتادم!
                  بعد از ساختن provision اونو درگ میکنی رو ایکان itunes یا xcode تو داک
                  راجب به بلاگ علیرضا صبر کن خودش میاد برات توضیح میده و چون من با این روش provision نساختم
                  ویرایش توسط Momeks : https://i-phone.ir/forums/member/108-momeks در ساعت 01-10-2009, 12:44 AM

                  نظر


                  • #10
                    من آخر رفتم توی setting پروژه این provisioning رو غیر فعال کردم نصب شد روی گوشی و کار هم میکنه! ! اما آخر هم نفهمیدم چرا این گزینه وجود داره و چرا باید اصلا رفت سراغ این provisioning !

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

                    نظر


                    • #11
                      نوشته اصلی توسط alimo نمایش پست ها
                      من آخر رفتم توی setting پروژه این provisioning رو غیر فعال کردم نصب شد روی گوشی و کار هم میکنه! ! اما آخر هم نفهمیدم چرا این گزینه وجود داره و چرا باید اصلا رفت سراغ این provisioning !

                      اگه کسی چیزی میدونه لطف کنه توضیح بده! ولی مشکل من که فعلا حل شده!
                      خب ببین provisioning یه حالت یه قرار داد رو داره ، که شما به عنوان developer این امکان رو دارید که برنامه هایی که میسازید رو رو آیفون تست کنید و سپس واسه عرضه به app store آماده کنید .
                      خب قطعا این امکان برای کسایی هست که حق اشتراک developer رو پرداخت میکنن و اپل این امکان رو بهشون میده ! منطقی هست دیگه این توضیح !
                      حالا به همت هکر عزیز یه فایل پچ شده میشه درست کرد که بتونید برنامه هایی که ساختین رو ، روی آیفون خودتون بدون اینکه پولی داده باشد اجرا کنید و اگه خواستید برنامتون رو تو سیدیا عرضه کنید .
                      الان میتونی از برنامه های خیلی ساده شروع کنی ! مثل همین دوستمون که زیارت عاشورا رو ساخته بود ! فقط یه عکس بود و تکست همین . و یه تب بار که زبان رو عوض میکرد ... حالا مثلا بیشتر پش بریم پیش بریم مثلا واسه تغییر زبان میشه مثل از segmented control استفاده کرد بجای اینکه بخواین 2 تب درست کنیم .
                      حالا به زودی آموزش های بعدی رو قرار میدم .
                      ویرایش توسط Momeks : https://i-phone.ir/forums/member/108-momeks در ساعت 03-10-2009, 11:01 AM

                      نظر


                      • #12
                        این ارور رو چطوری رفع کنم؟

                        Code Sign error: a valid provisioning profile matching the application's Identifier 'com.yourcompany.FiPhone' could not be found

                        کارای تو این پست رو انجام دادم . ورژن ۳.۱.۲ هم هست XCode...

                        نظر


                        • #13
                          نوشته اصلی توسط Leopard نمایش پست ها
                          این ارور رو چطوری رفع کنم؟
                          کد HTML:
                          Code Sign error: a valid provisioning profile matching the application's Identifier 'com.yourcompany.FiPhone' could not be found
                          کارای تو این پست رو انجام دادم . ورژن ۳.۱.۲ هم هست XCode...
                          این ارور به این خاطر هست که باید provision ای که ساختی روبا app مچ نکردی تا رو گوشی نصب بشه ،، برای اینکار از ستون سمت چپ (جایی که فولدر ها و .... وجود داره ) قسمت Targets باز کن بعد رو app کلیک کن گزینه Info رو بزن تب Build رو انتخاب میکنی و در قسمت Code Signing Identity ||||| پرووابزیشن ای که ساختی رو انتخاب میکنی ، طبق عکس زیر :

                          ویرایش توسط Momeks : https://i-phone.ir/forums/member/108-momeks در ساعت 09-11-2009, 08:26 PM

                          نظر


                          • #14
                            ممنون محمد جان

                            ولی اینو ببین ... با ماله شما یه خورده فرق میکنه ...

                            نظر


                            • #15
                              خب این به این خاطر هست که شما اصلا provision رو درست نکردی ! مثلا باید بنویسه
                              iPhone Developer : Leopard
                              این فیلم رو نگاه کن شاید مشکلت حل شد:
                              http://www.i-phone.ir/forums/thread5...html#post66348

                              نظر

                              صبر کنید ..
                              X