Я потратил два дня на борьбу со всеми моими productsRequest (для AppID), которые оказались в списке response.invalidProductIdentifiers, а не в response.products. Apple определенно проделала отличную работу по работе со своим магазином. Это запутано, переплетено и сложно.
Я наконец решил это. Один очень важный урок, который я усвоил, на что указали немногие на форумах: для вступления в силу того, что вы ввели на itunesconnect.apple.com, может потребоваться много часов.
Есть две части: имя приложения и AppID в вашем xcode и то, что вы ввели в itunesconnection, они должны точно совпадать (с учетом регистра). Если вы зарегистрировали или изменили свой AppleID в приложении (я также выполнил все свои контракты и банковскую информацию, как некоторые считают, что действия по покупке не будут работать без выполнения этой части), вы можете также лечь спать, прежде чем снова протестировать его. потому что в моем случае действительно требуется несколько часов, чтобы повлиять. Я был так расстроен, борясь с этой проблемой, прежде чем мой 9-летний потащил меня к сказке на ночь, а затем удивился, обнаружив, что проблема исчезла, когда я проснулся.
Я нашел предложения Eddy71 в http://www.iphonedevsdk.com/forum/iphone-sdk-development/21035-problems-creating-test-user-app-purchase.html действительно полезными. Прежде чем разрешить его, я сделал все, что мог, в контрольном списке Эдди, и все еще получил ноль продуктов, и я боялся, что без загрузки двоичного кода для завершения регистрации приложения в itunesconnect все будет в порядке (не нужно запускать программу, как описано в http://blog.mugunthkumar.com/coding/iphone-tutorial-%E2%80%93-in-app-purchases/). Это действительно нормально. Убедитесь, что флажок «разрешено к продаже» отмечен галочкой, а зеленый значок (требуется дополнительный шаг, чтобы подтвердить его после заполнения формы). Можно использовать временный разработчик (не предварительный дистрибутив) в режиме отладки, это также действительно нормально. Надеюсь, это может помочь некоторым из вас. Удачи и веры. В конечном итоге это сработает.