How to limit the use of an app to one device on iOSHow to change the name of an iOS app?How to link to apps on the app storestoring in app purchase information on user's devicein-app purchase for crossplatform systemiOS app with framework crashed on device, dyld: Library not loaded, Xcode 6 BetaIn app purchases finishTransactionhow to know if user upgraded the device or using the app in new device?App Store Guidelines in-app purchaseAuto-Renewable Subscriptions questionsPoints buying without in-app purchase for purchasing rides
Why is consensus so controversial in Britain?
How does strength of boric acid solution increase in presence of salicylic acid?
Fencing style for blades that can attack from a distance
Can I make popcorn with any corn?
Minkowski space
Replacing matching entries in one column of a file by another column from a different file
can i play a electric guitar through a bass amp?
What is the word for reserving something for yourself before others do?
What do the dots in this tr command do: tr .............A-Z A-ZA-Z <<< "JVPQBOV" (with 13 dots)
Why does Kotter return in Welcome Back Kotter?
What is the offset in a seaplane's hull?
Finding angle with pure Geometry.
Smoothness of finite-dimensional functional calculus
Voyeurism but not really
Is it legal for company to use my work email to pretend I still work there?
Why "Having chlorophyll without photosynthesis is actually very dangerous" and "like living with a bomb"?
Test if tikzmark exists on same page
Dragon forelimb placement
Is it possible to do 50 km distance without any previous training?
Accidentally leaked the solution to an assignment, what to do now? (I'm the prof)
Is a conference paper whose proceedings will be published in IEEE Xplore counted as a publication?
Either or Neither in sentence with another negative
Mathematical cryptic clues
TGV timetables / schedules?
How to limit the use of an app to one device on iOS
How to change the name of an iOS app?How to link to apps on the app storestoring in app purchase information on user's devicein-app purchase for crossplatform systemiOS app with framework crashed on device, dyld: Library not loaded, Xcode 6 BetaIn app purchases finishTransactionhow to know if user upgraded the device or using the app in new device?App Store Guidelines in-app purchaseAuto-Renewable Subscriptions questionsPoints buying without in-app purchase for purchasing rides
.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty height:90px;width:728px;box-sizing:border-box;
I have currently an app that through in-app purchases a user can unlock content on the app. What I have noticed is that some users "abuse" of this by logging with their Apple ID in multiple devices and I'm currently looking into possibilities on how to limit the use of the content to the device where the purchase was done. I understand that Apple doesn't allow that, so that means the payment system should go away from the app.
Therefore, introducing logging will help me to be able to identify the person that is using the app against a backend but still, I need to be able to limit on a device. As far as I know, the UUIDString of the CurrentDevice is not really a way anymore. What other options are?
I saw this library, which seems to promise unique identification:
https://github.com/fabiocaccamo/FCUUID
Another solution probably would be to create a licensing system, so one license can only be used at the time.
Thanks!
ios swift
add a comment |
I have currently an app that through in-app purchases a user can unlock content on the app. What I have noticed is that some users "abuse" of this by logging with their Apple ID in multiple devices and I'm currently looking into possibilities on how to limit the use of the content to the device where the purchase was done. I understand that Apple doesn't allow that, so that means the payment system should go away from the app.
Therefore, introducing logging will help me to be able to identify the person that is using the app against a backend but still, I need to be able to limit on a device. As far as I know, the UUIDString of the CurrentDevice is not really a way anymore. What other options are?
I saw this library, which seems to promise unique identification:
https://github.com/fabiocaccamo/FCUUID
Another solution probably would be to create a licensing system, so one license can only be used at the time.
Thanks!
ios swift
3
Why not allow a user to use an app they paid for? Why does it matter if they user runs your app on more than one of the devices they have?
– rmaddy
Mar 20 at 20:05
Because the purchase you do is a subscription for a year that allows you to have all the content that cost quite some money available. Some people, runs this in more than 10 devices which basically means, I'm not profiting of it. It's the same as if you buy a license for some software, you can't use it in more than one computer, right? So that's what I'm looking for.
– user1209081
Mar 20 at 20:10
You are going to spend your time and effort and make purchasing harder for users - since they won't be able to subscribe on the device, they will need to find a web site that you can't direct them to in your app to make the payment. Plus you need some process for handling the case where the user legitimately changes device (e.g. new phone). You may find that this actually costs you subscribers, rather than creating new ones. The code you linked to uses uuid and the keychain, so it will probably work for you;it is quite old and written in Objective C so, it may not work "out of the box".
– Paulw11
Mar 20 at 20:18
I understand that... I don't think it's a problem to do it through the website since users already use the website for getting some of the content created by the device. As well, it's indeed a problem when users change the device but I can imagine some cases are acceptable(f.e. requesting a new license every day will not be really normal). I've checked that library and it works perfectly in Swift, it actually generates a UUID that persists even uninstalling the app but probably, when doing a backup, it will be transfered.
– user1209081
Mar 20 at 20:26
Something to consider if you make the payment system 'go away from the app' is that Apple specifically states "Subscribers who were acquired outside of your app can read or play content through the app. However, you may not provide external links in your app that allow users to purchase subscriptions outside of the app."
– digitalHound
Mar 20 at 22:53
add a comment |
I have currently an app that through in-app purchases a user can unlock content on the app. What I have noticed is that some users "abuse" of this by logging with their Apple ID in multiple devices and I'm currently looking into possibilities on how to limit the use of the content to the device where the purchase was done. I understand that Apple doesn't allow that, so that means the payment system should go away from the app.
Therefore, introducing logging will help me to be able to identify the person that is using the app against a backend but still, I need to be able to limit on a device. As far as I know, the UUIDString of the CurrentDevice is not really a way anymore. What other options are?
I saw this library, which seems to promise unique identification:
https://github.com/fabiocaccamo/FCUUID
Another solution probably would be to create a licensing system, so one license can only be used at the time.
Thanks!
ios swift
I have currently an app that through in-app purchases a user can unlock content on the app. What I have noticed is that some users "abuse" of this by logging with their Apple ID in multiple devices and I'm currently looking into possibilities on how to limit the use of the content to the device where the purchase was done. I understand that Apple doesn't allow that, so that means the payment system should go away from the app.
Therefore, introducing logging will help me to be able to identify the person that is using the app against a backend but still, I need to be able to limit on a device. As far as I know, the UUIDString of the CurrentDevice is not really a way anymore. What other options are?
I saw this library, which seems to promise unique identification:
https://github.com/fabiocaccamo/FCUUID
Another solution probably would be to create a licensing system, so one license can only be used at the time.
Thanks!
ios swift
ios swift
edited Mar 20 at 20:05
rmaddy
246k27327390
246k27327390
asked Mar 20 at 20:00
user1209081user1209081
806
806
3
Why not allow a user to use an app they paid for? Why does it matter if they user runs your app on more than one of the devices they have?
– rmaddy
Mar 20 at 20:05
Because the purchase you do is a subscription for a year that allows you to have all the content that cost quite some money available. Some people, runs this in more than 10 devices which basically means, I'm not profiting of it. It's the same as if you buy a license for some software, you can't use it in more than one computer, right? So that's what I'm looking for.
– user1209081
Mar 20 at 20:10
You are going to spend your time and effort and make purchasing harder for users - since they won't be able to subscribe on the device, they will need to find a web site that you can't direct them to in your app to make the payment. Plus you need some process for handling the case where the user legitimately changes device (e.g. new phone). You may find that this actually costs you subscribers, rather than creating new ones. The code you linked to uses uuid and the keychain, so it will probably work for you;it is quite old and written in Objective C so, it may not work "out of the box".
– Paulw11
Mar 20 at 20:18
I understand that... I don't think it's a problem to do it through the website since users already use the website for getting some of the content created by the device. As well, it's indeed a problem when users change the device but I can imagine some cases are acceptable(f.e. requesting a new license every day will not be really normal). I've checked that library and it works perfectly in Swift, it actually generates a UUID that persists even uninstalling the app but probably, when doing a backup, it will be transfered.
– user1209081
Mar 20 at 20:26
Something to consider if you make the payment system 'go away from the app' is that Apple specifically states "Subscribers who were acquired outside of your app can read or play content through the app. However, you may not provide external links in your app that allow users to purchase subscriptions outside of the app."
– digitalHound
Mar 20 at 22:53
add a comment |
3
Why not allow a user to use an app they paid for? Why does it matter if they user runs your app on more than one of the devices they have?
– rmaddy
Mar 20 at 20:05
Because the purchase you do is a subscription for a year that allows you to have all the content that cost quite some money available. Some people, runs this in more than 10 devices which basically means, I'm not profiting of it. It's the same as if you buy a license for some software, you can't use it in more than one computer, right? So that's what I'm looking for.
– user1209081
Mar 20 at 20:10
You are going to spend your time and effort and make purchasing harder for users - since they won't be able to subscribe on the device, they will need to find a web site that you can't direct them to in your app to make the payment. Plus you need some process for handling the case where the user legitimately changes device (e.g. new phone). You may find that this actually costs you subscribers, rather than creating new ones. The code you linked to uses uuid and the keychain, so it will probably work for you;it is quite old and written in Objective C so, it may not work "out of the box".
– Paulw11
Mar 20 at 20:18
I understand that... I don't think it's a problem to do it through the website since users already use the website for getting some of the content created by the device. As well, it's indeed a problem when users change the device but I can imagine some cases are acceptable(f.e. requesting a new license every day will not be really normal). I've checked that library and it works perfectly in Swift, it actually generates a UUID that persists even uninstalling the app but probably, when doing a backup, it will be transfered.
– user1209081
Mar 20 at 20:26
Something to consider if you make the payment system 'go away from the app' is that Apple specifically states "Subscribers who were acquired outside of your app can read or play content through the app. However, you may not provide external links in your app that allow users to purchase subscriptions outside of the app."
– digitalHound
Mar 20 at 22:53
3
3
Why not allow a user to use an app they paid for? Why does it matter if they user runs your app on more than one of the devices they have?
– rmaddy
Mar 20 at 20:05
Why not allow a user to use an app they paid for? Why does it matter if they user runs your app on more than one of the devices they have?
– rmaddy
Mar 20 at 20:05
Because the purchase you do is a subscription for a year that allows you to have all the content that cost quite some money available. Some people, runs this in more than 10 devices which basically means, I'm not profiting of it. It's the same as if you buy a license for some software, you can't use it in more than one computer, right? So that's what I'm looking for.
– user1209081
Mar 20 at 20:10
Because the purchase you do is a subscription for a year that allows you to have all the content that cost quite some money available. Some people, runs this in more than 10 devices which basically means, I'm not profiting of it. It's the same as if you buy a license for some software, you can't use it in more than one computer, right? So that's what I'm looking for.
– user1209081
Mar 20 at 20:10
You are going to spend your time and effort and make purchasing harder for users - since they won't be able to subscribe on the device, they will need to find a web site that you can't direct them to in your app to make the payment. Plus you need some process for handling the case where the user legitimately changes device (e.g. new phone). You may find that this actually costs you subscribers, rather than creating new ones. The code you linked to uses uuid and the keychain, so it will probably work for you;it is quite old and written in Objective C so, it may not work "out of the box".
– Paulw11
Mar 20 at 20:18
You are going to spend your time and effort and make purchasing harder for users - since they won't be able to subscribe on the device, they will need to find a web site that you can't direct them to in your app to make the payment. Plus you need some process for handling the case where the user legitimately changes device (e.g. new phone). You may find that this actually costs you subscribers, rather than creating new ones. The code you linked to uses uuid and the keychain, so it will probably work for you;it is quite old and written in Objective C so, it may not work "out of the box".
– Paulw11
Mar 20 at 20:18
I understand that... I don't think it's a problem to do it through the website since users already use the website for getting some of the content created by the device. As well, it's indeed a problem when users change the device but I can imagine some cases are acceptable(f.e. requesting a new license every day will not be really normal). I've checked that library and it works perfectly in Swift, it actually generates a UUID that persists even uninstalling the app but probably, when doing a backup, it will be transfered.
– user1209081
Mar 20 at 20:26
I understand that... I don't think it's a problem to do it through the website since users already use the website for getting some of the content created by the device. As well, it's indeed a problem when users change the device but I can imagine some cases are acceptable(f.e. requesting a new license every day will not be really normal). I've checked that library and it works perfectly in Swift, it actually generates a UUID that persists even uninstalling the app but probably, when doing a backup, it will be transfered.
– user1209081
Mar 20 at 20:26
Something to consider if you make the payment system 'go away from the app' is that Apple specifically states "Subscribers who were acquired outside of your app can read or play content through the app. However, you may not provide external links in your app that allow users to purchase subscriptions outside of the app."
– digitalHound
Mar 20 at 22:53
Something to consider if you make the payment system 'go away from the app' is that Apple specifically states "Subscribers who were acquired outside of your app can read or play content through the app. However, you may not provide external links in your app that allow users to purchase subscriptions outside of the app."
– digitalHound
Mar 20 at 22:53
add a comment |
2 Answers
2
active
oldest
votes
AFAIK, Apple does not have limit on how many devices you can user Apple Id. You can have 6 family members so number of devices could be lot more.
I feel it is bias how Apple's guideline talks about limiting music, movies, shows and books to 10 devices but does not say anything about Apps!
Apple - Family Sharing
If your family has purchase sharing turned on, music, movies, TV shows, and books can be downloaded on up to 10 devices per account, five of which can be computers.
I have not seen any application limiting IAP on devices. You could run into risk of Apple rejecting your app, potentially on every update you submit. I would reach out to App Store or if your company have Sales rep contact and get their suggestions/buy-in before spending lot of time and money.
Also, create issue/radar and give specifics about issue. More people request this feature, has better chances of it getting added.
One way you can achieve this is to keep track of receipt you get for IAP and check how many users/devices using that receipt. You would need to build entire flow to educate user about device limitations. Like updating App Store page, warning before purchasing, option to add/remove device and more...
If you are planning to implement device limitation, please beware of the rejection risk.
Makes sense what you say but this would be in the case we keep using IAP. Therefore, a solution would be to stop using IAP, make the payment through the website and generate some sort of license that can only be used at one device at the time. That way, if my understanding is correct, would not be a problem for Apple since we are not limiting with IAP, which is the main "problem" here. Right?
– user1209081
Mar 21 at 9:22
I would think so. However, removing IAP and doing external payments will introduce other problems as Apple wants devs to use IAP to get 30% cut!!. Spotify is been fighting with them forever on this. I think safe bait is to reach out Apple dev/engineer/sales to get their buy-in to get directions on this.
– kthorat
Mar 21 at 22:19
Create issue/radar give specifics. More people request this feature, has better chances of it getting added.
– kthorat
Mar 21 at 22:24
add a comment |
I will describe our experience with using same account on different devices (VOD):
User is able to use application on how many devices he want, but he able to watch content only on 5 uniq devices.
Each time user try to watch content, app check if device registered with some UUID, if not then try to register. UUID is uniq per installation, it mean that if user will watch content, then delete app, download again and watch, then he basically lose 1 device.
In same time user able to unregister device via web, but he had only like 25 unregistrations (I don't know what happened if user use them all).
We don't use in-app purchases and accounts are cross-platform (android, iOS, web, tvs, etc), so not sure if it helps you.
Very useful! This goes in the direction of what we wanted to do. Do you store that UUID somewhere apart from UserDefaults?
– user1209081
Mar 23 at 11:57
You shouldn't store anything except application settings inUserDefaults. Proper place for sensitive data is Keychain
– ManWithBear
Mar 23 at 12:39
add a comment |
Your Answer
StackExchange.ifUsing("editor", function ()
StackExchange.using("externalEditor", function ()
StackExchange.using("snippets", function ()
StackExchange.snippets.init();
);
);
, "code-snippets");
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "1"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55269248%2fhow-to-limit-the-use-of-an-app-to-one-device-on-ios%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
2 Answers
2
active
oldest
votes
2 Answers
2
active
oldest
votes
active
oldest
votes
active
oldest
votes
AFAIK, Apple does not have limit on how many devices you can user Apple Id. You can have 6 family members so number of devices could be lot more.
I feel it is bias how Apple's guideline talks about limiting music, movies, shows and books to 10 devices but does not say anything about Apps!
Apple - Family Sharing
If your family has purchase sharing turned on, music, movies, TV shows, and books can be downloaded on up to 10 devices per account, five of which can be computers.
I have not seen any application limiting IAP on devices. You could run into risk of Apple rejecting your app, potentially on every update you submit. I would reach out to App Store or if your company have Sales rep contact and get their suggestions/buy-in before spending lot of time and money.
Also, create issue/radar and give specifics about issue. More people request this feature, has better chances of it getting added.
One way you can achieve this is to keep track of receipt you get for IAP and check how many users/devices using that receipt. You would need to build entire flow to educate user about device limitations. Like updating App Store page, warning before purchasing, option to add/remove device and more...
If you are planning to implement device limitation, please beware of the rejection risk.
Makes sense what you say but this would be in the case we keep using IAP. Therefore, a solution would be to stop using IAP, make the payment through the website and generate some sort of license that can only be used at one device at the time. That way, if my understanding is correct, would not be a problem for Apple since we are not limiting with IAP, which is the main "problem" here. Right?
– user1209081
Mar 21 at 9:22
I would think so. However, removing IAP and doing external payments will introduce other problems as Apple wants devs to use IAP to get 30% cut!!. Spotify is been fighting with them forever on this. I think safe bait is to reach out Apple dev/engineer/sales to get their buy-in to get directions on this.
– kthorat
Mar 21 at 22:19
Create issue/radar give specifics. More people request this feature, has better chances of it getting added.
– kthorat
Mar 21 at 22:24
add a comment |
AFAIK, Apple does not have limit on how many devices you can user Apple Id. You can have 6 family members so number of devices could be lot more.
I feel it is bias how Apple's guideline talks about limiting music, movies, shows and books to 10 devices but does not say anything about Apps!
Apple - Family Sharing
If your family has purchase sharing turned on, music, movies, TV shows, and books can be downloaded on up to 10 devices per account, five of which can be computers.
I have not seen any application limiting IAP on devices. You could run into risk of Apple rejecting your app, potentially on every update you submit. I would reach out to App Store or if your company have Sales rep contact and get their suggestions/buy-in before spending lot of time and money.
Also, create issue/radar and give specifics about issue. More people request this feature, has better chances of it getting added.
One way you can achieve this is to keep track of receipt you get for IAP and check how many users/devices using that receipt. You would need to build entire flow to educate user about device limitations. Like updating App Store page, warning before purchasing, option to add/remove device and more...
If you are planning to implement device limitation, please beware of the rejection risk.
Makes sense what you say but this would be in the case we keep using IAP. Therefore, a solution would be to stop using IAP, make the payment through the website and generate some sort of license that can only be used at one device at the time. That way, if my understanding is correct, would not be a problem for Apple since we are not limiting with IAP, which is the main "problem" here. Right?
– user1209081
Mar 21 at 9:22
I would think so. However, removing IAP and doing external payments will introduce other problems as Apple wants devs to use IAP to get 30% cut!!. Spotify is been fighting with them forever on this. I think safe bait is to reach out Apple dev/engineer/sales to get their buy-in to get directions on this.
– kthorat
Mar 21 at 22:19
Create issue/radar give specifics. More people request this feature, has better chances of it getting added.
– kthorat
Mar 21 at 22:24
add a comment |
AFAIK, Apple does not have limit on how many devices you can user Apple Id. You can have 6 family members so number of devices could be lot more.
I feel it is bias how Apple's guideline talks about limiting music, movies, shows and books to 10 devices but does not say anything about Apps!
Apple - Family Sharing
If your family has purchase sharing turned on, music, movies, TV shows, and books can be downloaded on up to 10 devices per account, five of which can be computers.
I have not seen any application limiting IAP on devices. You could run into risk of Apple rejecting your app, potentially on every update you submit. I would reach out to App Store or if your company have Sales rep contact and get their suggestions/buy-in before spending lot of time and money.
Also, create issue/radar and give specifics about issue. More people request this feature, has better chances of it getting added.
One way you can achieve this is to keep track of receipt you get for IAP and check how many users/devices using that receipt. You would need to build entire flow to educate user about device limitations. Like updating App Store page, warning before purchasing, option to add/remove device and more...
If you are planning to implement device limitation, please beware of the rejection risk.
AFAIK, Apple does not have limit on how many devices you can user Apple Id. You can have 6 family members so number of devices could be lot more.
I feel it is bias how Apple's guideline talks about limiting music, movies, shows and books to 10 devices but does not say anything about Apps!
Apple - Family Sharing
If your family has purchase sharing turned on, music, movies, TV shows, and books can be downloaded on up to 10 devices per account, five of which can be computers.
I have not seen any application limiting IAP on devices. You could run into risk of Apple rejecting your app, potentially on every update you submit. I would reach out to App Store or if your company have Sales rep contact and get their suggestions/buy-in before spending lot of time and money.
Also, create issue/radar and give specifics about issue. More people request this feature, has better chances of it getting added.
One way you can achieve this is to keep track of receipt you get for IAP and check how many users/devices using that receipt. You would need to build entire flow to educate user about device limitations. Like updating App Store page, warning before purchasing, option to add/remove device and more...
If you are planning to implement device limitation, please beware of the rejection risk.
edited Mar 21 at 22:24
answered Mar 20 at 23:11
kthoratkthorat
3,95612032
3,95612032
Makes sense what you say but this would be in the case we keep using IAP. Therefore, a solution would be to stop using IAP, make the payment through the website and generate some sort of license that can only be used at one device at the time. That way, if my understanding is correct, would not be a problem for Apple since we are not limiting with IAP, which is the main "problem" here. Right?
– user1209081
Mar 21 at 9:22
I would think so. However, removing IAP and doing external payments will introduce other problems as Apple wants devs to use IAP to get 30% cut!!. Spotify is been fighting with them forever on this. I think safe bait is to reach out Apple dev/engineer/sales to get their buy-in to get directions on this.
– kthorat
Mar 21 at 22:19
Create issue/radar give specifics. More people request this feature, has better chances of it getting added.
– kthorat
Mar 21 at 22:24
add a comment |
Makes sense what you say but this would be in the case we keep using IAP. Therefore, a solution would be to stop using IAP, make the payment through the website and generate some sort of license that can only be used at one device at the time. That way, if my understanding is correct, would not be a problem for Apple since we are not limiting with IAP, which is the main "problem" here. Right?
– user1209081
Mar 21 at 9:22
I would think so. However, removing IAP and doing external payments will introduce other problems as Apple wants devs to use IAP to get 30% cut!!. Spotify is been fighting with them forever on this. I think safe bait is to reach out Apple dev/engineer/sales to get their buy-in to get directions on this.
– kthorat
Mar 21 at 22:19
Create issue/radar give specifics. More people request this feature, has better chances of it getting added.
– kthorat
Mar 21 at 22:24
Makes sense what you say but this would be in the case we keep using IAP. Therefore, a solution would be to stop using IAP, make the payment through the website and generate some sort of license that can only be used at one device at the time. That way, if my understanding is correct, would not be a problem for Apple since we are not limiting with IAP, which is the main "problem" here. Right?
– user1209081
Mar 21 at 9:22
Makes sense what you say but this would be in the case we keep using IAP. Therefore, a solution would be to stop using IAP, make the payment through the website and generate some sort of license that can only be used at one device at the time. That way, if my understanding is correct, would not be a problem for Apple since we are not limiting with IAP, which is the main "problem" here. Right?
– user1209081
Mar 21 at 9:22
I would think so. However, removing IAP and doing external payments will introduce other problems as Apple wants devs to use IAP to get 30% cut!!. Spotify is been fighting with them forever on this. I think safe bait is to reach out Apple dev/engineer/sales to get their buy-in to get directions on this.
– kthorat
Mar 21 at 22:19
I would think so. However, removing IAP and doing external payments will introduce other problems as Apple wants devs to use IAP to get 30% cut!!. Spotify is been fighting with them forever on this. I think safe bait is to reach out Apple dev/engineer/sales to get their buy-in to get directions on this.
– kthorat
Mar 21 at 22:19
Create issue/radar give specifics. More people request this feature, has better chances of it getting added.
– kthorat
Mar 21 at 22:24
Create issue/radar give specifics. More people request this feature, has better chances of it getting added.
– kthorat
Mar 21 at 22:24
add a comment |
I will describe our experience with using same account on different devices (VOD):
User is able to use application on how many devices he want, but he able to watch content only on 5 uniq devices.
Each time user try to watch content, app check if device registered with some UUID, if not then try to register. UUID is uniq per installation, it mean that if user will watch content, then delete app, download again and watch, then he basically lose 1 device.
In same time user able to unregister device via web, but he had only like 25 unregistrations (I don't know what happened if user use them all).
We don't use in-app purchases and accounts are cross-platform (android, iOS, web, tvs, etc), so not sure if it helps you.
Very useful! This goes in the direction of what we wanted to do. Do you store that UUID somewhere apart from UserDefaults?
– user1209081
Mar 23 at 11:57
You shouldn't store anything except application settings inUserDefaults. Proper place for sensitive data is Keychain
– ManWithBear
Mar 23 at 12:39
add a comment |
I will describe our experience with using same account on different devices (VOD):
User is able to use application on how many devices he want, but he able to watch content only on 5 uniq devices.
Each time user try to watch content, app check if device registered with some UUID, if not then try to register. UUID is uniq per installation, it mean that if user will watch content, then delete app, download again and watch, then he basically lose 1 device.
In same time user able to unregister device via web, but he had only like 25 unregistrations (I don't know what happened if user use them all).
We don't use in-app purchases and accounts are cross-platform (android, iOS, web, tvs, etc), so not sure if it helps you.
Very useful! This goes in the direction of what we wanted to do. Do you store that UUID somewhere apart from UserDefaults?
– user1209081
Mar 23 at 11:57
You shouldn't store anything except application settings inUserDefaults. Proper place for sensitive data is Keychain
– ManWithBear
Mar 23 at 12:39
add a comment |
I will describe our experience with using same account on different devices (VOD):
User is able to use application on how many devices he want, but he able to watch content only on 5 uniq devices.
Each time user try to watch content, app check if device registered with some UUID, if not then try to register. UUID is uniq per installation, it mean that if user will watch content, then delete app, download again and watch, then he basically lose 1 device.
In same time user able to unregister device via web, but he had only like 25 unregistrations (I don't know what happened if user use them all).
We don't use in-app purchases and accounts are cross-platform (android, iOS, web, tvs, etc), so not sure if it helps you.
I will describe our experience with using same account on different devices (VOD):
User is able to use application on how many devices he want, but he able to watch content only on 5 uniq devices.
Each time user try to watch content, app check if device registered with some UUID, if not then try to register. UUID is uniq per installation, it mean that if user will watch content, then delete app, download again and watch, then he basically lose 1 device.
In same time user able to unregister device via web, but he had only like 25 unregistrations (I don't know what happened if user use them all).
We don't use in-app purchases and accounts are cross-platform (android, iOS, web, tvs, etc), so not sure if it helps you.
answered Mar 21 at 23:30
ManWithBearManWithBear
1,796720
1,796720
Very useful! This goes in the direction of what we wanted to do. Do you store that UUID somewhere apart from UserDefaults?
– user1209081
Mar 23 at 11:57
You shouldn't store anything except application settings inUserDefaults. Proper place for sensitive data is Keychain
– ManWithBear
Mar 23 at 12:39
add a comment |
Very useful! This goes in the direction of what we wanted to do. Do you store that UUID somewhere apart from UserDefaults?
– user1209081
Mar 23 at 11:57
You shouldn't store anything except application settings inUserDefaults. Proper place for sensitive data is Keychain
– ManWithBear
Mar 23 at 12:39
Very useful! This goes in the direction of what we wanted to do. Do you store that UUID somewhere apart from UserDefaults?
– user1209081
Mar 23 at 11:57
Very useful! This goes in the direction of what we wanted to do. Do you store that UUID somewhere apart from UserDefaults?
– user1209081
Mar 23 at 11:57
You shouldn't store anything except application settings in
UserDefaults. Proper place for sensitive data is Keychain– ManWithBear
Mar 23 at 12:39
You shouldn't store anything except application settings in
UserDefaults. Proper place for sensitive data is Keychain– ManWithBear
Mar 23 at 12:39
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55269248%2fhow-to-limit-the-use-of-an-app-to-one-device-on-ios%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
3
Why not allow a user to use an app they paid for? Why does it matter if they user runs your app on more than one of the devices they have?
– rmaddy
Mar 20 at 20:05
Because the purchase you do is a subscription for a year that allows you to have all the content that cost quite some money available. Some people, runs this in more than 10 devices which basically means, I'm not profiting of it. It's the same as if you buy a license for some software, you can't use it in more than one computer, right? So that's what I'm looking for.
– user1209081
Mar 20 at 20:10
You are going to spend your time and effort and make purchasing harder for users - since they won't be able to subscribe on the device, they will need to find a web site that you can't direct them to in your app to make the payment. Plus you need some process for handling the case where the user legitimately changes device (e.g. new phone). You may find that this actually costs you subscribers, rather than creating new ones. The code you linked to uses uuid and the keychain, so it will probably work for you;it is quite old and written in Objective C so, it may not work "out of the box".
– Paulw11
Mar 20 at 20:18
I understand that... I don't think it's a problem to do it through the website since users already use the website for getting some of the content created by the device. As well, it's indeed a problem when users change the device but I can imagine some cases are acceptable(f.e. requesting a new license every day will not be really normal). I've checked that library and it works perfectly in Swift, it actually generates a UUID that persists even uninstalling the app but probably, when doing a backup, it will be transfered.
– user1209081
Mar 20 at 20:26
Something to consider if you make the payment system 'go away from the app' is that Apple specifically states "Subscribers who were acquired outside of your app can read or play content through the app. However, you may not provide external links in your app that allow users to purchase subscriptions outside of the app."
– digitalHound
Mar 20 at 22:53