Saya sedang mengerjakan aplikasi iOS. Saya ingin aplikasi ini mendukung iOS 7 dan 8. Ini berjalan cukup baik, namun ada banyak bagian aplikasi yang menggunakan API Apple. Beberapa dari API ini berfungsi di iOS 8 dan 7. Namun, beberapa di antaranya tidak digunakan lagi di iOS 8. Jadi saya pergi ke situs pengembang Apple untuk melihat apa yang harus menggantikannya (metode baru/dll....).
Namun, sekarang saya punya masalah karena aplikasinya bisa berfungsi dengan baik di iOS 8, tapi ada bagian tertentu yang tidak berfungsi dengan baik di iOS 7 karena saya mencoba menggunakan API iOS 8...... (lol) .
Jadi saya hanya ingin tahu, apa cara terbaik untuk mengimplementasikan kode yang berfungsi di iOS 8 dan 7. Saya punya beberapa ide (di bawah), tapi saya tidak yakin mana yang terbaik:
IDE 1
Setiap kali saya memiliki kode yang tidak berfungsi pada kedua OS, saya menggunakan fungsi if (yang memanggil makro) seperti:
if (SYSTEM_VERSION_LESS_THAN(@"8.0")) {
// iOS 7 device. Use iOS 7 apis.
}
else {
// iOS 8 (or higher) - use iOS 8 apis.
}
IDE 2
Saya sedang berpikir untuk menggunakan definisi ifdef di seluruh aplikasi seperti:
#ifdef __IPHONE_8_0
// iOS 8 code here....
#else
// iOS 7 code here....
#endif
Cara mana yang lebih baik? Saya mengira ide kedua jauh lebih cepat dan menggunakan lebih sedikit sumber daya, bukan?
Atau apakah kedua ideku itu sampah? Apakah ada cara yang lebih baik untuk menyelesaikan masalah ini?
Terima kasih atas waktunya, Dan.