2.4.9
0,59,5
iOS
Сборки приложений
Приложение не собирается
Эмулятор
Просто реагируйте на собственные запуски ios с вышеуказанными версиями react-native-iap и React native
Это точная ошибка, которую я получаю:
/node_modules/react-native-iap/ios/RNIapIos.m:167:5: unknown type name 'SKPaymentDiscount'; did you mean 'SKProductDiscount'?
Я попытался переименовать SKPaymentDiscount в SKProductDiscount просто для того, чтобы посмотреть, и получил разные ошибки.
Дайте знать, если у вас появятся вопросы.
Я еще не тестировал это в последней версии ios
. Я чувствую, что в новой версии произошли изменения. Не могли бы вы дать нам PR
, если это возможно?
@hyochan Я был бы рад, но я не уверен на 100%, как бы я это сделал. Не могли бы вы провести меня через настройку PR для вас всех? Я не знаю, что исправить
@ndejesus1227 Как вы думаете, вы нашли решение этой проблемы?
@hyochan нет, не видел. Я пытался исправить это, но я знаю только JavaScript. Мне нужно найти кого-то, кто знает нативную iOS намного лучше, чем я.
@ndejesus1227 На самом деле, эта функция была реализована @renatoalencar в #455. В настоящее время я не могу помочь в этом.
Спасибо, @hyochan.
@renatoalencar, на какой версии React Native вы работаете? Я не уверен, следует ли мне сейчас понизить версию react-native-iap или RN.
Здравствуйте @ndejesus1227 , это моя вина, извините. На самом деле происходит то, что ваша версия iOS ниже 12.2. Как описано в документации Apple , SKPaymentDiscount
доступен только для iOS 12.2+.
Я должен был проверить актуальную версию iOS, но в итоге забыл.
@renatoalencar а, хорошо. В этом есть смысл. Есть ли у вас какие-либо идеи о том, когда вы можете исправить это? Вы можете не торопиться, просто любопытно
Я буду переходить на версию до этого обновления, пока это не будет решено @hyochan @renatoalencar
У меня тоже есть эта проблема в версии 2.4.11
. Единственная версия, которая работала до того, как @hyochan внес изменения, это 2.4.8
Спасибо за объяснение @ggdegreat , поэтому я перехожу на 2.4.8!
У меня была такая же проблема, и я могу подтвердить, что 2.4.8 устраняет проблему. Спасибо за помощь!
Таким образом, пакет не будет совместим с ios
ниже 12 от 2.4.9
. Я обновил readme для миграции .
Будет ли работать оплата через Apple Pay (без всплывающих окон)?
Нам нужно синхронизировать обе версии, если мы хотим использовать их в производственной библиотеке.
Мы не можем выбирать между версией > 12 и версией < 12 для бизнеса!
Я наверное чего-то не понимаю! Спасибо за вашу работу @hyochan !
У меня была такая же проблема - теперь решил. Больше года я не открывал Xcode. Сейчас взял свой iphone 6s и обновился до прошивки 12.3.1; мой Mac все еще был на «Sierra», поэтому моя установка Xcode не была совместима с последней версией ios. При попытке запустить код на iphone, подключенном к macbook, я получил эти сообщения. Тогда решение:
---> теперь все работает
Итак, приложение, использующее эту библиотеку, не будет работать на iOS <12.2?
Будет с 3.0.0
Спасибо, останусь на 2.4.8 до выхода 3.0.0
@DataGreed Только что выпустил 3.0.0
.
@hyochan мы все еще видим проблему с SKPaymentDiscount в версии 3.0.0.
Есть ли что-то, что нам не хватает? мы только что обновили версию package.json, установили и очистили/собрали приложение в xcode. Ошибка все еще появляется.
@danidfm Какова ваша цель сборки в ios
? Кроме того, попробуйте полностью удалить node_modules
до npm install
цель сборки — 11.0, и мы полностью удалили папку node_modules.
у меня такая же проблема - пробовал 3.0.0, но откатился на 2.4.8
(кстати, до этого я пробовал версии 3.0.0 RC и все равно получал ту же ошибку)
Не могли бы вы все любезно протестировать проект IamExample
и увидеть разницу с вашим проектом? Я хочу быть ясным при взгляде на одни и те же коды.
Здравствуйте @ndejesus1227 , это моя вина, извините. На самом деле происходит то, что ваша версия iOS ниже 12.2. Как описано в документации Apple ,
SKPaymentDiscount
доступен только для iOS 12.2+.Я должен был проверить актуальную версию iOS, но в итоге забыл.
Я просто хочу сказать, что он буквально послал его, чтобы проверить версию и избежать этого вопроса, но он забыл. Его запрос на извлечение никогда не должен был быть объединен с мастером.
Попытка запустить проект в Xcode для моего iPhone с iOS v12.3.1
Та же ошибка при использовании react-native-iap v3.2.2.
Переход на 2.4.8 (сборка прошла успешно)
Я думаю, причина в версии iOS, установленной на устройстве
Это очень странно, потому что некоторые из них уже подтвердили, что сборка в порядке (я тоже). Если у вас возникли проблемы с обновлением, попробуйте удалить ios/build
, а затем повторите попытку.
Только сейчас попробовал построить. Проверьте IapExample
.
@hyochan спасибо за вашу огромную поддержку!
Я только что испробовал все подсказки, упомянутые в этом выпуске (полностью удалил node_modules перед установкой npm, очистил приложение, удалил ios/build). К сожалению, я все еще сталкиваюсь с этой проблемой в сочетании с целью сборки 11.2 и react-native-iap v3.2.2. Я также попытался перейти на версию 2.4.8, что привело к успешной сборке. Более того, я попытался настроить IapExample, но в итоге столкнулся с проблемой, связанной с реакцией (https://github.com/facebook/react-native/issues/25252).
У меня такая же проблема на iMac с macOS 10.13. Мой макбук под управлением 10.15 работает нормально,
Может быть, старая версия Mac не работает? 🤔
@murilobas разные версии xCode?
Проверьте блок кода ошибки версии ОС #if __IPHONE_12_2
и перестройте
`#если __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 `
так
Я столкнулся с этой проблемой. Обновление моего xcode с 10.1 до 10.2.1 устранило мою проблему. Теперь я могу построить свой проект.
Та же проблема с Xcode 10.1, я не могу обновить XCode до 10.2, потому что ему нужна OSX 10.14.3, не поддерживаемая моим старым iMac, застрявшим на 10.13.6.
@ lc3t35 , как вы создали проект iOS с помощью Xcode 10.1?
@liudmyla-schastlyvets Я не могу собрать с 10.1, мне пришлось использовать другой компьютер с последней версией Xcode :(
реактивный родной: 0.59.0
реагировать родной- iap: 2.4.8
Xкод: 10.1
Успешно построенный проект. Спасибо
Да, я тоже ! отличная работа ремонтников!
Самый полезный комментарий
У меня тоже есть эта проблема в версии
2.4.11
. Единственная версия, которая работала до того, как @hyochan внес изменения, это2.4.8