{"id":3172,"date":"2014-10-11T22:21:53","date_gmt":"2014-10-11T13:21:53","guid":{"rendered":"http:\/\/lepetit-prince.net\/ios\/?p=3172"},"modified":"2014-10-11T22:21:53","modified_gmt":"2014-10-11T13:21:53","slug":"%e6%97%a5%e6%99%82%e8%a8%88","status":"publish","type":"post","link":"https:\/\/lepetit-prince.net\/ios\/?p=3172","title":{"rendered":"\u65e5\u6642\u8a08"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/lh3.googleusercontent.com\/-AIZmCzy6ShE\/VDkuY_2K2kI\/AAAAAAAACxU\/z3Q1F2etEU0\/s288\/Screen%2520Shot%25202014-10-11%2520at%252010.16.37%2520PM%2520copy.png\" width=\"288\" height=\"166\" alt=\"iPhone\u65e5\u6642\u8a08\" class=\"alignnone\" \/><br \/>\n<\/p>\n<p>\n\u304a\u3072\u3055\u307e\u30de\u30fc\u30af\u3092\u52d5\u304b\u3059\u3068\u5f71\u304c\u3046\u3054\u3044\u3066\u6642\u8a08\u307f\u305f\u3044\u3002\u306aiPhone\u30a2\u30d7\u30ea\u306e\u30b5\u30f3\u30d7\u30eb\u30b3\u30fc\u30c9\u3092\u63cf\u3044\u3066\u307f\u307e\u3059\u3002\n<\/p>\n<p><!--more--><\/p>\n<p>\n<iframe loading=\"lazy\" width=\"467\" height=\"350\" src=\"https:\/\/www.youtube.com\/embed\/CcZ3ovNKN94?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen><\/iframe><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span style=\"color: #bb2ca2\">import<\/span> UIKit<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span style=\"color: #bb2ca2\">import<\/span> SceneKit<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; min-height: 13.0px\"><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span style=\"color: #bb2ca2\">class<\/span> ViewController: <span style=\"color: #703daa\">UIViewController<\/span> {<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; min-height: 13.0px\"><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span><span style=\"color: #bb2ca2\">weak<\/span> <span style=\"color: #bb2ca2\">var<\/span> scene : <span style=\"color: #703daa\">SCNScene<\/span>?<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span><span style=\"color: #bb2ca2\">weak<\/span> <span style=\"color: #bb2ca2\">var<\/span> sceneVeiw : <span style=\"color: #703daa\">SCNView<\/span>?<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span><span style=\"color: #bb2ca2\">weak<\/span> <span style=\"color: #bb2ca2\">var<\/span> sun : <span style=\"color: #703daa\">UIView<\/span>?<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; min-height: 13.0px\"><span class=\"Apple-converted-space\">\u00a0\u00a0 \u00a0<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span><span style=\"color: #bb2ca2\">override<\/span> <span style=\"color: #bb2ca2\">func<\/span> viewDidLoad() {<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 \u00a0 \u00a0 <\/span><span style=\"color: #bb2ca2\">super<\/span>.<span style=\"color: #3d1d81\">viewDidLoad<\/span>()<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; min-height: 13.0px\"><span class=\"Apple-converted-space\">\u00a0\u00a0 \u00a0 \u00a0 \u00a0<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #008400\"><span style=\"color: #000000\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 \u00a0 \u00a0 <\/span><\/span>\/\/ scene kit<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 \u00a0 \u00a0 <\/span><span style=\"color: #bb2ca2\">self<\/span>.<span style=\"color: #31595d\">setupScene<\/span>()<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #31595d\"><span style=\"color: #000000\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 \u00a0 \u00a0 <\/span><\/span><span style=\"color: #bb2ca2\">self<\/span><span style=\"color: #000000\">.<\/span>createGround<span style=\"color: #000000\">()<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 \u00a0 \u00a0 <\/span><span style=\"color: #bb2ca2\">self<\/span>.<span style=\"color: #31595d\">createPole<\/span>()<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #31595d\"><span style=\"color: #000000\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 \u00a0 \u00a0 <\/span><\/span><span style=\"color: #bb2ca2\">self<\/span><span style=\"color: #000000\">.<\/span>createCamera<span style=\"color: #000000\">()<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 \u00a0 \u00a0 <\/span><span style=\"color: #bb2ca2\">self<\/span>.<span style=\"color: #31595d\">createLight<\/span>()<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; min-height: 13.0px\"><span class=\"Apple-converted-space\">\u00a0\u00a0 \u00a0 \u00a0 \u00a0<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #008400\"><span style=\"color: #000000\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 \u00a0 \u00a0 <\/span><\/span>\/\/ normal view<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 \u00a0 \u00a0 <\/span><span style=\"color: #bb2ca2\">self<\/span>.<span style=\"color: #703daa\">view<\/span>.<span style=\"color: #703daa\">backgroundColor<\/span> = <span style=\"color: #703daa\">UIColor<\/span>(hue: <span style=\"color: #272ad8\">0.6<\/span>, saturation: <span style=\"color: #272ad8\">0.8<\/span>, brightness: <span style=\"color: #272ad8\">1<\/span>, alpha: <span style=\"color: #272ad8\">1<\/span>)<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #31595d\"><span style=\"color: #000000\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 \u00a0 \u00a0 <\/span><\/span><span style=\"color: #bb2ca2\">self<\/span><span style=\"color: #000000\">.<\/span>createSunController<span style=\"color: #000000\">()<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span>}<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; min-height: 13.0px\"><span class=\"Apple-converted-space\">\u00a0\u00a0 \u00a0<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span><span style=\"color: #bb2ca2\">func<\/span> setupScene() {<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 \u00a0 \u00a0 <\/span><span style=\"color: #bb2ca2\">var<\/span> w = <span style=\"color: #3d1d81\">CGRectGetMaxX<\/span>(<span style=\"color: #bb2ca2\">self<\/span>.<span style=\"color: #703daa\">view<\/span>.<span style=\"color: #703daa\">bounds<\/span>);<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 \u00a0 \u00a0 <\/span><span style=\"color: #bb2ca2\">var<\/span> sv = <span style=\"color: #703daa\">SCNView<\/span>(frame: <span style=\"color: #703daa\">CGRect<\/span>(x: <span style=\"color: #272ad8\">0<\/span>, y: <span style=\"color: #272ad8\">0<\/span>, width: w, height: w))<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 \u00a0 \u00a0 <\/span>sv.<span style=\"color: #703daa\">backgroundColor<\/span> = <span style=\"color: #703daa\">UIColor<\/span>(hue: <span style=\"color: #272ad8\">0.5<\/span>, saturation: <span style=\"color: #272ad8\">0.1<\/span>, brightness: <span style=\"color: #272ad8\">1<\/span>, alpha: <span style=\"color: #272ad8\">1<\/span>)<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 \u00a0 \u00a0 <\/span>sv.<span style=\"color: #703daa\">scene<\/span> = <span style=\"color: #703daa\">SCNScene<\/span>()<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 \u00a0 \u00a0 <\/span><span style=\"color: #bb2ca2\">self<\/span>.<span style=\"color: #703daa\">view<\/span>.<span style=\"color: #3d1d81\">addSubview<\/span>(sv)<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; min-height: 13.0px\"><span class=\"Apple-converted-space\">\u00a0\u00a0 \u00a0 \u00a0 \u00a0<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 \u00a0 \u00a0 <\/span><span style=\"color: #bb2ca2\">self<\/span>.<span style=\"color: #4f8187\">scene<\/span> = sv.<span style=\"color: #703daa\">scene<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 \u00a0 \u00a0 <\/span><span style=\"color: #bb2ca2\">self<\/span>.<span style=\"color: #4f8187\">sceneVeiw<\/span> = sv<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span>}<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; min-height: 13.0px\"><span class=\"Apple-converted-space\">\u00a0\u00a0 \u00a0<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span><span style=\"color: #bb2ca2\">func<\/span> createGround() {<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 \u00a0 \u00a0 <\/span><span style=\"color: #bb2ca2\">var<\/span> ground = <span style=\"color: #703daa\">SCNBox<\/span>(width: <span style=\"color: #272ad8\">20<\/span>, height: <span style=\"color: #272ad8\">1<\/span>, length: <span style=\"color: #272ad8\">20<\/span>, chamferRadius: <span style=\"color: #272ad8\">0<\/span>)<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 \u00a0 \u00a0 <\/span>ground.<span style=\"color: #703daa\">firstMaterial<\/span>?.<span style=\"color: #703daa\">diffuse<\/span>.<span style=\"color: #703daa\">contents<\/span> = <span style=\"color: #703daa\">UIColor<\/span>(hue: <span style=\"color: #272ad8\">0.4<\/span>, saturation: <span style=\"color: #272ad8\">0.4<\/span>, brightness: <span style=\"color: #272ad8\">0.7<\/span>, alpha: <span style=\"color: #272ad8\">1<\/span>)<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 \u00a0 \u00a0 <\/span><span style=\"color: #bb2ca2\">var<\/span> groundNode = <span style=\"color: #703daa\">SCNNode<\/span>(geometry: ground)<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 \u00a0 \u00a0 <\/span>groundNode.<span style=\"color: #703daa\">name<\/span> = <span style=\"color: #d12f1b\">&#8220;ground&#8221;<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 \u00a0 \u00a0 <\/span><span style=\"color: #bb2ca2\">self<\/span>.<span style=\"color: #4f8187\">scene<\/span>?.<span style=\"color: #703daa\">rootNode<\/span>.<span style=\"color: #3d1d81\">addChildNode<\/span>(groundNode)<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span>}<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; min-height: 13.0px\"><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span><span style=\"color: #bb2ca2\">func<\/span> createPole() {<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 \u00a0 \u00a0 <\/span><span style=\"color: #bb2ca2\">var<\/span> pole = <span style=\"color: #703daa\">SCNCylinder<\/span>(radius: <span style=\"color: #272ad8\">0.4<\/span>, height: <span style=\"color: #272ad8\">6<\/span>)<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 \u00a0 \u00a0 <\/span>pole.<span style=\"color: #703daa\">firstMaterial<\/span>?.<span style=\"color: #703daa\">diffuse<\/span>.<span style=\"color: #703daa\">contents<\/span> = <span style=\"color: #703daa\">UIColor<\/span>(hue: <span style=\"color: #272ad8\">0.15<\/span>, saturation: <span style=\"color: #272ad8\">0.6<\/span>, brightness: <span style=\"color: #272ad8\">0.8<\/span>, alpha: <span style=\"color: #272ad8\">1<\/span>)<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 \u00a0 \u00a0 <\/span><span style=\"color: #bb2ca2\">var<\/span> poleNode = <span style=\"color: #703daa\">SCNNode<\/span>(geometry: pole)<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 \u00a0 \u00a0 <\/span>poleNode.<span style=\"color: #703daa\">position<\/span> = <span style=\"color: #703daa\">SCNVector3<\/span>(x: <span style=\"color: #272ad8\">0<\/span>, y: <span style=\"color: #272ad8\">3<\/span>, z: <span style=\"color: #272ad8\">0<\/span>)<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 \u00a0 \u00a0 <\/span><span style=\"color: #bb2ca2\">self<\/span>.<span style=\"color: #4f8187\">scene<\/span>?.<span style=\"color: #703daa\">rootNode<\/span>.<span style=\"color: #3d1d81\">addChildNode<\/span>(poleNode)<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span>}<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; min-height: 13.0px\"><span class=\"Apple-converted-space\">\u00a0\u00a0 \u00a0<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span><span style=\"color: #bb2ca2\">func<\/span> createCamera() {<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 \u00a0 \u00a0 <\/span><span style=\"color: #bb2ca2\">var<\/span> camera = <span style=\"color: #703daa\">SCNNode<\/span>()<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 \u00a0 \u00a0 <\/span>camera.<span style=\"color: #703daa\">camera<\/span> = <span style=\"color: #703daa\">SCNCamera<\/span>()<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 \u00a0 \u00a0 <\/span>camera.<span style=\"color: #703daa\">position<\/span> = <span style=\"color: #703daa\">SCNVector3<\/span>(x: <span style=\"color: #272ad8\">0<\/span>, y: <span style=\"color: #272ad8\">20<\/span>, z: <span style=\"color: #272ad8\">15<\/span>)<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 \u00a0 \u00a0 <\/span><span style=\"color: #bb2ca2\">self<\/span>.<span style=\"color: #4f8187\">scene<\/span>?.<span style=\"color: #703daa\">rootNode<\/span>.<span style=\"color: #3d1d81\">addChildNode<\/span>(camera)<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; min-height: 13.0px\"><span class=\"Apple-converted-space\">\u00a0\u00a0 \u00a0 \u00a0 \u00a0<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 \u00a0 \u00a0 <\/span><span style=\"color: #bb2ca2\">if<\/span> <span style=\"color: #bb2ca2\">let<\/span> target = <span style=\"color: #bb2ca2\">self<\/span>.<span style=\"color: #4f8187\">scene<\/span>?.<span style=\"color: #703daa\">rootNode<\/span>.<span style=\"color: #3d1d81\">childNodeWithName<\/span>(<span style=\"color: #d12f1b\">&#8220;ground&#8221;<\/span>, recursively: <span style=\"color: #bb2ca2\">false<\/span>) {<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 <\/span>camera.<span style=\"color: #703daa\">constraints<\/span> = [<span style=\"color: #703daa\">SCNLookAtConstraint<\/span>(target:target)]<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 \u00a0 \u00a0 <\/span>}<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span>}<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; min-height: 13.0px\"><span class=\"Apple-converted-space\">\u00a0\u00a0 \u00a0<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span><span style=\"color: #bb2ca2\">func<\/span> createLight() {<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 \u00a0 \u00a0 <\/span><span style=\"color: #bb2ca2\">var<\/span> light = <span style=\"color: #703daa\">SCNLight<\/span>()<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #703daa\"><span style=\"color: #000000\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 \u00a0 \u00a0 <\/span>light.<\/span>type<span style=\"color: #000000\"> = <\/span>SCNLightTypeSpot<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 \u00a0 \u00a0 <\/span><span style=\"color: #bb2ca2\">var<\/span> lightNode = <span style=\"color: #703daa\">SCNNode<\/span>()<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 \u00a0 \u00a0 <\/span>lightNode.<span style=\"color: #703daa\">name<\/span> = <span style=\"color: #d12f1b\">&#8220;light&#8221;<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 \u00a0 \u00a0 <\/span>lightNode.<span style=\"color: #703daa\">light<\/span> = light<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 \u00a0 \u00a0 <\/span>lightNode.<span style=\"color: #703daa\">position<\/span> = <span style=\"color: #703daa\">SCNVector3<\/span>(x: <span style=\"color: #272ad8\">0<\/span>, y: <span style=\"color: #272ad8\">50<\/span>, z: <span style=\"color: #272ad8\">0<\/span>)<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 \u00a0 \u00a0 <\/span><span style=\"color: #bb2ca2\">if<\/span> <span style=\"color: #bb2ca2\">let<\/span> target = <span style=\"color: #bb2ca2\">self<\/span>.<span style=\"color: #4f8187\">scene<\/span>?.<span style=\"color: #703daa\">rootNode<\/span>.<span style=\"color: #3d1d81\">childNodeWithName<\/span>(<span style=\"color: #d12f1b\">&#8220;ground&#8221;<\/span>, recursively: <span style=\"color: #bb2ca2\">false<\/span>) {<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 <\/span>lightNode.<span style=\"color: #703daa\">constraints<\/span> = [<span style=\"color: #703daa\">SCNLookAtConstraint<\/span>(target: target)]<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 \u00a0 \u00a0 <\/span>}<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 \u00a0 \u00a0 <\/span>lightNode.<span style=\"color: #703daa\">light<\/span>?.<span style=\"color: #703daa\">castsShadow<\/span> = <span style=\"color: #bb2ca2\">true<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 \u00a0 \u00a0 <\/span><span style=\"color: #bb2ca2\">self<\/span>.<span style=\"color: #4f8187\">scene<\/span>?.<span style=\"color: #703daa\">rootNode<\/span>.<span style=\"color: #3d1d81\">addChildNode<\/span>(lightNode)<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span>}<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; min-height: 13.0px\"><span class=\"Apple-converted-space\">\u00a0\u00a0 \u00a0<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span><span style=\"color: #bb2ca2\">func<\/span> createSunController()<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span>{<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 \u00a0 \u00a0 <\/span><span style=\"color: #bb2ca2\">var<\/span> sun = <span style=\"color: #703daa\">UIView<\/span>(frame: <span style=\"color: #703daa\">CGRect<\/span>(x: <span style=\"color: #272ad8\">0<\/span>, y: <span style=\"color: #272ad8\">0<\/span>, width: <span style=\"color: #272ad8\">30<\/span>, height: <span style=\"color: #272ad8\">30<\/span>))<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #703daa\"><span style=\"color: #000000\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 \u00a0 \u00a0 <\/span>sun.<\/span>layer<span style=\"color: #000000\">.<\/span>cornerRadius<span style=\"color: #000000\"> = <\/span><span style=\"color: #272ad8\">15<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 \u00a0 \u00a0 <\/span>sun.<span style=\"color: #703daa\">center<\/span> = <span style=\"color: #703daa\">CGPoint<\/span>(x: <span style=\"color: #3d1d81\">CGRectGetMidX<\/span>(<span style=\"color: #bb2ca2\">self<\/span>.<span style=\"color: #703daa\">view<\/span>.<span style=\"color: #703daa\">bounds<\/span>), y: <span style=\"color: #3d1d81\">CGRectGetMaxY<\/span>(<span style=\"color: #bb2ca2\">self<\/span>.<span style=\"color: #703daa\">view<\/span>.<span style=\"color: #703daa\">bounds<\/span>) <span style=\"color: #3d1d81\">*<\/span> <span style=\"color: #272ad8\">3.0<\/span> <span style=\"color: #3d1d81\">\/<\/span> <span style=\"color: #272ad8\">4.0<\/span>)<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 \u00a0 \u00a0 <\/span>sun.<span style=\"color: #703daa\">backgroundColor<\/span> = <span style=\"color: #703daa\">UIColor<\/span>(hue: <span style=\"color: #272ad8\">0.02<\/span>, saturation: <span style=\"color: #272ad8\">0.7<\/span>, brightness: <span style=\"color: #272ad8\">1<\/span>, alpha: <span style=\"color: #272ad8\">1<\/span>)<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 \u00a0 \u00a0 <\/span><span style=\"color: #bb2ca2\">for<\/span> i <span style=\"color: #bb2ca2\">in<\/span> <span style=\"color: #272ad8\">0<\/span>&#8230;<span style=\"color: #272ad8\">5<\/span> {<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 <\/span><span style=\"color: #bb2ca2\">var<\/span> angle = <span style=\"color: #703daa\">Double<\/span>(i) * (<span style=\"color: #703daa\">M_PI<\/span>\/<span style=\"color: #272ad8\">3.0<\/span>)<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 <\/span><span style=\"color: #bb2ca2\">var<\/span> x = <span style=\"color: #272ad8\">15.0<\/span> * <span style=\"color: #3d1d81\">cos<\/span>(angle) + <span style=\"color: #272ad8\">15.0<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 <\/span><span style=\"color: #bb2ca2\">var<\/span> y = <span style=\"color: #272ad8\">15.0<\/span> * <span style=\"color: #3d1d81\">sin<\/span>(angle) + <span style=\"color: #272ad8\">15.0<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 <\/span><span style=\"color: #bb2ca2\">var<\/span> f = <span style=\"color: #703daa\">UIView<\/span>(frame: <span style=\"color: #703daa\">CGRect<\/span>(x: <span style=\"color: #272ad8\">0<\/span>, y: <span style=\"color: #272ad8\">0<\/span>, width: <span style=\"color: #272ad8\">6<\/span>, height: <span style=\"color: #272ad8\">6<\/span>))<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 <\/span>f.<span style=\"color: #703daa\">center<\/span> = <span style=\"color: #703daa\">CGPoint<\/span>(x: x, y: y)<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #703daa\"><span style=\"color: #000000\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 <\/span>f.<\/span>backgroundColor<span style=\"color: #000000\"> = sun.<\/span>backgroundColor<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #3d1d81\"><span style=\"color: #000000\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 <\/span>f.<\/span><span style=\"color: #703daa\">transform<\/span><span style=\"color: #000000\"> = <\/span>CGAffineTransformMakeRotation<span style=\"color: #000000\">(<\/span><span style=\"color: #703daa\">CGFloat<\/span><span style=\"color: #000000\">(angle+<\/span><span style=\"color: #703daa\">M_PI<\/span><span style=\"color: #000000\">\/<\/span><span style=\"color: #272ad8\">4.0<\/span><span style=\"color: #000000\">))<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 <\/span>sun.<span style=\"color: #3d1d81\">addSubview<\/span>(f)<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 \u00a0 \u00a0 <\/span>}<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 \u00a0 \u00a0 <\/span><span style=\"color: #bb2ca2\">self<\/span>.<span style=\"color: #703daa\">view<\/span>.<span style=\"color: #3d1d81\">addSubview<\/span>(sun)<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; min-height: 13.0px\"><span class=\"Apple-converted-space\">\u00a0\u00a0 \u00a0 \u00a0 \u00a0<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 \u00a0 \u00a0 <\/span><span style=\"color: #bb2ca2\">self<\/span>.<span style=\"color: #4f8187\">sun<\/span> = sun;<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span>}<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; min-height: 13.0px\"><span class=\"Apple-converted-space\">\u00a0\u00a0 \u00a0<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; min-height: 13.0px\"><span class=\"Apple-converted-space\">\u00a0\u00a0 \u00a0<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span><span style=\"color: #bb2ca2\">override<\/span> <span style=\"color: #bb2ca2\">func<\/span> touchesMoved(touches: <span style=\"color: #703daa\">NSSet<\/span>, withEvent event: <span style=\"color: #703daa\">UIEvent<\/span>) {<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 \u00a0 \u00a0 <\/span><span style=\"color: #bb2ca2\">var<\/span> p<span class=\"Apple-converted-space\">\u00a0 <\/span>= touches.<span style=\"color: #3d1d81\">anyObject<\/span>()!.locationInView(<span style=\"color: #bb2ca2\">self<\/span>.<span style=\"color: #703daa\">view<\/span>)<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 \u00a0 \u00a0 <\/span><span style=\"color: #bb2ca2\">self<\/span>.<span style=\"color: #4f8187\">sun<\/span>?.<span style=\"color: #703daa\">center<\/span> = p<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; min-height: 13.0px\"><span class=\"Apple-converted-space\">\u00a0\u00a0 \u00a0 \u00a0 \u00a0<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 \u00a0 \u00a0 <\/span><span style=\"color: #bb2ca2\">var<\/span> o = <span style=\"color: #bb2ca2\">self<\/span>.<span style=\"color: #4f8187\">sceneVeiw<\/span>!.<span style=\"color: #3d1d81\">projectPoint<\/span>(<span style=\"color: #703daa\">SCNVector3Zero<\/span>)<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 \u00a0 \u00a0 <\/span><span style=\"color: #bb2ca2\">var<\/span> adjustY : <span style=\"color: #703daa\">Float<\/span> = <span style=\"color: #272ad8\">300.0<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 \u00a0 \u00a0 <\/span><span style=\"color: #bb2ca2\">var<\/span> vector = <span style=\"color: #bb2ca2\">self<\/span>.<span style=\"color: #4f8187\">sceneVeiw<\/span>!.<span style=\"color: #3d1d81\">unprojectPoint<\/span>(<span style=\"color: #703daa\">SCNVector3<\/span>(x: <span style=\"color: #703daa\">Float<\/span>(p.<span style=\"color: #703daa\">x<\/span>), y: <span style=\"color: #703daa\">Float<\/span>(p.<span style=\"color: #703daa\">y<\/span>) &#8211; adjustY, z: o.<span style=\"color: #703daa\">z<\/span>))<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; min-height: 13.0px\"><span class=\"Apple-converted-space\">\u00a0\u00a0 \u00a0 \u00a0 \u00a0<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 \u00a0 \u00a0 <\/span><span style=\"color: #bb2ca2\">var<\/span> light = <span style=\"color: #bb2ca2\">self<\/span>.<span style=\"color: #4f8187\">scene<\/span>?.<span style=\"color: #703daa\">rootNode<\/span>.<span style=\"color: #3d1d81\">childNodeWithName<\/span>(<span style=\"color: #d12f1b\">&#8220;light&#8221;<\/span>, recursively: <span style=\"color: #bb2ca2\">false<\/span>)<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 \u00a0 \u00a0 <\/span>light?.<span style=\"color: #703daa\">position<\/span> = <span style=\"color: #703daa\">SCNVector3<\/span>(x: <span style=\"color: #272ad8\">5.0<\/span> * vector.<span style=\"color: #703daa\">x<\/span>, y: <span style=\"color: #272ad8\">50<\/span>, z: &#8211;<span style=\"color: #272ad8\">5.0<\/span> * vector.<span style=\"color: #703daa\">y<\/span>)<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span>}<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; min-height: 13.0px\"><span class=\"Apple-converted-space\">\u00a0\u00a0 \u00a0<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; min-height: 13.0px\"><span class=\"Apple-converted-space\">\u00a0\u00a0 \u00a0<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span><span style=\"color: #bb2ca2\">override<\/span> <span style=\"color: #bb2ca2\">func<\/span> didReceiveMemoryWarning() {<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #3d1d81\"><span style=\"color: #000000\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 \u00a0 \u00a0 <\/span><\/span><span style=\"color: #bb2ca2\">super<\/span><span style=\"color: #000000\">.<\/span>didReceiveMemoryWarning<span style=\"color: #000000\">()<\/span><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #008400\"><span style=\"color: #000000\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 \u00a0 \u00a0 <\/span><\/span>\/\/ Dispose of any resources that can be recreated.<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\"><span class=\"Apple-converted-space\">\u00a0 \u00a0 <\/span>}<\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; min-height: 13.0px\"><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; min-height: 13.0px\"><\/p>\n<p style=\"margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo\">}<\/p>\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u304a\u3072\u3055\u307e\u30de\u30fc\u30af\u3092\u52d5\u304b\u3059\u3068\u5f71\u304c\u3046\u3054\u3044\u3066\u6642\u8a08\u307f\u305f\u3044\u3002\u306aiPh&#8230;<\/p>\n","protected":false},"author":2,"featured_media":3174,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[4],"tags":[125,24,126,124],"class_list":["post-3172","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-ios","tag-ios8","tag-iphone","tag-scenekit","tag-swift"],"aioseo_notices":[],"jetpack_featured_media_url":"https:\/\/lepetit-prince.net\/ios\/wp-content\/uploads\/36106135ff144e92526f6ae411be876b.png","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/lepetit-prince.net\/ios\/index.php?rest_route=\/wp\/v2\/posts\/3172","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/lepetit-prince.net\/ios\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/lepetit-prince.net\/ios\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/lepetit-prince.net\/ios\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/lepetit-prince.net\/ios\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=3172"}],"version-history":[{"count":1,"href":"https:\/\/lepetit-prince.net\/ios\/index.php?rest_route=\/wp\/v2\/posts\/3172\/revisions"}],"predecessor-version":[{"id":3173,"href":"https:\/\/lepetit-prince.net\/ios\/index.php?rest_route=\/wp\/v2\/posts\/3172\/revisions\/3173"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/lepetit-prince.net\/ios\/index.php?rest_route=\/wp\/v2\/media\/3174"}],"wp:attachment":[{"href":"https:\/\/lepetit-prince.net\/ios\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=3172"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/lepetit-prince.net\/ios\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=3172"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/lepetit-prince.net\/ios\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=3172"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}