Skip to main content

Steps to add IAP for Unity iOS and publishing steps

Adding IAP


  1. Create a new app ID and create a new app using that ID on apple connect
  2. Add IAP and make sure that screenshots are provided to get the IAP in Ready to Submit state.
  3. To test IAP on test account, you need to wait between 12-24 hours to make the product available to test.

App installation failed, Could not write to the device


  • Restart your iphone and xcode.
  • Sometimes restart Mac or build 3-4 times
  • If you have another device such as iPad, build and run for that device and then run it back with previous device again

Building to device


  1. Export XCode project from Unity as usual.
  2. Create new development certificate for building into the device
  3. Mark automatic code signing if you're in development and testing the app
  4. Select your team in the provision profile


Note : If you're using onesignal, make sure you also select your team in targets in onesignal project as well.

Publishing to appstore


  1. Create distribution profile for app and download it
  2. Uncheck automatic code signing and use the downloaded profile
  3. Disable bitcode in both project and targets to make sure bitcodes are not problems since if you're using thirdparty frameworks such as facebook, your archive build will fail if they don't support bitcodes.


Note : If you're using onesignal, make sure that you have to create a new multi-domain distribution profile for onesignal project and select that profile in targets.

Note : Don't forgot to turn on IAP and Push notifications in Capabilities



Comments

Popular posts from this blog

Using XAML on Monogame for WinRT (Part 2)

Integrating Monogame with XAML Metro UI If you're coming from the previous section, you now have a metro UI application project with blank page and also have monogame.windows8 library reference to the project. Now Let's fix some source code for the  pages to get XAML working with monogame. Step01 ( Hacking App.xaml.cs file) App.xaml.cs delivers the most important start point while rendering a particular page in Metro UI application. I added gamePage and mainPage as  a public variables as they become accessible from other classes to for page nagivations. Here is the source code for to see what it looks like for the final App.xaml.cs file. sealed partial class App : Application     {         public ContentManager Content { get; set; }         public GameServiceContainer Services { get; set; }         public GamePage gamePage;         public MainPage mainPage;   ...

Optimising Unity new UI System

UI/Sprite textures aren't packed into a texture atlas by default. A tag is needed to group them. Read the documentation / tutorial on the sprite packer. Overlapping text/graphic boundaries with another text/graphic will create additional draw calls, even if the actual visual graphics do not overlap. Grids (other layouts too I presume) need minimum 1 pixel spacing between items, else items are considered overlapping and will create additional draw calls. Images with alpha 0 are still rendered. They are rendered with alpha 0 even though they are not seen. Unity currently does not support non-rectangle shapes as Sprites, so using the TightSpitePacker policy will cause image artifacts. When UI objects are offscreen, they are still batched (rendered as well?). Possible solutions: Change parent to non-UI parent, as UI Camera will no longer detect it Change layer of panel so UI Camera will no longer detect it Disable gameobject when off-screen ScrollRect performance tuning S...

Setting up perforce server on Windows and allows connections from other local machines

Download p4server.exe for windows and install it. Restart the computer after you've installed it. Since it will install as windows service, you don't have to start the service and you're now ready to connect using p4v from local machine. But there will be a problem when you're trying to connect from another service since the perforce service is running on localhost:1666 so it only accept local connection only. You need to bind to 0.0.0.0:1666 but it will be quite hard and have a risk to change default perforce config files.. What you can do is you can modify the host file in other remote machines to connect to the server computer. In windows, hosts file is located at Windows/etc/driver folder and on Mac it's located at sudo nano /etc/hosts add the following line to the host file [your server machine local ip address] perforce Now in the p4v client of the remote machines, you will be able to connect using perforce:1666 Note : Don't forget to tu...