Ես ձեզ ցույց կտամ, թե ինչպես ավտոմատացնել 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 հավելվածը: ?
և այլն
ստուգեք հղումները.