InAppPurchase invalid product identifiers - Possible Reasons

白昼怎懂夜的黑 提交于 2019-12-12 08:33:20

问题


It has been a long night chasing the problem within my in-app purchase trials yet I can not seem to solve this issue.My product identifier keeps returning as "invalid product identifier". Hopefully someone will point it out; (With current provisioning profile and appId I got push notifications working)

  1. My App ID is generated (with no wildcards) - inApp purchase is enabled

  2. My IAP(In-App Purchase) is added in "Manage your in-app purchases" and cleared for sale.

  3. My IAP is added 24 hours ago ( maybe couple of hours more) and is in "Waiting For Review" state

  4. My App itself is developer rejected > and it is state "ready to upload", in-app purchase is added to the App.

  5. My phone is not jailbroken (at least not anymore, didn't worked either way)

  6. I am working with a 3GS, 5.1 iOS.

  7. My current provisioning profile is a "Developer Profile" not a "Distribution Profile". "Distribution Profile" is used only while uploading the Application Binary.

  8. I am building for iOS 5.0 and build configuration is set to Debug.

  9. I deleted the app like 100 times now, literally.

  10. All details are set in iTunes Connect, including bank details.

  11. I have created a test user, and I logged in from "Settings > Store" on my device.

  12. My SKProductRequest:

    SKProductsRequest *productRequest = [[SKProductsRequest alloc]initWithProductIdentifiers:[NSSet setWithObject:@"com.my_site.my_app.my_product"]];
    

Any other information can be supplied.


回答1:


I don't know how, and don't know will it remain valid. But here is the interesting solution which let me solve my problem.

According to the documentation, SKProductRequest should be;

SKProductsRequest *productRequest = [[SKProductsRequest alloc]initWithProductIdentifiers:[NSSet setWithObject:@"com.my_site.my_app.my_product"]];

Your product request should be like this;

com.my_site.my_app.my_product

but in my situation I just sent my product id, just like this and it WORKED;

SOLUTION #1

SKProductsRequest *productRequest = [[SKProductsRequest alloc]initWithProductIdentifiers:[NSSet setWithObject:@"my_product"]];

While digging in, I found that for some people this notation also worked;

SOLUTION #2

SKProductsRequest *productRequest = [[SKProductsRequest alloc]initWithProductIdentifiers:[NSSet setWithObjects:@"com.my_site.my_app","my_product",nil]];

There was nothing wrong with my setup, and the above listed things should be supplied, if anyone having problems with invalid product identifiers, I recommend them to visit Troy Brant's "Cause of Invalid Product ID's List", here . Also you can find his detailed walkthrough about implemeting and setting up IAP, here.

If you get desperate, I strongly recommend you to try both solutions, and they can save you from hours of frustration.




回答2:


My paid applications agreement wasn't valid in iTunes Connect. As soon as I agreed to the new one, it fixed the problem.




回答3:


You are using the latest provision profile right(which is downloaded after setting up in-app purchase).




回答4:


Things ended up working for me:

  • I use Xcode automatic profiles and I got a bit confused on the app store connect webpage with the profile. I made sure ids matched on Xcode and on the webpage.
  • I just needed the product id, not the full com.company.app.product
  • took me like 2 hours to have things work, so maybe some refresh time on Apple's servers



回答5:


Spends a couple of days at this. Here is what was missing from mine:

  • Make sure the BundleID in iTunes Connect matches that in your Xcode project.



回答6:


Please make sure about below.

  1. Please remove Existing application from Device and Install fresh build from Xcode.

  2. Have you enabled In-App Purchases for your App ID?

  3. Does your project’s .plist Bundle ID match your App ID?

  4. Have you generated and installed a new provisioning profile for the new App ID?

  5. Have you configured your project to code sign using this new provisioning profile?

  6. Are you using the full product ID when when making an SKProductRequest?

  7. Have you waited several hours since adding your product to iTunes Connect?

  8. Are your bank details active on iTunes Connect?

  9. Is your device jailbroken? If so, you need to revert the jailbreak for IAP to work.

If you answered No to any one of these questions, there’s your problem.

Please refer Reference



来源:https://stackoverflow.com/questions/11387403/inapppurchase-invalid-product-identifiers-possible-reasons

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!