React-native-iap: Tidak dapat berjalan di iOS karena 'nama jenis tidak dikenal' SKPaymentDiscount'

Dibuat pada 25 Apr 2019  ·  38Komentar  ·  Sumber: dooboolab/react-native-iap

Versi reaksi-asli-iap

2.4.9

Versi reaksi-asli

0.59.5

Platform yang Anda hadapi kesalahannya (IOS atau Android atau keduanya?)

iOS

Perilaku yang diharapkan

Pembuatan aplikasi

Perilaku sebenarnya

Aplikasi tidak dibangun

Lingkungan yang diuji (Emulator? Perangkat Nyata?)

emulator

Langkah-langkah untuk mereproduksi perilaku

Hanya react-native run-ios dengan versi react-native-iap dan React native di atas

Ini adalah kesalahan persis yang saya dapatkan:

/node_modules/react-native-iap/ios/RNIapIos.m:167:5: unknown type name 'SKPaymentDiscount'; did you mean 'SKProductDiscount'?

Saya mencoba mengganti nama SKPaymentDiscount menjadi SKProductDiscount hanya untuk melihat dan saya mendapatkan kesalahan yang berbeda.

Beri tahu saya jika Anda memiliki pertanyaan.

⌛️ legacy 📱 iOS

Komentar yang paling membantu

saya mengalami masalah ini juga pada versi 2.4.11 . Satu-satunya versi yang berfungsi sebelum @hyochan membuat perubahan adalah 2.4.8

Semua 38 komentar

Saya belum menguji ini dalam versi ios baru-baru ini. Saya merasa ada perubahan di versi yang lebih baru. Bisakah Anda memberi kami PR jika memungkinkan?

@hyochan Saya akan dengan senang hati melakukannya, tetapi saya tidak 100% yakin bagaimana saya akan melakukannya. Bisakah Anda memandu saya menyiapkan PR untuk kalian semua? Saya tidak tahu apa perbaikannya

@ndejesus1227 Apakah Anda pikir Anda telah menemukan solusi untuk masalah ini?

@hyochan tidak, saya belum. Saya telah mencoba memperbaikinya tetapi saya hanya tahu JavaScript. Saya harus mencari seseorang untuk membantu yang tahu iOS Asli jauh lebih baik daripada saya

@ndejesus1227 Sebenarnya fitur ini sudah diimplementasikan oleh @renatoalencar di #455. Saya tidak dapat membantu ini lebih jauh saat ini.

Terima kasih, @hyochan.

@renatoalencar versi asli reaksi apa yang Anda jalankan? Saya tidak yakin apakah saya harus menurunkan versi react-native-iap atau RN untuk saat ini

Halo @ndejesus1227 , itu pada saya, maaf. Apa yang sebenarnya terjadi adalah versi iOS Anda di bawah 12.2. Seperti yang dijelaskan dalam dokumentasi Apple , SKPaymentDiscount hanya tersedia untuk iOS 12.2+.

Saya seharusnya memverifikasi versi iOS yang sebenarnya, tetapi akhirnya lupa.

@renatoalencar ah, oke. Itu masuk akal. Apakah Anda punya ide kapan Anda bisa memperbaikinya? Anda dapat meluangkan waktu, hanya ingin tahu

Saya akan menurunkan versi ke versi sebelum pembaruan ini sampai ini ditangani @hyochan @renatoalencar

saya mengalami masalah ini juga pada versi 2.4.11 . Satu-satunya versi yang berfungsi sebelum @hyochan membuat perubahan adalah 2.4.8

Terima kasih atas penjelasannya @ggdegreat , jadi saya akan ke 2.4.8 !

Saya mengalami masalah yang sama, dan dapat mengonfirmasi bahwa 2.4.8 telah memperbaiki masalah. Terima kasih untuk bantuannya!

Jadi paket tidak akan kompatibel dengan ios di bawah 12 dari 2.4.9 . Saya telah memperbarui readme untuk migrasi .

Apakah pembayaran dengan apple Pay (dan tidak ada popup) akan berfungsi?

Kita perlu menjaga sinkronisasi kedua versi jika ingin digunakan di perpustakaan produksi.

Kami tidak dapat memilih antara versi > 12 atau versi < 12 untuk bisnis!

Mungkin ada sesuatu yang saya tidak mengerti! Terima kasih atas pekerjaan Anda @hyochan !

Saya memiliki masalah yang sama - sekarang terpecahkan. Selama lebih dari setahun saya tidak membuka Xcode. Sekarang saya mengambil iphone 6s saya dan memutakhirkan ke firmware 12.3.1; mac saya masih di 'Sierra', jadi instalasi Xcode saya tidak kompatibel dengan ios terbaru. Ketika mencoba menjalankan kode pada iphone yang terhubung dengan macbook, saya mendapat pesan-pesan ini. Maka solusinya:

  • Saya memutakhirkan Mac-OS saya ke 10.14.5
  • Saya memutakhirkan Xcode ke 10.2.1
  • Saya menggunakan react-native-iap 2.5.5
  • iPhone 6S dengan iOS 12.3.1
  • eject expo-project dengan sdk 32.0.0, itu berarti expo-modified-react-native berdasarkan 0.57

---> sekarang semuanya berfungsi

