Ես ձեզ ցույց կտամ, թե ինչպես ավտոմատացնել Inject Source-ը, օգտագործել սիմուլյատոր առանց 64 բիթ ճարտարապետության և իմ որոշ առանձնահատկությունների և նշումների:

Եթե ​​չեք կարդացել նախորդ մասը.



Կարկատել նախագիծը

Այն մեզ կտա.

  • ավտոմատ Inject Source նախագիծը գործարկելուց հետո
  • Աջակցեք սիմուլյատորին առանց 64 բիթ ճարտարապետության, ինչպես iPhone 4s-ը և 5-ը
  • AppCode-ի աջակցություն

Դա շատ պարզ և հզոր է, ուստի եկեք դա անենք: Մեզ անհրաժեշտ կլինի երկու քայլ.

Առաջին. Swift-ի համար մենք պետք է ստեղծենք դատարկ main.m ֆայլ մեր նախագծում.

Մենյու — Ֆայլ — Նոր — Ֆայլ… — Նպատակ C ֆայլ

Երկրորդ. Բացեք Ներարկման ընտրացանկը — macOS Project — Patch

Այն հաջորդ կոդը կդնի main.m ֆայլին.

Այսպիսով, դուք կարող եք պարզապես պատճենել և տեղադրել այն:

Ահա այսքանը։

Այժմ գործարկեք ձեր նախագիծը, փոփոխություններ կատարեք և պահեք ֆայլը: Դուք պետք է ստանաք ավտոմատ ներարկում և iPhone 4s և 5-ի աջակցություն:

Թեթև ներարկումներ

Յուրաքանչյուր կարգավորիչում ներարկված ֆունկցիա գրելը կանխելու համար ես ստեղծեցի UIViewController-ի ընդլայնում.

Նաև մեզ հաճախ պետք է վերաբեռնել tableView-ը UITableViewController-ի համար, այնպես որ դրա համար նույնպես ստեղծվել է ընդլայնում:

Դուք կարող եք օգտագործել այս ֆունկցիայի գերակայումը հատուկ կարգավորիչների և դրանց տրամաբանության համար, ինչպես վերևում: Մի մոռացեք զանգահարել super.injected():

Եթե ​​դուք օգտագործում եք addSubview մեթոդը viewDidLoad կամ viewWillAppear-ում, ապա ավելացրեք հաջորդ կոդը՝ կանխելու նախորդ ավելացված դիտումների պահպանումը գործարկման ժամանակ.

view.subviews.forEach {
    $0.removeFromSuperview()
}

Օրինակ նախագիծ gif-ից

Ահա այն:



Այն կարկատված է և ներառում է ընդարձակումներ:

Իմ գրառումները

Սխալ, ինչպես այս մեկը.

նշանակում է, որ դուք փորձում եք նախագիծը գործարկել սիմուլյատորի վրա՝ առանց 64 բիթ ճարտարապետության: Օգտագործեք վերը նշված կարկատակը:

File Watcher-ին անհրաժեշտ է հայտնաբերել ֆայլի փոփոխությունները և ավտոմատ ներարկել: Առանց դրա դուք պետք է օգտագործեք Inject Source-ը յուրաքանչյուր փոփոխությունից հետո: Այսպիսով, օգտագործեք File Watcher-ը:

Ես փորձարկեցի Injection-ը և ստեղծեցի, որ ինքնաբերաբար Inject Source-ը սկսվում է միայն կարկատված նախագծի համար:

Իրական սարքերն այլևս հնարավոր չեն iOS 10-ի ավազատուփի պատճառով:

Storyboards-ի փոփոխությունները նույնպես չեն աջակցվում:

Իմ նախագծերից մեկը ներարկման ժամանակ սխալ է ստանում: Դա պայմանավորված է DI կոնտեյների արագ անկմամբ: Այնպես որ, ոչ բոլոր նախագծերը կարելի է ներարկել առայժմ։

Դուք չեք կարողանա օգտագործել վրիպազերծման վահանակը, եթե ներարկումը տեղադրված է (առաջին ֆայլը փոխվում է գործարկումից հետո): Դուք կտեսնեք դատարկ ես և նման սխալներ.

error: <EXPR>:3:1: error: use of unresolved identifier 'self'
self
^~~~

Ներարկման մասին լրացուցիչ տեղեկությունների համար, ինչպիսիք են.

Ինչպե՞ս է ներարկումն աշխատում:
Որո՞նք են ներարկման սահմանափակումները:
Ինչո՞ւ է ներարկումը պահանջում իմ ադմինիստրատորի գաղտնաբառը:
Կարո՞ղ եմ ներարկումն օգտագործել AppCode-ով:
Էլ ի՞նչ կարող է անել Injection հավելվածը: ?
և այլն

ստուգեք հղումները.