تاریخ امروز :
iOS
macOS
Xcode
iTunes
صفحه 1 از 18 12361116 ... آخرینآخرین
نمایش نتایج: از 1 به 10 از 175

موضوع: آموزش ساختن سورس برای Cydia

  1. #1
    تاریخ عضویت
    Sep 2008
    نوشته ها
    5,111
    سپاس
    6,133
    از این کاربر 29,369 بار در 5,523 ارسال سپاس شده است.

    پیش فرض آموزش ساختن سورس برای Cydia

    چند تا از دوستان راجع به ساختن سورس برای Cydia سوال داشتند واسه همین تصمیم گرفتم آموزش ساختن سورس رو اینجا بزارم .
    شما به این مشخصات و برنامه ها نیاز دارید :

    ۱. سیستم عامل مک ورژن ۱۰.۵.۴ به بالا .
    ۲. Fink . دانلود
    ۳. اینترنت و Text Editor

    ۴. برنامه AppleOff : دانلود

    روی دسکتاپ یه فولدر به اسم New درست کنید .

    فولدر رو باز کنید و دو فولدر دیگه توش بسازید به اسم های DEBIAN و Applications



    توضیح : تمام پکیج هایی که میخواین بسازید باید DEBIAN رو داشته باشند و فولدر بعدی که میسازید در واقع دارید مسیری که برنامه مورد نظرتون فایل هاشو پیاده میکنه رو میدید. اگه بخواید یه برنامه تو پکیجتون داشته باشید کافیه برنامتون رو به شاخه Applications اضافه کنید . مثلا برنامه Mcleaner.app رو وقتی تو فولدر applications قرار بدیم بعد از ساختن Package این برنامه به شاخه Applications توی گوشی اضافه میشه . مثل موقعی که شما بصورت دستی یه برنامه رو کپی میکنید تو گوشی .و یا اگه میخواید مثلا Wallpaper اضافه کنید به ترتیب تو فولدر New دو فولدر به اسم های DEBIAN و Library میسازید و تو فولدر Library فولدر Wallpapers میسازید و عکس هاتونو اینجا کپی میکنید .

    خب حالا باید فهمیده باشید که DEBIAN برای ساختن پکیج و معرفی به Cydia بکار میره و فولدر Applications یا System و یا ... مسیر برنامه موردنظر رو برای کپی کردن به شما میده .

    حالا میرسیم به مرحله اصلی یعنی محتویات فولدر DEBIAN :

    ساختن فایل Control


    Text Editor رو باز کنید .
    این مشخصات رو عینا کپی کنید .

    کد:
    Package: iphone.ir.markthatmessage
    Name: MarkThatMessage
    Version: 1.0
    Architecture: iphoneos-arm
    Description: timestamps ALL entries on SMS screen
    Installed-Size: 14
    Maintainer: Yasin Jamali
    Author: Yasin Jamali
    Section: IR (Apps)
    Depends: mobilesubstrate, firmware (>= 3.0), iphone.ir.icon
    اون نوشته های قرمز رنگ رو که میبینید قابل تغییر هستند ولی به بقیه نباید دست بزنید .

    Package : یعنی اسم Package که باید یه اسم منحصر به فرد باشه که با برنامه های دیگه قاطی نشه و اسم پکیج هم باید بصورت بالا باشه و فقط سه کلمه قرمز رنگ iphone و ir و markthatmessage رو با اسم مورد نظرتون عوض کنید . ( توجه کنید که باید بعد از هرکدام یک دات بگذارید )

    Version : خب مشخصه که ورژن برنامه رو مشخص میکنه .

    Section : تو Cydia دیدید که برنامه ها تو Section های مربوطه قرار دارن . شما هم مشخص میکنید که برنامتون تو چه Section ای قرار بگیره .

    Maintainer : منظور اینجا سازنده بازی یا اسپانسر یا حالا هر چی که خودتون اسم میزارید هست .

    Depends : بعضی از برنامه ها قبل از نصب لازم دارن که چیز دیگه ای نصب باشه . اینجا شما باید اسم اون Package که نیاز دارید رو بنویسید . مثلا اکثر برنامه ها به mobile substrate نیاز دارن پس شما هم باید این رو ذکر کنید که اگه احیانا نصب نبود بطور اتوماتیک نصب کنه . البته باید بطور دقیق اسم پکیج رو وارد کنید . برای مثال برای نصب یک برنامه ای من میخوام چک کنم ببینم اگر پکیج آیکون سورس نصب نیست بطور اتومات نصب بشه . باید تو قسمت Depends برنامه جدید وارد کنم : iphone.ir.icon

    Name : خب اسم برنامه هست دیگه !

    Author : اسم سازنده برنامه .

    Description : توضیح راجع به برنامه .

    بعد از انجام این مراحل کافیه فایلتون رو به اسم control سیو کنید . طریقه سیو کردن به این صورت هست :



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


    فایل control رو درون فولدر DEBIAN قرار بدید .

    برنامه AppleOff رو که اول گفتم دانلود کنید رو نصب کنید و فایل New که ساختید رو به این برنامه اضافه کنید و Clean Now رو بزنید تا فایل های اضافه رو پاک کنه . بعد از انجام این عملیات بهتره دیگه کار اضافه ای نکنید و مستقیما به مرحله بعدی برید !

    Terminal رو باز کنید و دستور cd /Users/your username/Desktop رو وارد کنید .

    حالا این دستور رو وارد کنید :
    کد:
    dpkg-deb -b New
    خب حالا روی دسکتاپ باید یه فایل به اسم New.deb داشته باشید .

    بعد از اینکار نوبت به ساختن فایل Release میرسه که اطلاعاتی راجع به repo شما به دیگران میده .

    دوباره Text Editor رو باز کنید و متن زیر رو کپی کنید .

    کد:
    Origin: اسم repo ی شما
    Label: اسمی که بالای repo ی شما نمایش داده میشه .
    Suite: stable
    Version: 1.0
    Codename: stable
    Architectures: darwin-arm
    Components: main
    Description: توضیحاتی راجع به repo ی شما .
    حالا به اسم release سیو کنید .

    حالا یه فولدر به اسم مثلا cydiarepo بسازید و یک فولدر دیگه به اسم debs توش بسازید .

    فایل New.deb رو که ساختید به این فولدر debs کپی کنید .
    ویرایش توسط oosin : 09-05-2009 در ساعت 07:15 PM


  2. #2
    تاریخ عضویت
    Sep 2008
    نوشته ها
    5,111
    سپاس
    6,133
    از این کاربر 29,369 بار در 5,523 ارسال سپاس شده است.

    پیش فرض

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

    برای مثال :
    کد:
    cd /Users/Yasin/Desktop/cydiarepo
    و این command رو وارد کنید :
    کد:
    dpkg-scanpackages -m . /dev/null -->Packages
    میبینید که فایلی به اسم Packages تو همین فولدر ایجاد شده که مشخصات فایل control فایل یا فایل های deb شما توش قرار داره .

    میتونید برای مطمئن شدن یکبار چک کنید .

    فایل رو سیو کنید .

    دوباره ترمینال رو باز کنید و به مسیر cydiarepo بروید و دستور زیر رو وارد کنید .

    کد:
    bz2 -f Packages
    میبینید که فایل Packages.bz2 درست شده . این فایل رو با دابل کلیک باز کنید تا دوباره فایل Packages رو هم داشته باشید .

    ( حتما به case sensitive بودن این فایل ها دقت کنید . )

    خب حالا نوبت به جمع و جور کردن میرسه . شما الان باید این فایل هارو داشته باشید .

    Release , Packages , Packages.bz2 , New.deb .

    سه فایل Release , Packages , Packages.bz2 تو فولدر cydiarepo قرار داره و New.deb تو زیرفولدر debs تو همین فولدر قرار داره .



    خب تبریک میگم . اگه همه کار های بالارو درست انجام داده باشید شما یک repo ساختید ! کافیه فایل cydiarepo رو روی یک هاست آپلود کنید و مسیرش رو به cydia بدید .

    البته این همه کار نیست . بزودی راجع به چگونگی Back Up گرفتن و ساختن فایل های postinst preinst ... ساختن آیکون برای repo و ... توضیح میدم .

    تا اینجا اگه مشکلی بود بپرسید .


  3. #3
    تاریخ عضویت
    Sep 2008
    نوشته ها
    5,111
    سپاس
    6,133
    از این کاربر 29,369 بار در 5,523 ارسال سپاس شده است.

    پیش فرض

    مطلب بعدی اینه که خیلی دقت کنین موقعی که دارین فولدرتون رو به deb تبدیل میکنید قبلش با برنامه appleoff فایل های itunes_de رو پاک کرده باشین !

    حالا راجع به back up گرفتن توضیح میدم . این مرحله خیلی حساسه و باید خوب دقت کنید چون یه اشتباه کوچیک به گوشیتون ( نرم افزاری ) آسیب میزنه و شاید مجبور به ریستور شید .

    تو شاخه DEBIAN که تو فولدر مورد نظرتون ساختین کنار فایل control باید چند فایل txt دیگه بسازید . میتونین همون فایل control رو با txt باز کنید ولی آخرش Save As رو بزنید و به یه اسم دیگه سیو کنید .

    به چه اسمی سیو کنم ؟

    شما به دو تا فایل نیاز دارید . اسم یه فایل رو بزارید : postrm و اسم دیگری رو بزارید : preinst

    همونطور که از اسمشون میتونین حدس بزنید preinst یعنی دستور های قبل ار نصب .و بعدی هم ( postrm ) دستور های بعد از پاک کردن

    این دستور ها چی هستن ؟

    یه سری دستور که من نفهمیدم از چه تابعی پیروی میکنن چون fn های جدیدی دیدم توشون ولی شبیه به c++ هستند !
    به هر حال من براتون یه پیش فرض آماده کردم که میتونین با استفاده از اون حتی با نداشتن دانش برنامه نویسی رفع احتیاج کنید .

    به دستور زیر که یک دستور preinst برای مثلا نصب یک برنامع تغییر فونت روی گوشی شماست دقت کنید :

    کد:
    #!/bin/bash
    
    declare -a cydia
    cydia=($CYDIA)
    
    if [[ $1 == install || $1 == upgrade ]]; then
      if [ -f /System/Library/Fonts/Cache/Helvetica.ttf.back ]; then
        echo "Helvetica.ttf.back already present, skip BackUp."
      else
        cp /System/Library/Fonts/Cache/Helvetica.ttf /System/Library/Fonts/Cache/Helvetica.ttf.back
        echo "Helvetica.ttf.back created."
      fi
      if [ -f /System/Library/Fonts/Cache/HelveticaBold.ttf.back ]; then
        echo "HelveticaBold.ttf.back already present, skip BackUp."
      else
        cp /System/Library/Fonts/Cache/HelveticaBold.ttf /System/Library/Fonts/Cache/HelveticaBold.ttf.back
        echo "HelveticaBold.ttf.back created."
      fi
      if [[ ${CYDIA+@} ]]; then
          eval "echo 'finish:restart' >&${cydia[0]}"
      fi
    fi
    #end script
    خب اگه یکم برنامه نویسی کار کرده باشین خیلی راحت متوجه دستورات بالا میشین . به هر حال یه توضیحی هم میدم .
    تا اونجایی که به دستور if میرسید رو نباید دستکاری کنید . ولی از if به بعد :

    if [ -f /System/Library/Fonts/Cache/Helvetica.ttf.back ]; then
    echo "Helvetica.ttf.back already present, skip BackUp."
    else
    cp /System/Library/Fonts/Cache/Helvetica.ttf /System/Library/Fonts/Cache/Helvetica.ttf.back
    echo "Helvetica.ttf.back created."
    fi

    ببینید دستور بالا منظورش اینه که اگه فایل Helvetica.ttf.back تو مسیر نشون داده شده وجود داره اون موقع نیازی به back upگرفتن نیست و از این مرحله چشم پوشی کن و این نوشته رو نمایش بده ولی اگه وجود نداشت اون موقع فایل Helvetica.ttf رو به Helvetica.ttf.back تغییر بده . fi آخر هم به معنی end if هستش .

    پس شما فقط برای بک آپ گرفتن نیاز دارین که تو دستورات بالا یه تغییرات جزیی بدید . به این شکل که جای خط های قرمز رن

    آدرس و مشخصات برنامه خودتون رو بزارید .

    به تعداد فایل هایی که میخواید بک آپ بگیرید همینطور این دستور رو تکرار میکنید و آدرس فایل ها رو جابجا میکنین .

    و اما تیکه آخر :



    if [[ ${CYDIA+@} ]]; then
    eval "echo 'finish:restart' >&${cydia[0]}"
    fi
    fi
    #end script

    finish:restart یعنی گوشی شما ریسپرینگ میشه .
    اگه جاش reload بزارید اتفاقی نمیافته و return to cydia میده .
    اگه reboot بزارید گوشی خاموش روشن میشه .



    خب حالا نوبت به ساختن فایل دوم یعنی postrm میرسه که درواقع موقع remove کردن فایل بک آپ های گرفته شده رو restore میکنه .

    نمونه زیر رو ببینید :

    کد:
    #!/bin/bash
    
    declare -a cydia
    cydia=($CYDIA)
    
    if [[ $1 == remove ]]; then
    
       cp /System/Library/Fonts/Cache/Helvetica.ttf.back /System/Library/Fonts/Cache/Helvetica.ttf
       cp /System/Library/Fonts/Cache/HelveticaBold.ttf.back /System/Library/Fonts/Cache/HelveticaBold.ttf
      if [[ ${CYDIA+@} ]]; then
          eval "echo 'finish:restart' >&${cydia[0]}"
      fi
    fi
    #end script
    همونطور که میبینین باز هم دستورات ساده . به این شکل که این بار میاد میگه اون فایل *.back رو به فایل سابق برگردون !

    فقط به if و fi ها دقت کنید . اگه یه جا if و fi ها با هم نخونن ( کم و زیاد بزارید ) برنامتون مشکل پیدا میکنه .


  4. #4
    تاریخ عضویت
    Sep 2008
    نوشته ها
    5,111
    سپاس
    6,133
    از این کاربر 29,369 بار در 5,523 ارسال سپاس شده است.

    پیش فرض

    حالا نوبت میرسه به گذاشتن آیکون برای برنامه هایی که روی سورستون release میکنین . ساده ترین کار !

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

    حالا توی oosin دو تا فولدر دیگه بسازید به اسم های DEBIAN و Applications



    تو DEBIAN یه فایل txt به اسم control بسازید و این مشخصات رو توش کپی کنید :

    کد:
    Package: com.iphoneir.repo
    Version: 1.6
    Priority: standard
    Section: IR (Apps)
    Maintainer: ooSin <yasin.jamali@gmail.com>
    Architecture: iphoneos-arm
    Name: Source Icons
    Author: Yasin Jamali <yasin.jamali@gmail.com>
    Description: Adds the icons for the iPhone.ir sources & sections
    جاهایی که دوست دارین عوض کنین رو عوض کنین . ( با توجه به توضیحات پست اولم دیگه نیاز به ریز ریز توضیح دادن نمیبینم !

    این فایل رو دانلود کنید : DOWNLOAD

    فایل رو باز کنید و cydia.app رو بریزید تو فولدر Applications . فایل cydia.app رو باز کنید و ۲ تا فولدر به اسم های Sections و Sources میبینید . آیکونی که تو بخش Sections میبینید درواقع آیکونیه که برای برنامه هاتون نمایش داده میشه . بسته به اینکه شما هر برنامه رو تو چه Sections ای گذاشته باشید . مثلا من تو Section ای به اسم IR قرار دادم بنابراین اسم آیکونم IR.png هست . IR رو به اسم section خودتون تغییر بدید .
    و Sources هم اسمیه که برای سورس خودتون انتخاب میکنید تو قسمت Release . اون آیکون رو هم به اسمی که روی Repo خودتون قرار میدین تغییر بدید .



     خب تمومه دیگه . کافیه که همه چیو سیو کنید و فولدر oosin رو تبدیل به فایل deb کنین و مثل یک پکیج عادی بزارینش روی سورستون .

    سوال : آقا اینطوری که الان شما گفتین که باید هر کسی بیاد پکیج فونت رو نصب کنه تا براش آیکون ها نمایش داده بشه . پس چطوری بقیه سورس ها بدون اینکه ما پکیج سورسشون رو نصب کنیم آیکونشون نمایش داده میشه ؟

    جواب : خیلی سادست ! اگه خاطرتون باشه تو پست اول گفته بودم که یه گزینه به اسم dependency هست که میگرده و پکیج های مورد نیاز رو همراه برنامه نصب میکنه . خب شما هم کافیه اسم این پکیج رو ( مثلا تو مثال من com.iphoneir.repo ) رو به dependency
    اضافه کنید تا همراه هر کدوم از برنامه های سورستون که کاربر نصب میکنه این پکیج نصب شه و آیکون های شما به نمایش در بیاد .

    اگه به پست قبلی هم دقت کنید اولش که عکس فایل پکیج خودم رو گذاشتم میتونین نحوه گذاشتن dependency رو متوجه شید .


    خب دیگه تموم شد . کل داستان ساختن سورس همین بود ! شما میتونین حالا یه سورس شخصی داشته باشید با برنامه های مفید . امیدوارم واضح توضیح داده باشم ولی هر جا براتون نا مفهوم بود بگید تا واضح تر بگم .

    موفق باشید
    ویرایش توسط oosin : 14-04-2009 در ساعت 05:26 PM


  5. #5
    تاریخ عضویت
    Feb 2009
    نوشته ها
    275
    سپاس
    835
    از این کاربر 259 بار در 185 ارسال سپاس شده است.

    پیش فرض

    یاسین جان آیا حتما باید مک داشته باشیم؟
    نمیشه لینوکس دبیان باشه؟ اگه دبیان میشه، اون برنامه هایی که اول معرفی کرده بودی قابل استفاده هستن؟

  6. #6
    تاریخ عضویت
    Sep 2008
    نوشته ها
    5,111
    سپاس
    6,133
    از این کاربر 29,369 بار در 5,523 ارسال سپاس شده است.

    پیش فرض

    نه حتما مک نباید باشه . میتونه ویندوز هم باشه و با آیفون کارای مربوط به Debian رو انجام بدی . با لینوکس هم میشه اگه Debian supp باشه . اون برنامه fink و apple off هم برای موقعی که با مک بخوای استفاده کنی نیاز میشه وگرنه بدون اون ها هم میشه .

  7. 5 کاربر زیر از oosin عزیز به خاطر این پست مفید سپاس کرده اند .


  8. #7
    تاریخ عضویت
    Jan 2009
    محل سکونت
    تهران
    نوشته ها
    221
    سپاس
    135
    از این کاربر 120 بار در 81 ارسال سپاس شده است.

    پیش فرض

    با تشکر از پست خوبتون
    یه سوال که من درست متوجه نشدم.فرض کنید من الان سورس رو کاملا ساختم حالا کجا باید اپلودش کنم تا دیگران بتوانند استفاده کنند

  9. #8
    تاریخ عضویت
    Sep 2008
    نوشته ها
    5,111
    سپاس
    6,133
    از این کاربر 29,369 بار در 5,523 ارسال سپاس شده است.

    پیش فرض

    روی یه هاست ! یعنی یه فضایی روی اینترنت که توسط شما خریداری شده .
    مثلا سورس این سایت روی هاست سایت یعنی i-phone.ir/cydia آپلود شده .

  10. 5 کاربر زیر از oosin عزیز به خاطر این پست مفید سپاس کرده اند .


  11. #9
    تاریخ عضویت
    Jan 2009
    محل سکونت
    تهران
    نوشته ها
    221
    سپاس
    135
    از این کاربر 120 بار در 81 ارسال سپاس شده است.

    پیش فرض

    من متوجه نشدم.
    فکر کنید من یه فضای خالی روی اینترنت خریدم مثلا به نام Hossein.com/cydia وبعد برنامه های ساخته شده در مرحله اخر رو توی اون سایت اپلود می کنم و قتی سورسHossein.com/cydia رو Add میکنم خودش می ره برنامه ها رو می ارد.درسته متوجه شدم؟

    یه سوال دیگه مثلا اگه من یه عکس رو تو پکیج هام بزارم Cydia از کجا میفهمه اون رو باید کجا نصب کنه؟اصلا می فهمه؟یا من باید ادرسش بدم؟چطور؟

    با تشکر از رسیدگی شما
    ویرایش توسط Dj Hossein : 08-05-2009 در ساعت 06:13 PM

  12. #10
    تاریخ عضویت
    Aug 2008
    محل سکونت
    Shiraz
    نوشته ها
    700
    سپاس
    2,268
    از این کاربر 3,307 بار در 1,010 ارسال سپاس شده است.

    پیش فرض

    نقل قول نوشته اصلی توسط Dj Hossein نمایش پست ها
    من متوجه نشدم.
    فکر کنید من یه فضای خالی روی اینترنت خریدم مثلا به نام Hossein.com/cydia وبعد برنامه های ساخته شده در مرحله اخر رو توی اون سایت اپلود می کنم و قتی سورسHossein.com/cydia رو Add میکنم خودش می ره برنامه ها رو می ارد.درسته متوجه شدم؟

    یه سوال دیگه مثلا اگه من یه عکس رو تو پکیج هام بزارم Cydia از کجا میفهمه اون رو باید کجا نصب کنه؟اصلا می فهمه؟یا من باید ادرسش بدم؟چطور؟

    با تشکر از رسیدگی شما
    بله درسته وقتی شما این آدرس رو وارد کنید سورس اضافه میشه..
    همونطور که دوستم oosin در بالا توضیح دادن شما باید یه فولدر میسازید و درون آن هر مسیری که میخواهید رو به جاش یه فلدر میسازید...

  13. 7 کاربر زیر از vbfarshad عزیز به خاطر این پست مفید سپاس کرده اند .


صفحه 1 از 18 12361116 ... آخرینآخرین

اطلاعات موضوع

کاربرانی که در حال مشاهده این موضوع هستند

در حال حاضر 1 کاربر در حال مشاهده این موضوع است. (0 کاربران و 1 مهمان ها)

موضوعات مشابه

  1. آموزش برنامه نویسی آیفون (قسمت اول)
    توسط Momeks در انجمن آموزشهای مرجع
    پاسخ: 71
    آخرين نوشته: 25-08-2017, 02:55 PM
  2. راهنمای استفاده از انجمن تخصصی آیفون
    توسط oosin در انجمن قوانین سایت
    پاسخ: 0
    آخرين نوشته: 03-05-2009, 12:53 AM

کلمات کلیدی این موضوع

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •  
اطلاعات سایت
لینک دوستان
درباره سایت
انجمن تخصصی آيفون در سال ۲۰۰۷ با عرضه‌ی اولين نسل گجت‌های iOS اپل فعاليت خود را آغاز نمود. مفتخر هستيم که تا اين لحظه پيشتاز خدمت رسانی به کاربران ايرانی محصولات اپل باشيم.

اکنون ساعت 03:15 AM برپایه ساعت جهانی (GMT - گرینویچ) +4.5 می باشد.

Powered by vBulletin® Version 4.2.3
Copyright © 2018 vBulletin Solutions, Inc. All rights reserved.