{"id":3404,"date":"2017-05-03T09:30:02","date_gmt":"2017-05-03T16:30:02","guid":{"rendered":"https:\/\/www.couchbase.com\/blog\/?p=3404"},"modified":"2025-06-13T20:09:35","modified_gmt":"2025-06-14T03:09:35","slug":"couchbase-lite-with-ios-app-extensions","status":"publish","type":"post","link":"https:\/\/www.couchbase.com\/blog\/ko\/couchbase-lite-with-ios-app-extensions\/","title":{"rendered":"iOS \uc571\uacfc \uc571 \ud655\uc7a5 \ud504\ub85c\uadf8\ub7a8 \uac04\uc5d0 Couchbase Lite\ub85c \ub370\uc774\ud130 \uacf5\uc720"},"content":{"rendered":"<p>\uc774 \uac8c\uc2dc\ubb3c\uc5d0\uc11c\ub294 \uc784\ubca0\ub514\ub4dc \ub370\uc774\ud130\ubca0\uc774\uc2a4\ub85c Couchbase Lite\ub97c \uc0ac\uc6a9\ud558\uc5ec iOS \uc571\uacfc iOS \uc571 \ud655\uc7a5 \ud504\ub85c\uadf8\ub7a8 \uac04\uc5d0 \ub370\uc774\ud130\ub97c \uacf5\uc720\ud558\ub294 \ubc29\ubc95\uc5d0 \ub300\ud574 \uc124\uba85\ud569\ub2c8\ub2e4. \u00a0<a href=\"https:\/\/developer.apple.com\/app-extensions\/\">\uc571 \ud655\uc7a5 <\/a>\uae30\uae30\uc758 \ub2e4\ub978 \uc571\uc774\ub098 \uc6b4\uc601 \uccb4\uc81c\uc5d0 \ub178\ucd9c\ub420 \uc218 \uc788\ub294 \ud2b9\uc815 \uc791\uc5c5\uc774\ub098 \uae30\ub2a5\uc744 \uad6c\ud604\ud569\ub2c8\ub2e4. \uc774 \uac8c\uc2dc\ubb3c\uc5d0\uc11c\ub294 \ub3c5\ub9bd\ud615 \ubaa8\ub4dc\uc5d0\uc11c Couchbase Lite \uc784\ubca0\ub514\ub4dc \ub370\uc774\ud130\ubca0\uc774\uc2a4\uc640 \ud568\uaed8 Today \ud655\uc7a5 \ud504\ub85c\uadf8\ub7a8\uc744 \uc0ac\uc6a9\ud558\ub294 \ubc29\ubc95\uc5d0 \ub300\ud55c \uc608\uc2dc\ub97c \uc0b4\ud3b4\ubcf4\uaca0\uc2b5\ub2c8\ub2e4.<\/p>\n<p><!--more--><\/p>\n<p>\ucc38\uace0: \ud604\uc7ac \ud504\ub85c\ub355\uc158 \ub9b4\ub9ac\uc2a4\uc778 Couchbase Mobile v1.4\uc5d0 \ub300\ud574 \ub17c\uc758\ud560 \uac83\uc785\ub2c8\ub2e4. \ud558\uc9c0\ub9cc \uc5ec\uae30\uc11c \uc124\uba85\ud558\ub294 \ubaa8\ub4e0 \ub0b4\uc6a9\uc740 \ucd5c\uc2e0 \ubc84\uc804\uc778<a href=\"https:\/\/developer.couchbase.com\/documentation\/mobile\/2.0\/whatsnew.html?language=ios\"> \uce74\uc6b0\uce58\ubca0\uc774\uc2a4 \ubaa8\ubc14\uc77c\uc758 \uac1c\ubc1c\uc790 \ud504\ub9ac\ubdf0 \ubc84\uc804 2.0<\/a><\/p>\n<h2>\ubc30\uacbd<\/h2>\n<p>Apple\uc740 \ub2e4\uc591\ud55c \uc885\ub958\uc758 <a href=\"https:\/\/developer.apple.com\/app-extensions\/\">\uc571 \ud655\uc7a5<\/a>\u00a0\ub97c \uc0ac\uc6a9\ud558\uc5ec \uc7a5\uce58\uc758 \ud2b9\uc815 \ud558\uc704 \uc2dc\uc2a4\ud15c\uacfc \uad00\ub828\ub41c \uae30\ub2a5\uc744 \uc0ac\uc6a9\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.  \uc774 \uac8c\uc2dc\ubb3c\uc5d0\uc11c\ub294 \uc624\ub298 \ud655\uc7a5 \ud504\ub85c\uadf8\ub7a8\uacfc \ud568\uaed8 Couchbase Lite\ub97c \uc0ac\uc6a9\ud558\ub294 \ubc29\ubc95\uc5d0 \ub300\ud574 \uc124\uba85\ud569\ub2c8\ub2e4. \"\uc704\uc82f\"\uc774\ub77c\uace0\ub3c4 \ud558\ub294 \uc774\ub7ec\ud55c \uc720\ud615\uc758 \ud655\uc7a5\uc740 \uc54c\ub9bc \uc13c\ud130\uc758 \uc624\ub298 \ubcf4\uae30\uc5d0 \ud45c\uc2dc\ub418\uba70 \uc0ac\uc6a9\uc790\uac00 \ube60\ub978 \uc5c5\ub370\uc774\ud2b8\ub97c \ubc1b\uc744 \uc218 \uc788\ub3c4\ub85d \ud574 \uc90d\ub2c8\ub2e4. \uc571 \ud655\uc7a5\uc758 \uc791\ub3d9 \ubc29\uc2dd\uc5d0 \ub300\ud55c \uc790\uc138\ud55c \ub0b4\uc6a9\uc740<a href=\"https:\/\/developer.apple.com\/library\/content\/documentation\/General\/Conceptual\/ExtensibilityPG\/ExtensionOverview.html#\/\/apple_ref\/doc\/uid\/TP40014214-CH2-SW2\"> Apple \uac1c\ubc1c\uc790 \ubb38\uc11c<\/a>.<\/p>\n<p>Swift\ub85c iOS \uc571\uc744 \uac1c\ubc1c\ud558\ub294 \ub370 \uc775\uc219\ud558\uace0 Couchbase Lite\ub97c iOS \uc571\uc5d0 \ud1b5\ud569\ud558\ub294 \ubc29\ubc95\uc744 \uae30\ubcf8\uc801\uc73c\ub85c \uc774\ud574\ud558\uace0 \uc788\ub2e4\uace0 \uac00\uc815\ud569\ub2c8\ub2e4. \uc774 \uc2dc\uc791\ud558\uae30 \uac00\uc774\ub4dc\ub294 \uc2dc\uc791\ud558\uae30\uc5d0 \uc88b\uc740 \uc548\ub0b4\uc11c\uc785\ub2c8\ub2e4.  Couchbase\uc5d0 \ub300\ud574 \ub354 \uc790\uc138\ud788 \uc54c\uc544\ubcf4\ub824\uba74 \uc774 \uae00 \ub05d\uc5d0 \uc788\ub294 \ub9ac\uc18c\uc2a4\ub97c \ucc38\uc870\ud558\uc138\uc694.<\/p>\n<h2>\uce74\uc6b0\uce58\ubca0\uc774\uc2a4 \ub77c\uc774\ud2b8<\/h2>\n<p>Couchbase Lite\ub294 \uae30\uae30\uc5d0\uc11c \uc2e4\ud589\ub418\ub294 \uc784\ubca0\ub514\ub4dc \ub370\uc774\ud130\ubca0\uc774\uc2a4\uc785\ub2c8\ub2e4. \uc5ec\ub7ec \ubc30\ud3ec \ubaa8\ub4dc\uc5d0\uc11c \uc0ac\uc6a9\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \ub3c5\ub9bd\ud615 \uc784\ubca0\ub514\ub4dc \ub370\uc774\ud130\ubca0\uc774\uc2a4\ub85c \uc0ac\uc6a9\ud558\uac70\ub098 \uc5ec\ub7ec \uc7a5\uce58\uc5d0\uc11c \ub370\uc774\ud130\ub97c \ub3d9\uae30\ud654\ud560 \uc218 \uc788\ub294 \uc6d0\uaca9 \ub3d9\uae30\ud654 \uac8c\uc774\ud2b8\uc6e8\uc774\uc640 \ud568\uaed8 \uc0ac\uc6a9\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc774 \uae00\uc5d0\uc11c\ub294 \ub3c5\ub9bd\ud615 \ubc30\ud3ec \ubaa8\ub4dc\uc5d0\uc11c Couchbase Lite\ub97c \uc0ac\uc6a9\ud558\uaca0\uc2b5\ub2c8\ub2e4. \uc774 \uae00\uc5d0\uc11c\ub294 Couchbase Lite\uc640\uc758 \ud1b5\ud569\uc5d0 \ub300\ud55c \uc790\uc138\ud55c \ub0b4\uc6a9\uc740 \ub2e4\ub8e8\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. \ub2e4\ub9cc\u00a0<a href=\"https:\/\/www.couchbase.com\/blog\/ko\/couchbase-lite-embedded-in-ios-app-part1\/\">\uce74\uc6b0\uce58\ubca0\uc774\uc2a4 \ub77c\uc774\ud2b8 \uc2dc\uc791\ud558\uae30 <\/a>\ube14\ub85c\uadf8\uc5d0\uc11c \uc2dc\uc791\ud558\uae30 \uc88b\uc740 \uacf3\uc785\ub2c8\ub2e4.<\/p>\n<h2>\ub370\ubaa8 \uc571<\/h2>\n<ul>\n<li>\uc5d0\uc11c \ub370\ubaa8 Xcode \ud504\ub85c\uc81d\ud2b8\ub97c \ub2e4\uc6b4\ub85c\ub4dc\ud558\uc2ed\uc2dc\uc624. <a href=\"https:\/\/github.com\/couchbaselabs\/couchbase-mobile-ios-app-extension\">\uae43\ud5c8\ube0c \ub9ac\ud3ec\uc9c0\ud1a0\ub9ac\u00a0<\/a>. \ube14\ub85c\uadf8\uc758 \ub098\uba38\uc9c0 \ubd80\ubd84\uc5d0\uc11c\ub294 \uc774 \uc571\uc744 \uc608\ub85c \uc0ac\uc6a9\ud558\uaca0\uc2b5\ub2c8\ub2e4.<\/li>\n<\/ul>\n<pre class=\"lang:default decode:true\">git clone git@github.com:couchbaselabs\/couchbase-mobile-ios-app-extension.git<\/pre>\n<ul>\n<li>\uc758 \uc9c0\uce68\uc744 \ub530\ub974\uc138\uc694. <a href=\"https:\/\/github.com\/couchbaselabs\/couchbase-mobile-ios-app-extension\/blob\/master\/README.md\">README<\/a> \ud30c\uc77c\uc744 \ub2e4\uc6b4\ub85c\ub4dc\ud558\uc5ec \uc571\uc744 \uc124\uce58\ud558\uace0 \uc2e4\ud589\ud569\ub2c8\ub2e4.<\/li>\n<\/ul>\n<p>\uc774 \uc571\uc740 \uc0ac\uc6a9\uc790\uac00 \uc791\uc5c5\uc744 \ucd94\uac00, \ud3b8\uc9d1, \uc0ad\uc81c\ud560 \uc218 \uc788\ub294 \uac04\ub2e8\ud55c \uc791\uc5c5 \ubaa9\ub85d \uc571\uc785\ub2c8\ub2e4. \uc0ac\uc6a9\uc790\ub294 \uc791\uc5c5\uc744 \uc644\ub8cc\ub85c \ud45c\uc2dc\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc624\ub298 \ud655\uc7a5 \ud504\ub85c\uadf8\ub7a8\uc740 \uc571\uc744 \uc5f4\uc9c0 \uc54a\uace0\ub3c4 \uc54c\ub9bc \uc13c\ud130\uc5d0\uc11c \ubc14\ub85c \uc0c1\uc704 2\uac1c\uc758 \uc791\uc5c5\uc744 \ubcf4\uc5ec\uc8fc\ub294 \uc571\uacfc \ud568\uaed8 \ubc88\ub4e4\ub85c \uc81c\uacf5\ub429\ub2c8\ub2e4. \uc0ac\uc6a9\uc790\ub294 \uc54c\ub9bc \uc13c\ud130\uc5d0\uc11c \ubc14\ub85c \uc791\uc5c5\uc744 \uc644\ub8cc\ub85c \ud45c\uc2dc\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<p>\ubaa8\ub4e0 \uc791\uc5c5\uc740 \ub85c\uceec Couchbase Lite \ub370\uc774\ud130\ubca0\uc774\uc2a4\uc5d0 \uc800\uc7a5\ub429\ub2c8\ub2e4. \uc774\ub294 Container \uc571\uacfc \ud655\uc7a5 \ud504\ub85c\uadf8\ub7a8 \ubaa8\ub450 \ub370\uc774\ud130\ubca0\uc774\uc2a4\uc5d0 \uc561\uc138\uc2a4\ud574\uc57c \ud55c\ub2e4\ub294 \uac83\uc744 \uc758\ubbf8\ud569\ub2c8\ub2e4.<\/p>\n<h3>\uc571 \uc544\ud0a4\ud14d\ucc98<\/h3>\n<p>\uc571 \ud655\uc7a5\uc740 \ub3c5\ub9bd\ud615 \uc571\uc774 \uc544\ub2d9\ub2c8\ub2e4. \uc571 \ud655\uc7a5 \ud504\ub85c\uadf8\ub7a8\uc740 \uc571 \ub0b4\uc5d0 \ubc88\ub4e4\ub85c \uc81c\uacf5\ub418\uba70, \uc774\ub97c \"<em>\ucee8\ud14c\uc774\ub108 \uc571<\/em>\".  \uc571 \ud655\uc7a5\uc740 \ucee8\ud14c\uc774\ub108 \uc571\uc5d0 \ubc88\ub4e4\ub85c \uc81c\uacf5\ub418\uc9c0\ub9cc \ucee8\ud14c\uc774\ub108 \uc571\uacfc\ub294 \ubcc4\ub3c4\uc758 \ud504\ub85c\uc138\uc2a4\uc5d0\uc11c \ub3c5\ub9bd\uc801\uc73c\ub85c \uc2e4\ud589\ub429\ub2c8\ub2e4. \uc571 \ud655\uc7a5\uc740 \ud655\uc7a5 \uae30\ub2a5\uc758 \uae30\ub2a5\uc774 \ud544\uc694\ud55c \ub2e4\ub978 \uc571\uc5d0\uc11c \uc2e4\ud589\ub429\ub2c8\ub2e4. \uc571 \ud655\uc7a5\uc744 \uc2e4\ud589\ud558\ub294 \uc571\uc744 \"<em>\ud638\uc2a4\ud2b8 \uc571<\/em>\".  \ud655\uc7a5 \ud504\ub85c\uadf8\ub7a8\uc758 UI\ub294 \ud638\uc2a4\ud2b8 \uc571\uc758 \ucee8\ud14d\uc2a4\ud2b8\uc5d0 \ud45c\uc2dc\ub429\ub2c8\ub2e4.<\/p>\n<p>\ucee8\ud14c\uc774\ub108 \uc571\uacfc \ud574\ub2f9 \ud655\uc7a5 \ud504\ub85c\uadf8\ub7a8\uc740 \uc790\uccb4 \uc0cc\ub4dc\ubc15\uc2a4\uc5d0\uc11c \uc2e4\ud589\ub418\ub294 \ub3c5\ub9bd\uc801\uc778 \ud504\ub85c\uc138\uc2a4\uc774\uc9c0\ub9cc, \ucee8\ud14c\uc774\ub108 \uc571\uacfc \ud574\ub2f9 \ud655\uc7a5 \ud504\ub85c\uadf8\ub7a8\uc740 \ub2e4\uc74c\uc744 \ud1b5\ud574 \ub370\uc774\ud130\ub97c \uacf5\uc720\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. <em>\uacf5\uc720 \ucee8\ud14c\uc774\ub108<\/em>.<\/p>\n<p>\uacf5\uc720 \ucee8\ud14c\uc774\ub108\ub294 \uace0\uc720\ud55c \uc571 \uadf8\ub8f9\uc744 \ub4f1\ub85d\ud558\uace0 \ucee8\ud14c\uc774\ub108 \uc571\uacfc \ud655\uc7a5 \ud504\ub85c\uadf8\ub7a8 \ubaa8\ub450\uc5d0 \ub300\ud574 \uc0ac\uc6a9\ud558\ub3c4\ub85d \uc124\uc815\ud558\uc5ec \uc124\uc815\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \ub2e4\uc74c \uc139\uc158\uc5d0\uc11c \uc774 \uc124\uc815\uc5d0 \ub300\ud574 \uc54c\uc544\ubcf4\uc138\uc694.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-3420\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2017\/05\/app-arch.png\" alt=\"App Extension Architecture\" width=\"842\" height=\"678\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/05\/app-arch.png 842w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/05\/app-arch-300x242.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/05\/app-arch-768x618.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/05\/app-arch-20x16.png 20w\" sizes=\"auto, (max-width: 842px) 100vw, 842px\" \/><\/p>\n<h3>\uc571 \uadf8\ub8f9 \uad6c\uc131<\/h3>\n<p>\ucc38\uc870\u00a0<a href=\"https:\/\/developer.apple.com\/library\/content\/documentation\/Miscellaneous\/Reference\/EntitlementKeyReference\/Chapters\/EnablingAppSandbox.html#\/\/apple_ref\/doc\/uid\/TP40011195-CH4-SW19\">Apple \uac1c\ubc1c\uc790 \ubb38\uc11c<\/a>\u00a0\ub97c \ucc38\uc870\ud558\uc5ec iOS \uc571\uc5d0\uc11c \uc571 \uadf8\ub8f9\uc744 \uad6c\uc131\ud558\ub294 \ubc29\ubc95\uc5d0 \ub300\ud574 \uc790\uc138\ud788 \uc54c\uc544\ubcf4\uc138\uc694.<\/p>\n<p>\uc5f4\uae30 <em>CBLiteApp.xc\uc791\uc5c5\uacf5\uac04<\/em> \ub97c \ub2e4\uc6b4\ub85c\ub4dc\ud55c \ub370\ubaa8 \uc571 \ud504\ub85c\uc81d\ud2b8\uc5d0 \ucd94\uac00\ud569\ub2c8\ub2e4.<\/p>\n<ul>\n<li>CBLiteApp \ucee8\ud14c\uc774\ub108 \uc571 \ub300\uc0c1\uc758 \"\uae30\ub2a5\" \ud0ed\uc744 \uc5fd\ub2c8\ub2e4. \uc571 \uadf8\ub8f9\uc774 \ud45c\uc2dc\ub418\uc5b4\uc57c \ud569\ub2c8\ub2e4. <em>group.com.example.CBLiteSharedData<\/em> \uc0ac\uc6a9\ud558\ub3c4\ub85d \uc124\uc815\ud569\ub2c8\ub2e4.<\/li>\n<\/ul>\n<div id=\"attachment_3406\" style=\"width: 591px\" class=\"wp-caption alignleft\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-3406\" class=\"wp-image-3406\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2017\/05\/appgroup-app-1024x738.png\" alt=\"Enabling App Group\" width=\"581\" height=\"419\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/05\/appgroup-app-1024x738.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/05\/appgroup-app-300x216.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/05\/appgroup-app-768x554.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/05\/appgroup-app-1536x1107.png 1536w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/05\/appgroup-app-2048x1476.png 2048w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/05\/appgroup-app-20x14.png 20w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/05\/appgroup-app-1320x951.png 1320w\" sizes=\"auto, (max-width: 581px) 100vw, 581px\" \/><p id=\"caption-attachment-3406\" class=\"wp-caption-text\">\uc571\uc6a9 \uc571 \uadf8\ub8f9 \uc0ac\uc6a9<\/p><\/div>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<ul>\n<li>CBLiteTaskExtension \ub300\uc0c1\uc758 \"\uae30\ub2a5\" \ud0ed\uc744 \uc5fd\ub2c8\ub2e4. \ub3d9\uc77c\ud55c \uc571 \uadf8\ub8f9\uc774 \ud45c\uc2dc\ub418\uc5b4\uc57c \ud569\ub2c8\ub2e4, <em>group.com.example.CBLiteSharedData<\/em> \uc0ac\uc6a9\ud558\ub3c4\ub85d \uc124\uc815\ud569\ub2c8\ub2e4.<\/li>\n<\/ul>\n<div id=\"attachment_3407\" style=\"width: 602px\" class=\"wp-caption alignleft\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-3407\" class=\"wp-image-3407\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2017\/05\/appgroup-extension-1024x738.png\" alt=\"\" width=\"592\" height=\"426\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/05\/appgroup-extension-1024x738.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/05\/appgroup-extension-300x216.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/05\/appgroup-extension-768x554.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/05\/appgroup-extension-1536x1108.png 1536w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/05\/appgroup-extension-2048x1477.png 2048w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/05\/appgroup-extension-20x14.png 20w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/05\/appgroup-extension-1320x952.png 1320w\" sizes=\"auto, (max-width: 592px) 100vw, 592px\" \/><p id=\"caption-attachment-3407\" class=\"wp-caption-text\">\ud655\uc7a5 \ud504\ub85c\uadf8\ub7a8\uc5d0\uc11c \uc571 \uadf8\ub8f9 \uad6c\uc131<\/p><\/div>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>\ub300\uc0c1\uc5d0 \ub300\ud574 \uc571 \uadf8\ub8f9 \uae30\ub2a5\uc744 \ud65c\uc131\ud654\ud558\uba74 \ucee8\ud14c\uc774\ub108 \uc571\uc758 \uad8c\ud55c \ud30c\uc77c\uacfc \ud574\ub2f9 \ud655\uc7a5\uc790\uc5d0 \ucd94\uac00\ub429\ub2c8\ub2e4.<\/p>\n<ul>\n<li>\ub610\ud55c , Apple \uac1c\ubc1c\uc790 \ud3ec\ud138\uc5d0 \ub4f1\ub85d\ub41c \uc571 ID\uc5d0 \uc571 \uadf8\ub8f9 \uae30\ub2a5\uc744 \ucd94\uac00\ud574\uc57c \ud569\ub2c8\ub2e4.<\/li>\n<\/ul>\n<div id=\"attachment_3408\" style=\"width: 615px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-3408\" class=\"wp-image-3408\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2017\/05\/portalconfigure-1024x815.png\" alt=\"Configuring App Group for App in Apple Developer Portal\" width=\"605\" height=\"482\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/05\/portalconfigure-1024x815.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/05\/portalconfigure-300x239.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/05\/portalconfigure-768x611.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/05\/portalconfigure-1536x1222.png 1536w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/05\/portalconfigure-20x16.png 20w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/05\/portalconfigure-1320x1050.png 1320w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/05\/portalconfigure.png 1976w\" sizes=\"auto, (max-width: 605px) 100vw, 605px\" \/><p id=\"caption-attachment-3408\" class=\"wp-caption-text\">Apple \uac1c\ubc1c\uc790 \ud3ec\ud138\uc5d0\uc11c \uc571\uc6a9 \uc571 \uadf8\ub8f9 \uad6c\uc131\ud558\uae30<\/p><\/div>\n<p>&nbsp;<\/p>\n<h2>\uc571 \uc5f0\uc2b5<\/h2>\n<p>\uc571 \ub300\uc0c1\uc744 \uc120\ud0dd\ud558\uc5ec \uc571 \ube4c\ub4dc \ubc0f \uc2e4\ud589 \"<em>CBLiteApp<\/em>\". \uc774\uc81c \uc54c\ub9bc \uc13c\ud130\uc758 \uc624\ub298 \ubcf4\uae30\ub85c \uc804\ud658\ud569\ub2c8\ub2e4.<\/p>\n<ul>\n<li>\uc544\ub798\uc640 \uac19\uc774 \uc0c8 \ud655\uc7a5 \ud504\ub85c\uadf8\ub7a8 \uc704\uc82f\uc744 \uc624\ub298 \ubcf4\uae30\uc5d0 \ucd94\uac00\ud569\ub2c8\ub2e4.<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-3422\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2017\/05\/addtodaywidget.gif\" alt=\"Add Today Widget\" width=\"310\" height=\"572\" \/><\/p>\n<ul>\n<li>\uc571\uc73c\ub85c \uc804\ud658\ud558\uace0 '+' \ubc84\ud2bc\uc744 \ud0ed\ud558\uc5ec \uba87 \uac00\uc9c0 \uc791\uc5c5\uc744 \ucd94\uac00\ud569\ub2c8\ub2e4. \ud574\ub2f9 \uc624\ub298 \uc704\uc82f\uc73c\ub85c \uc804\ud658\ud569\ub2c8\ub2e4. \ucd94\uac00\ud55c \uc791\uc5c5\uc774 \uc704\uc82f\uc5d0 \ud45c\uc2dc\ub418\ub294 \uac83\uc744 \ud655\uc778\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/li>\n<\/ul>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-3410\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2017\/05\/addtask.gif\" alt=\"Add Task\" width=\"301\" height=\"560\" \/><\/p>\n<ul>\n<li>\uc791\uc5c5\uc744 \ud0ed\ud558\uc5ec \uc791\uc5c5\uc744 \"\uc644\ub8cc\ub428\"\uc73c\ub85c \ud45c\uc2dc\ud569\ub2c8\ub2e4. \uc774\uc81c Container \uc571\uc73c\ub85c \ub2e4\uc2dc \uc804\ud658\ud569\ub2c8\ub2e4. \uc791\uc5c5\uc758 \uc644\ub8cc \uc0c1\ud0dc\uac00 \uc624\ub298 \uc704\uc82f\uc5d0\uc11c \uc218\ud589\ud55c \uc791\uc5c5\uacfc \uc77c\uce58\ud558\ub3c4\ub85d \uc5c5\ub370\uc774\ud2b8\ub418\ub294 \uac83\uc744 \ubcfc \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/li>\n<\/ul>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-3423\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2017\/05\/todayextensionupdatetask.gif\" alt=\"Today Extension Update Task\" width=\"312\" height=\"570\" \/><\/p>\n<p>&nbsp;<\/p>\n<ul>\n<li>\ub9c8\ucc2c\uac00\uc9c0\ub85c Container \uc571\uc5d0\uc11c \uc791\uc5c5 \ud56d\ubaa9\uc744 \uc2a4\uc640\uc774\ud504\ud558\uc5ec \uc791\uc5c5\uc744 \ud3b8\uc9d1\ud558\uac70\ub098 \uc0ad\uc81c\ud569\ub2c8\ub2e4. \uc624\ub298 \uc704\uc82f\uc73c\ub85c \uc804\ud658\ud569\ub2c8\ub2e4. \uc5c5\ub370\uc774\ud2b8\ub41c \uc791\uc5c5 \ubaa9\ub85d\uc774 \ud45c\uc2dc\ub429\ub2c8\ub2e4.<\/li>\n<\/ul>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-3414\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2017\/05\/editdeletetask-1.gif\" alt=\"Force Touch\" width=\"315\" height=\"583\" \/><\/p>\n<ul>\n<li>\uc7a5\uce58\uc5d0\uc11c 3D Touch\ub97c \uc9c0\uc6d0\ud558\ub294 \uacbd\uc6b0 \ud648 \ud654\uba74\uc758 \uc571 \uc544\uc774\ucf58\uc744 \uac15\uc81c\ub85c \ud130\uce58\ud558\uba74 \uc544\uc774\ucf58\uc5d0\uc11c \ubc14\ub85c \uc0c1\uc704 \uc791\uc5c5 \ud655\uc7a5 \ud504\ub85c\uadf8\ub7a8\uc774 \ud45c\uc2dc\ub418\uace0 \uc774 \ud655\uc7a5 \ud504\ub85c\uadf8\ub7a8\uacfc \uc0c1\ud638 \uc791\uc6a9\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc544\uc8fc \uba4b\uc9c0\ub124\uc694!<\/li>\n<\/ul>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-3414\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2017\/05\/forcetouch.gif\" alt=\"Force Touch\" width=\"315\" height=\"583\" \/><\/p>\n<ul>\n<li>\ub9c8\uc9c0\ub9c9\uc73c\ub85c \ucee8\ud14c\uc774\ub108 \uc571\uc744 \uc885\ub8cc\ud569\ub2c8\ub2e4. \uc624\ub298 \uc704\uc82f\uc73c\ub85c \uc804\ud658\ud558\uace0 \uc791\uc5c5\uc758 \uc644\ub8cc \uc0c1\ud0dc\ub97c \uc5c5\ub370\uc774\ud2b8\ud569\ub2c8\ub2e4. \uc571\uc744 \ub2e4\uc2dc \uc2dc\uc791\ud569\ub2c8\ub2e4. \uc791\uc5c5\uc774 \uc5c5\ub370\uc774\ud2b8\ub41c \uc0c1\ud0dc\uc640 \ud568\uaed8 \ub098\uc5f4\ub429\ub2c8\ub2e4.<\/li>\n<\/ul>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-3424\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2017\/05\/app-termination.gif\" alt=\"Container App Termination\" width=\"308\" height=\"572\" \/><\/p>\n<p>&nbsp;<\/p>\n<h2>\ucf54\ub4dc \uc5f0\uc2b5<\/h2>\n<p>\uc791\uc5c5\uc740 \ub85c\uceec Couchbase Lite \uc784\ubca0\ub514\ub4dc \ub370\uc774\ud130\ubca0\uc774\uc2a4\uc5d0 \uc800\uc7a5\ub429\ub2c8\ub2e4. \uc774\ub294 \ucee8\ud14c\uc774\ub108 \uc571\uacfc Today \ud655\uc7a5 \ud504\ub85c\uadf8\ub7a8 \ubaa8\ub450 \ub370\uc774\ud130\ubca0\uc774\uc2a4\uc5d0 \ub300\ud55c \uc561\uc138\uc2a4 \uad8c\ud55c\uc774 \ud544\uc694\ud558\ub2e4\ub294 \uac83\uc744 \uc758\ubbf8\ud569\ub2c8\ub2e4. \uc55e\uc11c \uc124\uba85\ud55c \ub300\ub85c \ucee8\ud14c\uc774\ub108 \uc571\uacfc \ud655\uc7a5 \ud504\ub85c\uadf8\ub7a8 \uac04\uc5d0 \ub370\uc774\ud130\ub97c \uacf5\uc720\ud558\ub294 \ubc29\ubc95\uc740 \uacf5\uc720 \ucee8\ud14c\uc774\ub108\ub97c \uc774\uc6a9\ud558\ub294 \uac83\uc785\ub2c8\ub2e4. \uc774\ub294 Couchbase Lite \ub370\uc774\ud130\ubca0\uc774\uc2a4\uac00 \uacf5\uc720 \ucee8\ud14c\uc774\ub108\uc5d0 \uc788\uc5b4\uc57c \ud568\uc744 \uc758\ubbf8\ud569\ub2c8\ub2e4.<\/p>\n<p>\uc774\ub97c \ud65c\uc131\ud654\ud558\ub294 \ucf54\ub4dc\ub294 \uac04\ub2e8\ud569\ub2c8\ub2e4.<\/p>\n<p>\uc5f4\uae30 <em>DatabaseManager.swift<\/em> \ud30c\uc77c\uc744 \ub9cc\ub4ed\ub2c8\ub2e4.<\/p>\n<p>DatabaseManager\ub294 \uae30\ubcf8\uc801\uc778 \ub370\uc774\ud130\ubca0\uc774\uc2a4 \uad00\ub9ac \uae30\ub2a5\uc744 \ucc98\ub9ac\ud558\ub294 \uc2f1\uae00\ud1a4 \ud074\ub798\uc2a4\uc785\ub2c8\ub2e4.<\/p>\n<ul>\n<li>\ucc3e\uae30 <em>\uc571\uadf8\ub8f9\ucee8\ud14c\uc774\ub108URL<\/em> \ud568\uc218<\/li>\n<\/ul>\n<p>\uc774 \ud568\uc218\ub294 \uacf5\uc720 \ucee8\ud14c\uc774\ub108 \ud3f4\ub354\uc758 \uacbd\ub85c\ub97c \uad6c\uc131\ud569\ub2c8\ub2e4.<\/p>\n<pre class=\"lang:default decode:true\">  \/\/ 1. Get URL to shared group container\r\n        let fileManager = FileManager.default\r\n        guard let groupURL = fileManager\r\n            .containerURL(forSecurityApplicationGroupIdentifier: \"group.com.example.CBLiteSharedData\") else {\r\n                return nil\r\n        }\r\n        \r\n        let storagePathUrl = groupURL.appendingPathComponent(\"CBLite\")\r\n        let storagePath = storagePathUrl.path\r\n        \r\n        \/\/ 2: Create a folder in the shared container location with name\"CBLite\"\r\n        if !fileManager.fileExists(atPath: storagePath) {\r\n            do {\r\n                try fileManager.createDirectory(atPath: storagePath,\r\n                                                withIntermediateDirectories: false,\r\n                                                attributes: nil)\r\n            } catch let error {\r\n                print(\"error creating filepath: \\(error)\")\r\n                return nil\r\n            }\r\n        }\r\n        \r\n        return storagePathUrl<\/pre>\n<ol>\n<li>\uacf5\uc720 \uadf8\ub8f9 \ucee8\ud14c\uc774\ub108\uc758 URL\uc744 \ubc18\ud658\ud569\ub2c8\ub2e4. \uadf8\ub8f9 \ucee8\ud14c\uc774\ub108\ub294 \ub2e4\uc74c \uc704\uce58\uc5d0 \uc800\uc7a5\ub429\ub2c8\ub2e4. <em>~\/\ub77c\uc774\ube0c\ub7ec\ub9ac\/\uadf8\ub8f9 \ucee8\ud14c\uc774\ub108\/<\/em><\/li>\n<li>\uacf5\uc720 \uadf8\ub8f9 \ucee8\ud14c\uc774\ub108\uc5d0 CBLite\ub77c\ub294 \ud3f4\ub354\ub97c \ub9cc\ub4ed\ub2c8\ub2e4.<\/li>\n<\/ol>\n<ul>\n<li>\ucc3e\uae30 <em>\uacf5\uc720 \ub370\uc774\ud130\uc5d0 \ub300\ud55c \uad6c\uc131 \uad00\ub9ac\uc790<\/em> \ud568\uc218<\/li>\n<\/ul>\n<pre class=\"lang:swift decode:true\">do {\r\n            \/\/ 1. Set the file protection mode for the Couchbase Lite database folder\r\n            let options = CBLManagerOptions(readOnly: false, fileProtection: Data.WritingOptions.completeFileProtectionUnlessOpen)\r\n            let cblpoptions = UnsafeMutablePointer&lt;CBLManagerOptions&gt;.allocate(capacity: 1)\r\n            cblpoptions.initialize(to: options)\r\n            \r\n            if let url = self.appGroupContainerURL() {\r\n                \/\/ 2. Initialize the CBLManager with the directory of the shared container\r\n                _cbManager = try CBLManager.init(directory: url.relativePath, options: cblpoptions)\r\n            }\r\n            \r\n            return true\r\n        }\r\n        catch {\r\n             return false\r\n            \r\n        }<\/pre>\n<ol>\n<li>\uc801\uc808\ud55c \ud30c\uc77c \ubcf4\ud638 \uae30\ub2a5\uc774 \uc788\ub294 CBLManagerOptions \uc635\uc158 \uac1d\uccb4\ub97c \uc0dd\uc131\ud569\ub2c8\ub2e4. \uac12\uc740 <a href=\"https:\/\/developer.apple.com\/reference\/foundation\/nsdata.writingoptions\/1616278-completefileprotectionunlessopen\"><em>completeFileProtectionUnlessOpen<\/em><\/a> \ub294 \ud30c\uc77c\uc774 \uc5f4\ub824 \uc788\uc9c0 \uc54a\uc73c\uba74 \ud30c\uc77c\uc5d0 \ub300\ud55c \uc77d\uae30\/\uc4f0\uae30 \uc561\uc138\uc2a4\uac00 \uc81c\ud55c\ub428\uc744 \uc758\ubbf8\ud569\ub2c8\ub2e4.<\/li>\n<li>\uacf5\uc720 \ucee8\ud14c\uc774\ub108 \uacbd\ub85c\ub85c CBLManager\ub97c \ucd08\uae30\ud654\ud569\ub2c8\ub2e4. \ub370\uc774\ud130\ubca0\uc774\uc2a4\uac00 \uc0dd\uc131\ub418\uba74 \uacf5\uc720 \ucee8\ud14c\uc774\ub108\uc5d0 \ub370\uc774\ud130\ubca0\uc774\uc2a4\uac00 \uc0dd\uc131\ub429\ub2c8\ub2e4. \uc774\uc81c \uc571\uacfc \ud655\uc7a5 \ud504\ub85c\uadf8\ub7a8 \ubaa8\ub450 \uc77d\uace0 \uc4f8 \uc218 \uc788\ub294 \uacf5\uc720 \ucee8\ud14c\uc774\ub108\uc5d0 Couchbase Lite \ub370\uc774\ud130\ubca0\uc774\uc2a4\uac00 \uc788\uc2b5\ub2c8\ub2e4.<\/li>\n<\/ol>\n<h3>\ub2e4\uc74c \ub2e8\uacc4\ub294 \ubb34\uc5c7\uc778\uac00\uc694?<\/h3>\n<p>\ub098\uba38\uc9c0 \ub370\ubaa8 \uc0d8\ud50c \ucf54\ub4dc\ub97c \uc0b4\ud3b4\ubcf4\uace0 \ubb38\uc11c\uac00 \ucd94\uac00, \ud3b8\uc9d1 \ubc0f \uc0ad\uc81c\ub418\ub294 \ubc29\uc2dd\uc744 \uc774\ud574\ud558\uc138\uc694. \ud2b9\ud788\u00a0<em>TaskPresenter.swift<\/em> \ud30c\uc77c\ub85c \uc774\ub3d9\ud569\ub2c8\ub2e4. \uc774 \ud30c\uc77c\uc5d0\uc11c Couchbase Lite \ub370\uc774\ud130\ubca0\uc774\uc2a4\uc640\uc758 \ubaa8\ub4e0 \uc0c1\ud638 \uc791\uc6a9\uc774 \ucc98\ub9ac\ub429\ub2c8\ub2e4.<\/p>\n<p>\uad81\uae08\ud55c \uc810\uc774 \uc788\uc73c\uba74 \uc5b8\uc81c\ub4e0\uc9c0 \ub2e4\uc74c \uc8fc\uc18c\ub85c \ubb38\uc758\ud574 \uc8fc\uc138\uc694. <a href=\"https:\/\/twitter.com\/rajagp?lang=en\">\ud2b8\uc704\ud130<\/a>. \uac1c\uc120 \uc0ac\ud56d\uc744 \uc81c\uc548\ud558\ub824\uba74 \ud480 \ub9ac\ud018\uc2a4\ud2b8\ub97c \uc81c\ucd9c\ud558\uc138\uc694. <a href=\"https:\/\/github.com\/couchbaselabs\/couchbase-mobile-ios-app-extension\">GitHub<\/a> \ub9ac\ud3ec\uc9c0\ud1a0\ub9ac\uc5d0 \uc800\uc7a5\ud558\uc138\uc694. Couchbase Lite\uc640\uc758 \ud1b5\ud569\uc5d0 \ub300\ud55c \uc790\uc138\ud55c \ub0b4\uc6a9\uc740 \uc774 \ubb38\uc11c\uc5d0\uc11c \ud655\uc778\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.\u00a0<a href=\"https:\/\/www.couchbase.com\/blog\/ko\/couchbase-lite-embedded-in-ios-app-part1\/\">\uce74\uc6b0\uce58\ubca0\uc774\uc2a4 \ub77c\uc774\ud2b8 \uc2dc\uc791\ud558\uae30 <\/a>\ube14\ub85c\uadf8. \ube14\ub85c\uadf8 <a href=\"https:\/\/www.couchbase.com\/blog\/ko\/forums\/\">\uce74\uc6b0\uce58\ubca0\uc774\uc2a4 \ud3ec\ub7fc<\/a> \ub294 \uc9c8\ubb38\uc744 \uac8c\uc2dc\ud560 \uc218 \uc788\ub294 \ub610 \ub2e4\ub978 \uc88b\uc740 \uc7a5\uc18c\uc785\ub2c8\ub2e4.<\/p>\n<p>\uc774 \uac8c\uc2dc\ubb3c\uc5d0\uc11c\ub294 \ub3c5\ub9bd\ud615 \ubaa8\ub4dc\uc5d0\uc11c Couchbase Lite\ub97c \uc0ac\uc6a9\ud558\ub294 \ubc29\ubc95\uc5d0 \ub300\ud574 \uc124\uba85\ud558\uc9c0\ub9cc, \ud074\ub77c\uc6b0\ub4dc\uc640\uc758 \ub3d9\uae30\ud654\ub97c \ud3ec\ud568\ud558\ub294 \uae30\ub2a5\uc744 \uac15\ud654\ud558\ub294 \ub2e4\uc74c \ud3ec\uc2a4\ud305\uc744 \uae30\ub300\ud574 \uc8fc\uc138\uc694.<\/p>","protected":false},"excerpt":{"rendered":"<p>This post discusses\u00a0how to use Couchbase Lite as an embedded database to share data between your iOS App and iOS App Extension. \u00a0App Extensions implement a specific task or functionality that can be exposed to other apps on the device [&hellip;]<\/p>","protected":false},"author":1423,"featured_media":3420,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[1814,1815,7667,1810],"tags":[1964,1866,1968,1536],"ppma_author":[8948],"class_list":["post-3404","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-application-design","category-best-practices-and-tutorials","category-couchbase-lite","category-couchbase-mobile","tag-app-extension","tag-data","tag-embedded-database","tag-ios"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v26.1 (Yoast SEO v26.1.1) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Data sharing with Couchbase Lite between iOS Apps and iOS App Extensions<\/title>\n<meta name=\"description\" content=\"This post discusses how to use Couchbase Lite as an embedded database to share data between your iOS App and iOS App Extensions.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.couchbase.com\/blog\/ko\/couchbase-lite-with-ios-app-extensions\/\" \/>\n<meta property=\"og:locale\" content=\"ko_KR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Data Sharing with Couchbase Lite between iOS Apps and App Extensions\" \/>\n<meta property=\"og:description\" content=\"This post discusses how to use Couchbase Lite as an embedded database to share data between your iOS App and iOS App Extensions.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.couchbase.com\/blog\/ko\/couchbase-lite-with-ios-app-extensions\/\" \/>\n<meta property=\"og:site_name\" content=\"The Couchbase Blog\" \/>\n<meta property=\"article:published_time\" content=\"2017-05-03T16:30:02+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-06-14T03:09:35+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/05\/app-arch.png\" \/>\n\t<meta property=\"og:image:width\" content=\"842\" \/>\n\t<meta property=\"og:image:height\" content=\"678\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Priya Rajagopal, Senior Director, Product Management\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@rajagp\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Priya Rajagopal, Senior Director, Product Management\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"9\ubd84\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-lite-with-ios-app-extensions\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-lite-with-ios-app-extensions\/\"},\"author\":{\"name\":\"Priya Rajagopal, Senior Director, Product Management\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/c2da90e57717ee4970c48a87a131ac2c\"},\"headline\":\"Data Sharing with Couchbase Lite between iOS Apps and App Extensions\",\"datePublished\":\"2017-05-03T16:30:02+00:00\",\"dateModified\":\"2025-06-14T03:09:35+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-lite-with-ios-app-extensions\/\"},\"wordCount\":1306,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-lite-with-ios-app-extensions\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/05\/app-arch.png\",\"keywords\":[\"app extension\",\"data\",\"embedded database\",\"ios\"],\"articleSection\":[\"Application Design\",\"Best Practices and Tutorials\",\"Couchbase Lite\",\"Couchbase Mobile\"],\"inLanguage\":\"ko-KR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/couchbase-lite-with-ios-app-extensions\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-lite-with-ios-app-extensions\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/couchbase-lite-with-ios-app-extensions\/\",\"name\":\"Data sharing with Couchbase Lite between iOS Apps and iOS App Extensions\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-lite-with-ios-app-extensions\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-lite-with-ios-app-extensions\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/05\/app-arch.png\",\"datePublished\":\"2017-05-03T16:30:02+00:00\",\"dateModified\":\"2025-06-14T03:09:35+00:00\",\"description\":\"This post discusses how to use Couchbase Lite as an embedded database to share data between your iOS App and iOS App Extensions.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-lite-with-ios-app-extensions\/#breadcrumb\"},\"inLanguage\":\"ko-KR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/couchbase-lite-with-ios-app-extensions\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"ko-KR\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-lite-with-ios-app-extensions\/#primaryimage\",\"url\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/05\/app-arch.png\",\"contentUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/05\/app-arch.png\",\"width\":842,\"height\":678,\"caption\":\"App Extension Architecture\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-lite-with-ios-app-extensions\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.couchbase.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Data Sharing with Couchbase Lite between iOS Apps and App Extensions\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\",\"url\":\"https:\/\/www.couchbase.com\/blog\/\",\"name\":\"The Couchbase Blog\",\"description\":\"Couchbase, the NoSQL Database\",\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.couchbase.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"ko-KR\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\",\"name\":\"The Couchbase Blog\",\"url\":\"https:\/\/www.couchbase.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"ko-KR\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png\",\"contentUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png\",\"width\":218,\"height\":34,\"caption\":\"The Couchbase Blog\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/c2da90e57717ee4970c48a87a131ac2c\",\"name\":\"Priya Rajagopal, Senior Director, Product Management\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"ko-KR\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/4b50a54778b979d8c345b036ab138734\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/acfb2349788955262cd069497a9e7bdb0e97c26326f2e55811e7c1174e9ef1be?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/acfb2349788955262cd069497a9e7bdb0e97c26326f2e55811e7c1174e9ef1be?s=96&d=mm&r=g\",\"caption\":\"Priya Rajagopal, Senior Director, Product Management\"},\"description\":\"Priya Rajagopal is a Senior Director of Product Management at Couchbase responsible for developer platforms for the cloud and the edge. She has been professionally developing software for over 20 years in several technical and product leadership positions, with 10+ years focused on mobile technologies. As a TISPAN IPTV standards delegate, she was a key contributor to the IPTV standards specifications. She has 22 patents in the areas of networking and platform security.\",\"sameAs\":[\"https:\/\/x.com\/rajagp\"],\"url\":\"https:\/\/www.couchbase.com\/blog\/ko\/author\/priya-rajagopalcouchbase-com\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"iOS \uc571\uacfc iOS \uc571 \ud655\uc7a5 \ud504\ub85c\uadf8\ub7a8 \uac04\uc5d0 Couchbase Lite\ub85c \ub370\uc774\ud130 \uacf5\uc720","description":"This post discusses how to use Couchbase Lite as an embedded database to share data between your iOS App and iOS App Extensions.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.couchbase.com\/blog\/ko\/couchbase-lite-with-ios-app-extensions\/","og_locale":"ko_KR","og_type":"article","og_title":"Data Sharing with Couchbase Lite between iOS Apps and App Extensions","og_description":"This post discusses how to use Couchbase Lite as an embedded database to share data between your iOS App and iOS App Extensions.","og_url":"https:\/\/www.couchbase.com\/blog\/ko\/couchbase-lite-with-ios-app-extensions\/","og_site_name":"The Couchbase Blog","article_published_time":"2017-05-03T16:30:02+00:00","article_modified_time":"2025-06-14T03:09:35+00:00","og_image":[{"width":842,"height":678,"url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/05\/app-arch.png","type":"image\/png"}],"author":"Priya Rajagopal, Senior Director, Product Management","twitter_card":"summary_large_image","twitter_creator":"@rajagp","twitter_misc":{"Written by":"Priya Rajagopal, Senior Director, Product Management","Est. reading time":"9\ubd84"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.couchbase.com\/blog\/couchbase-lite-with-ios-app-extensions\/#article","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/couchbase-lite-with-ios-app-extensions\/"},"author":{"name":"Priya Rajagopal, Senior Director, Product Management","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/c2da90e57717ee4970c48a87a131ac2c"},"headline":"Data Sharing with Couchbase Lite between iOS Apps and App Extensions","datePublished":"2017-05-03T16:30:02+00:00","dateModified":"2025-06-14T03:09:35+00:00","mainEntityOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/couchbase-lite-with-ios-app-extensions\/"},"wordCount":1306,"commentCount":0,"publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/couchbase-lite-with-ios-app-extensions\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/05\/app-arch.png","keywords":["app extension","data","embedded database","ios"],"articleSection":["Application Design","Best Practices and Tutorials","Couchbase Lite","Couchbase Mobile"],"inLanguage":"ko-KR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.couchbase.com\/blog\/couchbase-lite-with-ios-app-extensions\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.couchbase.com\/blog\/couchbase-lite-with-ios-app-extensions\/","url":"https:\/\/www.couchbase.com\/blog\/couchbase-lite-with-ios-app-extensions\/","name":"iOS \uc571\uacfc iOS \uc571 \ud655\uc7a5 \ud504\ub85c\uadf8\ub7a8 \uac04\uc5d0 Couchbase Lite\ub85c \ub370\uc774\ud130 \uacf5\uc720","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/couchbase-lite-with-ios-app-extensions\/#primaryimage"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/couchbase-lite-with-ios-app-extensions\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/05\/app-arch.png","datePublished":"2017-05-03T16:30:02+00:00","dateModified":"2025-06-14T03:09:35+00:00","description":"This post discusses how to use Couchbase Lite as an embedded database to share data between your iOS App and iOS App Extensions.","breadcrumb":{"@id":"https:\/\/www.couchbase.com\/blog\/couchbase-lite-with-ios-app-extensions\/#breadcrumb"},"inLanguage":"ko-KR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.couchbase.com\/blog\/couchbase-lite-with-ios-app-extensions\/"]}]},{"@type":"ImageObject","inLanguage":"ko-KR","@id":"https:\/\/www.couchbase.com\/blog\/couchbase-lite-with-ios-app-extensions\/#primaryimage","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/05\/app-arch.png","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/05\/app-arch.png","width":842,"height":678,"caption":"App Extension Architecture"},{"@type":"BreadcrumbList","@id":"https:\/\/www.couchbase.com\/blog\/couchbase-lite-with-ios-app-extensions\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.couchbase.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Data Sharing with Couchbase Lite between iOS Apps and App Extensions"}]},{"@type":"WebSite","@id":"https:\/\/www.couchbase.com\/blog\/#website","url":"https:\/\/www.couchbase.com\/blog\/","name":"\uce74\uc6b0\uce58\ubca0\uc774\uc2a4 \ube14\ub85c\uadf8","description":"NoSQL \ub370\uc774\ud130\ubca0\uc774\uc2a4, Couchbase","publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.couchbase.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"ko-KR"},{"@type":"Organization","@id":"https:\/\/www.couchbase.com\/blog\/#organization","name":"\uce74\uc6b0\uce58\ubca0\uc774\uc2a4 \ube14\ub85c\uadf8","url":"https:\/\/www.couchbase.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"ko-KR","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png","width":218,"height":34,"caption":"The Couchbase Blog"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/c2da90e57717ee4970c48a87a131ac2c","name":"\ud504\ub9ac\uc57c \ub77c\uc790\uace0\ud314, \uc81c\ud488 \uad00\ub9ac \ubd80\ubb38 \uc120\uc784 \uc774\uc0ac","image":{"@type":"ImageObject","inLanguage":"ko-KR","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/4b50a54778b979d8c345b036ab138734","url":"https:\/\/secure.gravatar.com\/avatar\/acfb2349788955262cd069497a9e7bdb0e97c26326f2e55811e7c1174e9ef1be?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/acfb2349788955262cd069497a9e7bdb0e97c26326f2e55811e7c1174e9ef1be?s=96&d=mm&r=g","caption":"Priya Rajagopal, Senior Director, Product Management"},"description":"\ud504\ub9ac\uc57c \ub77c\uc790\uace0\ud314\uc740 \ud074\ub77c\uc6b0\ub4dc \ubc0f \uc5e3\uc9c0\uc6a9 \uac1c\ubc1c\uc790 \ud50c\ub7ab\ud3fc\uc744 \ub2f4\ub2f9\ud558\ub294 Couchbase\uc758 \uc81c\ud488 \uad00\ub9ac \uc218\uc11d \uc774\uc0ac\uc785\ub2c8\ub2e4. \uadf8\ub140\ub294 20\ub144 \uc774\uc0c1 \uc5ec\ub7ec \uae30\uc220 \ubc0f \uc81c\ud488 \ub9ac\ub354\uc2ed \uc9c1\ucc45\uc744 \ub9e1\uc73c\uba70 \uc804\ubb38\uc801\uc73c\ub85c \uc18c\ud504\ud2b8\uc6e8\uc5b4\ub97c \uac1c\ubc1c\ud574 \uc654\uc73c\uba70, \uadf8\uc911 10\ub144 \uc774\uc0c1\uc740 \ubaa8\ubc14\uc77c \uae30\uc220\uc5d0 \uc9d1\uc911\ud588\uc2b5\ub2c8\ub2e4. TISPAN IPTV \ud45c\uc900 \ub300\ud45c\ub85c\uc11c IPTV \ud45c\uc900 \uc0ac\uc591\uc5d0 \ud575\uc2ec\uc801\uc778 \uae30\uc5ec\ub97c \ud588\uc2b5\ub2c8\ub2e4. \ub124\ud2b8\uc6cc\ud0b9 \ubc0f \ud50c\ub7ab\ud3fc \ubcf4\uc548 \ubd84\uc57c\uc5d0\uc11c 22\uac1c\uc758 \ud2b9\ud5c8\ub97c \ubcf4\uc720\ud558\uace0 \uc788\uc2b5\ub2c8\ub2e4.","sameAs":["https:\/\/x.com\/rajagp"],"url":"https:\/\/www.couchbase.com\/blog\/ko\/author\/priya-rajagopalcouchbase-com\/"}]}},"authors":[{"term_id":8948,"user_id":1423,"is_guest":0,"slug":"priya-rajagopalcouchbase-com","display_name":"Priya Rajagopal, Senior Director, Product Management","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/acfb2349788955262cd069497a9e7bdb0e97c26326f2e55811e7c1174e9ef1be?s=96&d=mm&r=g","author_category":"","last_name":"Rajagopal, Senior Director, Product Management","first_name":"Priya","job_title":"","user_url":"","description":"\ud504\ub9ac\uc57c \ub77c\uc790\uace0\ud314\uc740 \ud074\ub77c\uc6b0\ub4dc \ubc0f \uc5e3\uc9c0\uc6a9 \uac1c\ubc1c\uc790 \ud50c\ub7ab\ud3fc\uc744 \ub2f4\ub2f9\ud558\ub294 Couchbase\uc758 \uc81c\ud488 \uad00\ub9ac \uc218\uc11d \uc774\uc0ac\uc785\ub2c8\ub2e4. \uadf8\ub140\ub294 20\ub144 \uc774\uc0c1 \uc5ec\ub7ec \uae30\uc220 \ubc0f \uc81c\ud488 \ub9ac\ub354\uc2ed \uc9c1\ucc45\uc744 \ub9e1\uc73c\uba70 \uc804\ubb38\uc801\uc73c\ub85c \uc18c\ud504\ud2b8\uc6e8\uc5b4\ub97c \uac1c\ubc1c\ud574 \uc654\uc73c\uba70, \uadf8\uc911 10\ub144 \uc774\uc0c1\uc740 \ubaa8\ubc14\uc77c \uae30\uc220\uc5d0 \uc9d1\uc911\ud588\uc2b5\ub2c8\ub2e4. TISPAN IPTV \ud45c\uc900 \ub300\ud45c\ub85c\uc11c IPTV \ud45c\uc900 \uc0ac\uc591\uc5d0 \ud575\uc2ec\uc801\uc778 \uae30\uc5ec\ub97c \ud588\uc2b5\ub2c8\ub2e4. \ub124\ud2b8\uc6cc\ud0b9 \ubc0f \ud50c\ub7ab\ud3fc \ubcf4\uc548 \ubd84\uc57c\uc5d0\uc11c 22\uac1c\uc758 \ud2b9\ud5c8\ub97c \ubcf4\uc720\ud558\uace0 \uc788\uc2b5\ub2c8\ub2e4."}],"_links":{"self":[{"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/posts\/3404","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/users\/1423"}],"replies":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/comments?post=3404"}],"version-history":[{"count":0,"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/posts\/3404\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/media\/3420"}],"wp:attachment":[{"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/media?parent=3404"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/categories?post=3404"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/tags?post=3404"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/ppma_author?post=3404"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}