I developed a simple ARKit app in Unity for iOS. It works great, but there is a strange problem: after several days it stops working. So when I click on the app icon on the iPho
Unlike in Android, you can’t install any app on an iOS device. It has to be signed by Apple first. However, when you’re developing an app, you probably want to test it before sending it to Apple for approval. Provisioning profile act as a link between the device and the developer account. During development, you choose which devices can run your app and which app services your app can access.
A
free provisioning profile
is downloaded from your developer account and embedded in the app bundle, and the entire bundle is code-signed. A Development Provisioning Profile must be installed on each device on which you wish to run your application code. If the information in the provisioning profile doesn’t match certain criteria, your app won’t launch.
Provisioning Profile used to be valid for 90 days, but is now reduced to 7 days, starting from the time the profile was created. This means that after 7 days, your iPhone app will merely stop working.
Apple says:
You may create up to 10 App IDs every 7 days
.
That's why your ARKit app stops working after seven days.
Read Unity Documentation here: Getting started with iOS development.
In case your app stops working in less than or more than seven days – it's definitely a signing bug.
If you wanna change a provisioning profile for existing app, read this useful SO post.
There are several programs for developers:
Look at this article Choosing a Membership.
iOS Developer Program ($99) also allows you use Ad Hoc for free.
Ad Hoc Distribution Provisioning Profile lets you test your built apps on 100 different devices you have configured in iTunes Connect.