Artık Apple, iPhone 6'nın bir NFC çipine sahip olacağını duyurduğuna göre, iOS 8'in iPhone 6 cihazı için RFID etiketlerini okumayı / algılamayı etkinleştirip etkinleştirmeyeceğini bilen var mı? Bu konuda paylaşacak herhangi bir detayı olan var mı?
Yanıtlar:
İPhone6 / 6s / 6 +, pasif NFC etiketlerini (diğer adıyla Keşif Modu) okumak için TASARLANMAMIŞTIR. Bu konuda pek çok yanlış bilgi var, bu yüzden geliştiricilerin dikkate alması için bazı somut bilgiler sağlamayı düşündüm. NFC etiket okuma desteğinin olmaması yazılımdan değil, donanımdan kaynaklanmaktadır. Nedenini anlamak için NFC'nin nasıl çalıştığını anlamanız gerekir. NFC, Yük Modülasyonu yoluyla çalışır. Bu, sorgulayıcının (PCD) pasif hedefe (PICC) enerji veren bir taşıyıcı manyetik alan yaydığı anlamına gelir. Bu taşıyıcı alan tarafından üretilen potansiyel ile, hedef daha sonra sorgulayıcıdan gelen verileri demodüle edebilir ve bu aynı alanın üzerine verileri modüle ederek yanıt verebilir. Buradaki anahtar, hedefin asla kendine ait bir alan yaratmamasıdır.
İPhone6 sökülmesine ve parça listesine bakarsanız, çok küçük bir NFC döngü anteni ve AS3923 güçlendirici IC'nin varlığını göreceksiniz . Bu tasarım, özel microSD veya SIM kartlar için tasarlandıeski cep telefonlarının ödeme yapmasını sağlamak. Bu, cep telefonunun yüksek güçlü temassız bir POS terminaline Kart Emülasyonlu kimlik bilgisi sunduğu uygulama türüdür. POS terminali okuyucu görevi görür ve AS3923 yongasının yardımıyla iPhone6'ya enerji verir. AS3923 blok diyagramı, bir okuyucu cihaz tarafından sunulan bir sinyalden RX ve TX modülasyonunun nasıl güçlendirildiğini açıkça göstermektedir. Başka bir deyişle, iPhone6 bir alan sağlamayı amaçlamaz, yalnızca bir alana tepki vermek içindir. Bu yüzden tasarımı sadece NFC Kart Emülasyonu ve belki Peer-2-Peer içindir, ancak kesinlikle Keşif için değildir.
HW aksesuarları kullanarak bir iPhone6 ile etiket Keşfi elde etmenin bazı alternatifleri vardır . Bu blog yazısında bu entegrasyonlardan ve geliştiricilerin nasıl çözümler tasarlayabileceğinden bahsediyorum . Düşük güçlü okuyucu tasarımlarımız, çok az geliştiricinin düşündüğü mobil etkileşim için ilginç fırsatlar sunar.
Açıklama: Erişim kontrolünden ödemelere kadar çeşitli uygulamalar için yakınlık kimliği donanımı, yazılımı ve hizmetleri sunan bir TechStars şirketi olan Flomio, Inc.'in kurucusuyum .
Güncelleme: Bu söylenti , doğruysa, iPhone'un NFC etiket Keşif modunu pratik olarak destekleme olasılığını açacaktır. Tamamen camdan yapılmış bir tasarım, mevcut iPhone'un metal arka kısmı gibi NFC antenine müdahale etmeyecektir. Bu tasarım yaklaşımını - daha ucuz malzemelerle de olsa - başarılı bir şekilde bazı özel okuyucu tasarımlarımız üzerinde denedik, bu nedenle bu gelişmeyi dört gözle bekliyoruz.
Güncelleme: iOS11, iPhone7 / 7 + için "NFC okuyucu modu" desteğini duyurdu. Detaylar burada . API yalnızca bir uygulama ön plandayken (arka plan algılaması yok) NDEF mesajlarının okunmasını destekler (ISO7816 APDU'lar yok). 2017 Sonbaharında çıkacak ... WWDC açılış konuşmasındaki ekran görüntüsüne bakın:
9 Eylül 15:30 itibarıyla mevcut olan iOS 8 belgelerine bakıldığında, herhangi bir NFC işlemini gerçekleştirmek için NFC denetleyicisine geliştiricinin erişiminden söz edilmiyor; Bu, etiketleri okuma, etiket yazma, eşleştirme, ödemeler, etiket öykünmesi içerir ... Bir NXP denetleyicisi verildiğinde, donanım bu özellikleri gerçekleştirme yeteneğine sahiptir. Bir otel misafirinin oda kapısını NFC ile açmasına izin veren saat için bir 3. taraf uygulamasından bahsetmişlerdi. Bu, NFC için klasik bir kullanım durumudur ve NFC denetleyicisinin bir noktada geliştiricilere açık olacağına dair bazı ipuçları verir. Unutmayın, saatin 2015 yılının ilk çeyreğine kadar piyasaya çıkmaması gerekiyor. Bu yüzden şimdilik kapalı diyebilirim ama yakında açılacak. 'Yenilik' göz önüne alındığında
Açıklama: Apple'ın NFC'yi geliştiricilere açması için açık bir çıkar sahibi olan bir NFC şirketi olan GoToTags'ın CEO'suyum .
--- Düzeltme ve Güncelleme ---
Otel uygulaması aslında NFC değil, Bluetooth kullanıyor. NFC hala bu örnekte değil, kapı kilidinin açılması için hala sıklıkla kullanılmaktadır. Saatin açık bir NFC denetleyicisi varsa NFC kullanılabilir.
Apple'ın tüm bunların farkında olduğunu ve bunu en iyi geliştiricileri ve paydaşları ile tartıştığını biliyorum. Etiketleri okumak için destek eksikliğinden dolayı şimdiden büyük bir olumsuz tepki oldu. Geçmişte sık sık olduğu gibi, Apple'ın bunu sonunda ödemeyle ilgili olmayan işlevsellik (etiketleri okuma, eşleştirme) için geliştiricilere açmasını bekliyorum. Apple'ın diğer cüzdanlara asla izin vereceğini sanmıyorum. Dosya paylaşımı da muhtemelen AirDrop'a bırakılacaktır.
--- 23 Mart 2016'da Güncelleme ---
Bu konuyla ilgili olarak, genellikle bu gönderiye atıfta bulunan kişilerle sürekli olarak güncellemeler isteniyor. Apple'ın iPhone SE'yi piyasaya sürmesiyle, birçok kişi Apple'ın neden henüz etiket okumayı desteklemediğini soruyor. Özetle Apple, şimdilik NFC için diğer kullanım durumlarından daha başarılı olan Apple Pay'e odaklanıyor. Apple, Apple Pay'den çok para kazanabilir ve NFC'nin diğer kullanımlarından daha az kazanabilir. Apple, tüketicinin NFC ve Apple Pay ile güven ve güvenliğinin Apple Pay'i riske atmayacak kadar güçlü olduğunu hissettiğinde büyük olasılıkla NFC etiket okumasını açacaktır. Daha fazla bilgi burada .
--- 24 Mayıs 2017'de güncelleme ---
Yunanistan'daki bir geliştirici, iPhone 6s'in NFC özel çerçeveleri aracılığıyla NFC etiketlerini okumasını sağlamak için hack'ledi; daha fazla bilgi ve video . Bu uzun vadeli bir çözüm olmasa da, bazı önemli sorulara rehberlik ediyor: iPhone'un NFC denetleyicisinde bir NFC etiketine güç sağlamak için yeterli güç var mı? Görünüşe göre cevap evet . İlk testten itibaren menzil birkaç cm'dir ve bu çok da kötü değildir. Ayrıca güç ayarlanabilir olabilir; bu şu anda araştırılıyor. Bunun sonuçları önemlidir. Eski model telefonların etiket okuma / yazma için yeterli RF gücü varsa, Apple SDK'yı açtığında bu, yalnızca yeni iPhone'ların yapabildiği duruma kıyasla NFC etiketlerini okuyabilen 100M iPhone olacağı anlamına gelir.
Şu anda, NFC denetleyicisine herhangi bir açık erişim yok. İOS 8 GM SDK'da şu anda hiçbir NFC API'si bulunmuyor - bu, NFC özelliğinin başlangıçta Apple Pay ile sınırlı olacağını gösterir. Bizim anlayışımız bu.
Açıkçası, iPhone 6'nın içindeki NXP çipinin daha fazlasını yapabilmesi muhtemeldir, bu nedenle bu ek özelliklerin (eşleştirme, etiket tarama / kodlama) piyasaya sürülmek üzere veya yakın gelecekte eklenmeyeceği anlamına gelmez.
Şu anda, Apple etti değil böyle bu olanları gibi birçok eşyada önerdiği gibi geliştiricilere gömülü NFC çipi için herhangi erişimi açtı:
Liste devam ediyor. Ana neden (geçmişte iPhone'a eklenen diğer birçok donanım özelliği gibi), Apple'ın geliştiricilerin istediklerini yapmalarına izin vermeleri için herhangi bir API yayınlamadan önce bu teknolojinin güvenliğini sağlamak istemesi gibi görünüyor. Bu nedenle, ilk başta, yalnızca kendi ihtiyaçları için dahili olarak kullanacaklar (lansman sırasında Apple Pay gibi).
NFC etiketlerinin sağlayıcısı RapidNFC, "Şu anda NFC denetleyicisine herhangi bir açık erişim yok" dedi. "İOS 8 GM SDK'da şu anda NFC API yok".
Ama sonunda, hepimizin böyle bir API geliştirecekleri konusunda hemfikir olabileceğimizi düşünüyorum, bu sadece bir zaman meselesi.
Yalnızca iPhone 7 ve 7 plus'ı destekleyen iOS 11'e bir NFC etiketi okuma özelliği eklendi.
Test sürüşü olarak bu depoyu yaptım
İlk olarak: NFCNDEFReaderSession sınıfını başlatmamız gerekiyor
var session: NFCNDEFReaderSession?
session = NFCNDEFReaderSession(delegate: self, queue: nil, invalidateAfterFirstRead: false)
Ardından oturuma şu şekilde başlamalıyız:
session?.begin()
ve bittiğinde:
session?.invalidate()
Temsilcinin (kendisinin uygulaması gereken) temelde iki işlevi vardır:
func readerSession(_ session: NFCNDEFReaderSession, didDetectNDEFs messages: [NFCNDEFMessage])
func readerSession(_ session: NFCNDEFReaderSession, didInvalidateWithError error: Error)
İşte referansım Apple docs
Şu anda mevcut olan tek bilgi, Apple Pay'in ios8'de mevcut olacağıdır, ancak bu, RFID etiketlerinin veya özellikle NFC etiketlerinin algılanıp / okunamayacağı konusunda herhangi bir ışık tutmaz.
IMO, bu olasılığa izin vermemek için dar görüşlü bir hareket olurdu, ancak gerçekten para Apple Pay'de, geliştiricilerin bu özelliklere erişmesine izin vermek zorunda değil - bunu daha önce tethering, Bluetooth SPP ve belirli işlevlere erişimin azalmasıyla görmüştük. .
... ama yine de, ilk duyurunun üzerinden yaklaşık 5 saat geçti.
Sanırım, NFC'ye erişimi, örneğin birinin yanından geçip geçip telefonunuzu kart ayrıntılarını zaplamak veya sadece telefonunuzu sallamak gibi saf güvenlik tarafı olarak görmeden önce bir süre geçecek. Masanın üzerine bıraktıkları birinin cüzdanının üzerinden.
Sanırım ilk adım Apple'ın bankalarla konuşması ve kartları ve NFC'yi güvenli hale getirmenin daha fazla yolunu bulması.