{"category":{"version":"591f17ae21d2ff0f00cf5a3f","project":"547cd7662eaee50800ed1089","_id":"591f17af21d2ff0f00cf5a47","__v":0,"sync":{"url":"","isSync":false},"reference":false,"createdAt":"2015-03-27T13:16:34.125Z","from_sync":false,"order":7,"slug":"tips-and-tricks","title":"Tips and Tricks"},"parentDoc":null,"project":"547cd7662eaee50800ed1089","user":"547cd6ac78fd57080023ca99","version":{"__v":1,"_id":"591f17ae21d2ff0f00cf5a3f","project":"547cd7662eaee50800ed1089","createdAt":"2017-05-19T16:05:02.775Z","releaseDate":"2017-05-19T16:05:02.775Z","categories":["591f17af21d2ff0f00cf5a40","591f17af21d2ff0f00cf5a41","591f17af21d2ff0f00cf5a42","591f17af21d2ff0f00cf5a43","591f17af21d2ff0f00cf5a44","591f17af21d2ff0f00cf5a45","591f17af21d2ff0f00cf5a46","591f17af21d2ff0f00cf5a47","591f17af21d2ff0f00cf5a48"],"is_deprecated":false,"is_hidden":false,"is_beta":false,"is_stable":true,"codename":"","version_clean":"1.0.1","version":"1.0.1"},"_id":"591f17b321d2ff0f00cf5a67","__v":0,"updates":[],"next":{"pages":[],"description":""},"createdAt":"2015-03-27T13:29:13.142Z","link_external":false,"link_url":"","githubsync":"","sync_unique":"","hidden":false,"api":{"results":{"codes":[]},"auth":"required","params":[],"url":""},"isReference":false,"order":41,"body":"If you want to sell functionality of your application partially (like Mac App Store In-App Purchase), we can suggest you the following workaround.\n\n1.    Add and configure your main application in DevMate as usual.\n2.    Inside your application create as many sub-applications as you want functionality parts to be sold separately.\n3.    Create the Applications in DevMate with the same bundle IDs as the newly created sub-applications.\n4.    Integrate DevMateKit and Kevlar to those applications (no need to copy DevMateKit to sub-applications bundle, just modify *‘Runpath Search Paths’* (`LD_RUNPATH_SEARCH_PATHS`) build setting for them to look for DevMateKit framework in parent bundle);\n5.    In the main app implement the following behavior:\n\n  *         when the paid functionality is requested the corresponding sub-application should be asked if it is activated;\n  *         if requested functionality is not activated, then initiate the purchase (either via in-app store or through the web-interface);\n  *         after the purchase will be done, the functionality will be unlocked.","excerpt":"","slug":"in-app-purchases","type":"basic","title":"In-app Purchases"}
If you want to sell functionality of your application partially (like Mac App Store In-App Purchase), we can suggest you the following workaround. 1. Add and configure your main application in DevMate as usual. 2. Inside your application create as many sub-applications as you want functionality parts to be sold separately. 3. Create the Applications in DevMate with the same bundle IDs as the newly created sub-applications. 4. Integrate DevMateKit and Kevlar to those applications (no need to copy DevMateKit to sub-applications bundle, just modify *‘Runpath Search Paths’* (`LD_RUNPATH_SEARCH_PATHS`) build setting for them to look for DevMateKit framework in parent bundle); 5. In the main app implement the following behavior: * when the paid functionality is requested the corresponding sub-application should be asked if it is activated; * if requested functionality is not activated, then initiate the purchase (either via in-app store or through the web-interface); * after the purchase will be done, the functionality will be unlocked.