Почему мое приложение iOS не возвращает ни один из продуктов, которые я создал в iTunes Connect? [Дубликат]

Непоследовательные UNICODE определения

Сборник UNICODE Windows построен с TCHAR и т. д., который определяется как wchar_t и т. д. Когда не строится с UNICODE, определенным как сборка с TCHAR, определенным как char и т. д. Эти UNICODE и _UNICODE определяют влияние всех типов строк "T" ; LPTSTR, LPCTSTR и их лося.

Создание одной библиотеки с UNICODE, определенной и попытки связать ее в проекте, где UNICODE не определен, приведет к ошибкам компоновщика, поскольку будет несоответствие в определении TCHAR; char vs. wchar_t.

Обычно ошибка включает в себя функцию a с производным типом char или wchar_t, это может также включать std::basic_string<> и т. д. При просмотре затронутой функции в коде часто будет ссылка на TCHAR или std::basic_string и т. Д. Это контрольный знак того, что код изначально был предназначен как для UNICODE, так и для многобайтового символа ( или "узкий").

Чтобы исправить это, создайте все необходимые библиотеки и проекты с последовательным определением UNICODE_UNICODE).

  1. Это можно сделать либо с помощью;
    #define UNICODE
    #define _UNICODE
    
  2. Или в настройках проекта; Свойства проекта> Общие> Значения по умолчанию> Набор символов
  3. Или в командной строке;
    /DUNICODE /D_UNICODE
    

Альтернатива также применима, если UNICODE не предназначен для использования, убедитесь, что определения не установлены, и / или многосимвольная настройка используется в проектов и последовательно применяемых.

Не забывайте быть последовательными между сборками «Release» и «Debug».

36
задан Gruntcakes 28 January 2014 в 02:15
поделиться

10 ответов

Я столкнулся с одной и той же проблемой, решил ее, отправив только имя продукта IAP, а не идентификатор моего пакета до имени продукта. Вот пример:

работает SKProductsRequest *productRequest = [[SKProductsRequest alloc]initWithProductIdentifiers:[NSSet setWithObject:@"my_product"]];

, а не

не работает SKProductsRequest *productRequest = [[SKProductsRequest alloc]initWithProductIdentifiers:[NSSet setWithObject:@"com.my_site.my_app.my_product"]];

11
ответ дан Ahsan Ebrahim 27 August 2018 в 01:59
поделиться

Первоначальный ответ

У вас есть настройки вашего контракта, банков и т. д.

Исправленный ответ

Кажется, я ошибаюсь в этом. Взгляните на In-App Purchase, SKProductsRequest возвращает 0 - Продукты, все еще находящиеся в обзоре

1
ответ дан Community 27 August 2018 в 01:59
поделиться

Пожалуйста, укажите, установлена ​​ли цена продукта в iTunesConnect или нет. Я пропустил это, и продукты были равны нулю. Весь мой день потратил на это.

1
ответ дан Desert Rose 27 August 2018 в 01:59
поделиться

Убедитесь, что в разделе «Возможности» включена функция «In-App Purchase». Если вы этого не сделаете, SKProductsRequest вернет 0 продуктов.

7
ответ дан Harris 27 August 2018 в 01:59
поделиться

Кроме того, имейте в виду, что согласия на оплату приложений cotract недостаточно. Вы также должны заполнить контактную, банковскую и налоговую информацию для этого агрегированного продукта специально, чтобы это считалось выполненным.

0
ответ дан Matjan 27 August 2018 в 01:59
поделиться

После многократного поиска, следующие шаги решили мою проблему получения 0 продуктов для SKProductsRequest.

Откройте «Настройки»> «Войти» на свой iPhone на устройстве iOS. Если вы уже вошли в систему со своим оригинальным идентификатором Apple, нажмите на него и выберите «Выйти». Затем просто войдите с учетными данными для тестера песочницы, созданного в iTunes Connect.

0
ответ дан Maverick 27 August 2018 в 01:59
поделиться

В том случае, если вы проигнорировали это, сопоставление идентификатора продукта чувствительно к регистру.

Итак, если вы создали продукт на Apple с идентификатором say

< blockquote>

com.yourcompany.product1

, и вы вызываете запрос продукта с идентификатором продукта

com.yourcompany.Product1

Ваш список будет возвращен нулевыми продуктами.

Это помогло мне заняться какое-то время: -)

ps: В отдельном проекте я нашел SKProductsRequest только начал возвращать продукты после перезагрузки. Итак, если все остальное не удается, попробуйте перезагрузить свой Mac.

4
ответ дан nspire 27 August 2018 в 01:59
поделиться

Перейдем к настройкам iOS> iTunes & amp; App Store and Log out

Надеюсь, это поможет вам, я не знаю, почему: D

1
ответ дан Tai Le 27 August 2018 в 01:59
поделиться

Проверьте все 3 вещи в списке ниже 1) проверьте свои идентификаторы продукта - они должны быть точно такими же, как в вашем коде, и в iTunes Connect -> Мои приложения -> YourAppName -> Особенности -> Покупки в приложениях 2) iTunes Connect -> Соглашения, Налоги и Банкинг -> Основные соглашения -> Платные приложения-> Контактная информация / Информация о банке / Налоговая информация (должна быть заполнена) 3 ) для его проверки

class ViewController: UIViewController {

    var requestProd = SKProductsRequest()
    var products = [SKProduct]()

    override func viewDidLoad() {
        super.viewDidLoad()

        validateProductIdentifiers()
    }
}

extension ViewController: SKProductsRequestDelegate {

    func validateProductIdentifiers() {
        let productsRequest = SKProductsRequest(productIdentifiers: Set(["candy100", "someOtherProductId"]))

        // Keep a strong reference to the request.
        self.requestProd = productsRequest;
        productsRequest.delegate = self
        productsRequest.start()
    }

    // SKProductsRequestDelegate protocol method
    public func productsRequest(_ request: SKProductsRequest, didReceive response: SKProductsResponse) {

        self.products = response.products

        for invalidIdentifier in response.invalidProductIdentifiers {
            print(invalidIdentifier)
        }

    }
}

16
ответ дан ua24 27 August 2018 в 01:59
поделиться

У меня была та же проблема ...

Я просто меняю свой идентификатор пакета, который не совпадает с идентификатором пакета iTunes.

И мое приложение работает хорошо:)

8
ответ дан Vishal16 27 August 2018 в 01:59
поделиться
Другие вопросы по тегам:

Похожие вопросы: