[Closed] IAP not works on iOS (initialization failure)

Hello, I used Codeless IAP, and it works well for Android, but then I tried to upload build to App Store, they declined it with following message:

Here is a XCode console log:

UnityIAP StandardPurchasingModule Version: 1.15.0
UnityEngine.Purchasing.StandardPurchasingModule:Instance(AppStore)
UnityEngine.Purchasing.IAPButtonStoreManager:.ctor()
UnityEngine.Purchasing.IAPButtonStoreManager:.cctor()
UnityEngine.Purchasing.IAPButton:OnEnable()
UnityEngine.Events.UnityEvent:Invoke()
UnityEngine.EventSystems.ExecuteEvents:Execute(GameObject, BaseEventData, EventFunction`1)
UnityEngine.EventSystems.StandaloneInputModule:ProcessTouchPress(PointerEventData, Boolean, Boolean)
UnityEngine.EventSystems.StandaloneInputModule:ProcessTouchEvents()
UnityEngine.EventSystems.StandaloneInputModule:Process()
System.Collections.Generic.IEqualityComparer`1:Equals(T, T)
System.Collections.Generic.IEqualityComparer`1:Equals(T, T)
System.Collections.Generic.IEqualityComparer`1:Equals(T, T)
 
(Filename: /Users/builduser/buildslave/unity/build/artifacts/generated/common/runtime/DebugBindings.gen.cpp Line: 51)
2018-01-26 10:50:40.025965+0200 ZP[621:161352] UnityIAP:Requesting 1 products
2018-01-26 10:50:40.029161+0200 ZP[621:161352] UnityIAP:Requesting product data...
2018-01-26 10:50:41.327661+0200 ZP[621:161352] UnityIAP:Received 0 products
2018-01-26 10:50:41.364331+0200 ZP[621:161352] UnityIAP:No App Receipt found
2018-01-26 10:50:41.368409+0200 ZP[621:161352] UnityIAP:No App Receipt found
Unavailable product full_version -full_version
UnityEngine.Purchasing.PurchasingManager:CheckForInitialization()
UnityEngine.Purchasing.PurchasingManager:OnProductsRetrieved(List`1)
UnityEngine.Purchasing.AppleStoreImpl:OnProductsRetrieved(String)
UnityEngine.Purchasing.Extension.UnityUtil:Update()
System.Collections.Generic.IEqualityComparer`1:Equals(T, T)
System.Collections.Generic.IEqualityComparer`1:Equals(T, T)
System.Collections.Generic.IEqualityComparer`1:Equals(T, T)
 
(Filename: /Users/builduser/buildslave/unity/build/artifacts/generated/common/runtime/DebugBindings.gen.cpp Line: 51)
Purchasing failed to initialize. Reason: NoProductsAvailable
UnityEngine.Purchasing.IAPButtonStoreManager:OnInitializeFailed(InitializationFailureReason)
UnityEngine.Purchasing.PurchasingManager:CheckForInitialization()
UnityEngine.Purchasing.PurchasingManager:OnProductsRetrieved(List`1)
UnityEngine.Purchasing.AppleStoreImpl:OnProductsRetrieved(String)
UnityEngine.Purchasing.Extension.UnityUtil:Update()
System.Collections.Generic.IEqualityComparer`1:Equals(T, T)
System.Collections.Generic.IEqualityComparer`1:Equals(T, T)
System.Collections.Generic.IEqualityComparer`1:Equals(T, T)
 
(Filename: /Users/builduser/buildslave/unity/build/artifacts/generated/common/runtime/DebugBindings.gen.cpp Line: 51)
2018-01-26 10:50:41.369737+0200 ZP[621:161352] UnityIAP:addTransactionObserver
2018-01-26 10:50:41.369914+0200 ZP[621:161352] UnityIAP UnityEarlyTransactionObserver: Request to initiate queued payments
IAPButton.PurchaseProduct() with product ID: full_version
UnityEngine.Purchasing.IAPButton:PurchaseProduct()
UnityEngine.Events.UnityEvent:Invoke()
UnityEngine.EventSystems.ExecuteEvents:Execute(GameObject, BaseEventData, EventFunction`1)
UnityEngine.EventSystems.StandaloneInputModule:ProcessTouchPress(PointerEventData, Boolean, Boolean)
UnityEngine.EventSystems.StandaloneInputModule:ProcessTouchEvents()
UnityEngine.EventSystems.StandaloneInputModule:Process()
System.Collections.Generic.IEqualityComparer`1:Equals(T, T)
System.Collections.Generic.IEqualityComparer`1:Equals(T, T)
System.Collections.Generic.IEqualityComparer`1:Equals(T, T)
 
(Filename: /Users/builduser/buildslave/unity/build/artifacts/generated/common/runtime/DebugBindings.gen.cpp Line: 51)
Purchase failed because Purchasing was not initialized correctly
UnityEngine.Purchasing.IAPButtonStoreManager:InitiatePurchase(String)
UnityEngine.Events.UnityEvent:Invoke()
UnityEngine.EventSystems.ExecuteEvents:Execute(GameObject, BaseEventData, EventFunction`1)
UnityEngine.EventSystems.StandaloneInputModule:ProcessTouchPress(PointerEventData, Boolean, Boolean)
UnityEngine.EventSystems.StandaloneInputModule:ProcessTouchEvents()

UnityEngine.EventSystems.StandaloneInputModule:Process()
System.Collections.Generic.IEqualityComparer`1:Equals(T, T)
System.Collections.Generic.IEqualityComparer`1:Equals(T, T)
System.Collections.Generic.IEqualityComparer`1:Equals(T, T)
 
(Filename: /Users/builduser/buildslave/unity/build/artifacts/generated/common/runtime/DebugBindings.gen.cpp Line: 51)
IAPButton.OnPurchaseFailed(Product , PurchaseFailureReason PurchasingUnavailable)
UnityEngine.Purchasing.IAPButton:OnPurchaseFailed(Product, PurchaseFailureReason)
UnityEngine.Purchasing.IAPButtonStoreManager:InitiatePurchase(String)
UnityEngine.Events.UnityEvent:Invoke()
UnityEngine.EventSystems.ExecuteEvents:Execute(GameObject, BaseEventData, EventFunction`1)
UnityEngine.EventSystems.StandaloneInputModule:ProcessTouchPress(PointerEventData, Boolean, Boolean)
UnityEngine.EventSystems.StandaloneInputModule:ProcessTouchEvents()
UnityEngine.EventSystems.StandaloneInputModule:Process()
System.Collections.Generic.IEqualityComparer`1:Equals(T, T)
System.Collections.Generic.IEqualityComparer`1:Equals(T, T)
System.Collections.Generic.IEqualityComparer`1:Equals(T, T)
 
(Filename: /Users/builduser/buildslave/unity/build/artifacts/generated/common/runtime/DebugBindings.gen.cpp Line: 51)
InvalidOperationException: Collection was modified; enumeration operation may not execute.
  at System.Collections.Generic.List`1+Enumerator[T].System.Collections.IEnumerator.Reset () [0x00000] in <filename unknown>:0
  at System.Collections.Generic.List`1+Enumerator[T].VerifyState () [0x00000] in <filename unknown>:0
  at UnityEngine.Purchasing.IAPButton+IAPButtonStoreManager.InitiatePurchase (System.String productID) [0x00000] in <filename unknown>:0
  at UnityEngine.Events.UnityEvent.Invoke () [0x00000] in <filename unknown>:0
  at UnityEngine.EventSystems.ExecuteEvents.Execute[T] (UnityEngine.GameObject target, UnityEngine.EventSystems.BaseEventData eventData, UnityEngine.EventSystems.EventFunction`1 functor) [0x00000] in <filename unknown>:0
  at UnityEngine.EventSystems.StandaloneInputModule.ProcessTouchPress (UnityEngine.EventSystems.PointerEventData pointerEvent, Boolean pressed, Boolean released) [0x00000] in <filename unknown>:0
  at UnityEngine.EventSystems.StandaloneInputModule.ProcessTouchEvents () [0x00000] in <filename unknown>:0
  at UnityEngine.EventSystems.StandaloneInputModule.Process () [0x00000] in <filename unknown>:0
  at System.Collections.Generic.IEqualityComparer`1[T].Equals (.T x, .T y) [0x00000] in <filename unknown>:0
  at System.Collections.Generic.IEqualityComparer`1[T].Equals (.T x, .T y) [0x00000] in <filename unknown>:0
  at System.Collections.Generic.IEqualityComparer`1[T].Equals (.T x, .T y) [0x00000] in <filename unknown>:0
UnityEngine.EventSystems.ExecuteEvents:Execute(GameObject, BaseEventData, EventFunction`1)
UnityEngine.EventSystems.StandaloneInputModule:ProcessTouchPress(PointerEventData, Boolean, Boolean)
UnityEngine.EventSystems.StandaloneInputModule:ProcessTouchEvents()
UnityEngine.EventSystems.StandaloneInputModule:Process()
System.Collections.Generic.IEqualityComparer`1:Equals(T, T)
System.Collections.Generic.IEqualityComparer`1:Equals(T, T)
System.Collections.Generic.IEqualityComparer`1:Equals(T, T)
 
(Filename: currently not available on il2cpp Line: -1)

I noticed the string:
Purchase failed because Purchasing was not initialized correctly
I used Codeless IAP, so i did not any initialization manually… it should perform automatically, isn’t it?

Unity 2017.3.0f3

Did you app work successfully in TestFlight? TestFlight allows you to test your iOS application, prior to uploading it to the App Store TestFlight - Apple Developer And make sure you follow the steps here Unity - Manual: Configuring for Apple App Store and Mac App Store

We executed the game on iPhone connected to Mac, and XCode logged such errors.
Yes, we checked twice, product ID in the store and in the IAP Catalog window is the same.

Please test with Apple TestFlight. You won’t be able to connect to the Apple Store until you go through this process.