Jadi, aplikasi yang menggunakan pustaka ini tidak akan berfungsi saat dijalankan di iOS <12.2?

Ini akan dari 3.0.0

Terima kasih, akan tetap di 2.4.8 hingga 3.0.0 akan dirilis

@DataGreed Baru saja merilis 3.0.0 sekarang.

@hyochan kita masih bisa melihat masalah dengan SKPaymentDiscount di v3.0.0.

Apakah ada sesuatu yang kita lewatkan? kami baru saja memperbarui versi di package.json, menginstal dan membersihkan/membangun aplikasi di xcode. Kesalahan masih muncul.

@danidfm Apa target build Anda di ios ? Juga, coba hapus sepenuhnya node_modules sebelum npm install

target build adalah 11.0 dan kami menghapus sepenuhnya folder node_modules.

masalah yang sama dengan saya – mencoba 3.0.0, tetapi kembali ke 2.4.8

(omong-omong, sebelumnya saya mencoba versi 3.0.0 RC dan masih mendapatkan kesalahan yang sama)

Bisakah Anda semua menguji proyek IamExample dan melihat perbedaannya dengan proyek Anda? Saya ingin menjadi jelas dalam melihat kode yang sama.

Halo @ndejesus1227 , itu pada saya, maaf. Apa yang sebenarnya terjadi adalah versi iOS Anda di bawah 12.2. Seperti yang dijelaskan dalam dokumentasi Apple , SKPaymentDiscount hanya tersedia untuk iOS 12.2+.

Saya seharusnya memverifikasi versi iOS yang sebenarnya, tetapi akhirnya lupa.

Saya hanya ingin mengatakan bahwa dia benar-benar mengirim dia seharusnya memverifikasi versi dan menghindari masalah ini, tetapi dia lupa. Permintaan tarikannya seharusnya tidak pernah digabungkan menjadi master

Mencoba Menjalankan proyek di Xcode untuk iPhone saya dengan iOS v12.3.1
Kesalahan yang sama, menggunakan react-native-iap v3.2.2.
Pergi ke 2.4.8 (build berhasil)

Saya pikir alasannya adalah versi iOS diinstal pada perangkat

Ini sangat aneh, karena beberapa dari mereka sudah mengonfirmasi bahwa build itu baik-baik saja (saya juga). Jika Anda mengalami masalah saat memutakhirkan, coba hapus ios/build lalu coba lagi.

Saya baru saja mencoba membangun sekarang. Periksa IapExample .
image

@hyochan terima kasih atas dukungan Anda yang luar biasa!

Saya baru saja mencoba semua petunjuk yang disebutkan dalam masalah ini (sepenuhnya menghapus node_modules sebelum menginstal npm, membersihkan aplikasi, menghapus ios/build). Sayangnya saya masih mendapatkan masalah ini dalam kombinasi dengan build target 11.2 dan react-native-iap v3.2.2. Saya juga mencoba menurunkan versi ke v2.4.8, yang mengarah ke build yang sukses. Selain itu saya mencoba mengatur IapExample tetapi berakhir dengan masalah asli reaksi ini ( https://github.com/facebook/react-native/issues/25252)

Saya mengalami masalah yang sama pada iMac dengan macOS 10.13. Macbook saya yang menjalankan 10.15 sedang dibangun dengan baik,

Mungkin versi mac yang lebih lama tidak berfungsi? 🤔.

@murilobas versi xCode yang berbeda?

Periksa versi os #if __IPHONE_12_2 blok kode kesalahan dan bangun kembali

`#jika __IPHONE_12_2

    SKPaymentDiscount *discount = [[SKPaymentDiscount alloc]
                                   initWithIdentifier:discountOffer[@"identifier"]
                                   keyIdentifier:discountOffer[@"keyIdentifier"]
                                   nonce:[[NSUUID alloc] initWithUUIDString:discountOffer[@"nonce"]]
                                   signature:discountOffer[@"signature"]
                                   timestamp:discountOffer[@"timestamp"]
                                   ];

    SKMutablePayment *payment = [SKMutablePayment paymentWithProduct:product];
    payment.applicationUsername = usernameHash;
    payment.paymentDiscount = discount;

    [[SKPaymentQueue defaultQueue] addPayment:payment];
    [self addPromiseForKey:RCTKeyForInstance(payment.productIdentifier) resolve:resolve reject:reject];
    #endif `

seperti ini

Saya mengalami masalah ini. Memperbarui xcode saya dari 10.1 ke 10.2.1 memperbaiki masalah saya. Saya dapat membangun proyek saya sekarang.

Masalah yang sama dengan Xcode 10.1, saya tidak dapat memperbarui XCode ke 10.2 karena memerlukan OSX 10.14.3, tidak didukung oleh iMac lama saya yang macet di 10.13.6.

@lc3t35 , bagaimana Anda membangun proyek iOS dengan Xcode 10.1?

@liudmyla-schastlyvets Saya tidak bisa membangun dengan 10.1, saya harus menggunakan komputer lain dengan Xcode versi terbaru :(

reaksi asli: 0.59.0
reaksi- asli- iap: 2.4.8
Kode X: 10.1
Proyek Berhasil Dibangun. Terima kasih

Ya saya juga ! kerja luar biasa dari pengelola!

Apakah halaman ini membantu?
0 / 5 - 0 peringkat