tag:blogger.com,1999:blog-84029291357377346922024-03-14T16:29:29.583+09:00shku のgdgd日記新米プログラマーの忘備録Anonymoushttp://www.blogger.com/profile/13193723975557634690noreply@blogger.comBlogger34125tag:blogger.com,1999:blog-8402929135737734692.post-61895380749977581532015-04-23T11:17:00.002+09:002015-04-23T11:17:44.810+09:00【git】煩雑な branch を整理する【branch整理】$git branch<br />したら、50個位出てきた・・・。<br />
どう考えても使わないのがたくさん有るので、整理しようと思う。<br />
<br />
<span style="-webkit-text-stroke-width: 0px; background-color: white; color: #343a41; display: inline !important; float: none; font-family: Segoe, Helvetica, Arial, sans-serif; font-size: 14px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 18.2000007629395px; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 1; word-spacing: 0px;">=======branch_crean.sh=========</span><br style="-webkit-text-stroke-width: 0px; background-color: white; color: #343a41; font-family: Segoe, Helvetica, Arial, sans-serif; font-size: 14px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 18.2000007629395px; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 1; word-spacing: 0px;" /><span style="-webkit-text-stroke-width: 0px; background-color: white; color: #343a41; display: inline !important; float: none; font-family: Segoe, Helvetica, Arial, sans-serif; font-size: 14px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 18.2000007629395px; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 1; word-spacing: 0px;">#!/bin/sh</span><br style="-webkit-text-stroke-width: 0px; background-color: white; color: #343a41; font-family: Segoe, Helvetica, Arial, sans-serif; font-size: 14px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 18.2000007629395px; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 1; word-spacing: 0px;" /><span style="-webkit-text-stroke-width: 0px; background-color: white; color: #343a41; display: inline !important; float: none; font-family: Segoe, Helvetica, Arial, sans-serif; font-size: 14px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 18.2000007629395px; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 1; word-spacing: 0px;">filename=$1</span><br style="-webkit-text-stroke-width: 0px; background-color: white; color: #343a41; font-family: Segoe, Helvetica, Arial, sans-serif; font-size: 14px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 18.2000007629395px; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 1; word-spacing: 0px;" /><span style="-webkit-text-stroke-width: 0px; background-color: white; color: #343a41; display: inline !important; float: none; font-family: Segoe, Helvetica, Arial, sans-serif; font-size: 14px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 18.2000007629395px; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 1; word-spacing: 0px;">cat ${filename} | while read line</span><br style="-webkit-text-stroke-width: 0px; background-color: white; color: #343a41; font-family: Segoe, Helvetica, Arial, sans-serif; font-size: 14px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 18.2000007629395px; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 1; word-spacing: 0px;" /><span style="-webkit-text-stroke-width: 0px; background-color: white; color: #343a41; display: inline !important; float: none; font-family: Segoe, Helvetica, Arial, sans-serif; font-size: 14px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 18.2000007629395px; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 1; word-spacing: 0px;">do</span><br style="-webkit-text-stroke-width: 0px; background-color: white; color: #343a41; font-family: Segoe, Helvetica, Arial, sans-serif; font-size: 14px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 18.2000007629395px; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 1; word-spacing: 0px;" /><span style="-webkit-text-stroke-width: 0px; background-color: white; color: #343a41; display: inline !important; float: none; font-family: Segoe, Helvetica, Arial, sans-serif; font-size: 14px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 18.2000007629395px; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 1; word-spacing: 0px;">git branch -D ${line}</span><br style="-webkit-text-stroke-width: 0px; background-color: white; color: #343a41; font-family: Segoe, Helvetica, Arial, sans-serif; font-size: 14px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 18.2000007629395px; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 1; word-spacing: 0px;" /><span style="-webkit-text-stroke-width: 0px; background-color: white; color: #343a41; display: inline !important; float: none; font-family: Segoe, Helvetica, Arial, sans-serif; font-size: 14px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 18.2000007629395px; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 1; word-spacing: 0px;">git push origin :${line}</span><br style="-webkit-text-stroke-width: 0px; background-color: white; color: #343a41; font-family: Segoe, Helvetica, Arial, sans-serif; font-size: 14px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 18.2000007629395px; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 1; word-spacing: 0px;" /><span style="-webkit-text-stroke-width: 0px; background-color: white; color: #343a41; display: inline !important; float: none; font-family: Segoe, Helvetica, Arial, sans-serif; font-size: 14px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 18.2000007629395px; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 1; word-spacing: 0px;">done</span><br />
<span style="-webkit-text-stroke-width: 0px; background-color: white; color: #343a41; display: inline !important; float: none; font-family: Segoe, Helvetica, Arial, sans-serif; font-size: 14px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 18.2000007629395px; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 1; word-spacing: 0px;">=============================</span><br />
<br />
<br />
<span style="-webkit-text-stroke-width: 0px; background-color: white; color: #343a41; display: inline !important; float: none; font-family: Segoe, Helvetica, Arial, sans-serif; font-size: 14px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 18.2000007629395px; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 1; word-spacing: 0px;"> </span><br />
<span style="-webkit-text-stroke-width: 0px; background-color: white; color: #343a41; display: inline !important; float: none; font-family: Segoe, Helvetica, Arial, sans-serif; font-size: 14px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 18.2000007629395px; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 1; word-spacing: 0px;"><span style="-webkit-text-stroke-width: 0px; background-color: white; color: #343a41; display: inline !important; float: none; font-family: Segoe, Helvetica, Arial, sans-serif; font-size: 14px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 18.2000007629395px; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 1; word-spacing: 0px;">=======使用方法==========</span><br style="-webkit-text-stroke-width: 0px; background-color: white; color: #343a41; font-family: Segoe, Helvetica, Arial, sans-serif; font-size: 14px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 18.2000007629395px; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 1; word-spacing: 0px;" /><span class="yammer-object" data-resource-id="4113345" data-resource-model="tag" data-yammer-object="tag:4113345" dir="auto" style="-webkit-text-stroke-width: 0px; background-color: white; border: 0px; color: #343a41; font-family: Segoe, Helvetica, Arial, sans-serif; font-size: 14px; font-stretch: inherit; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 18.2000007629395px; margin: 0px; orphans: auto; padding: 0px; text-align: start; text-indent: 0px; text-transform: none; vertical-align: baseline; white-space: normal; widows: 1; word-spacing: 0px;">#<a href="https://www.yammer.com/mana.bo/topics/5900244" style="border: 0px; color: #386cbb; font-family: inherit; font-size: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; text-decoration: none; vertical-align: baseline;">ブランチ一覧を出力</a></span><br style="-webkit-text-stroke-width: 0px; background-color: white; color: #343a41; font-family: Segoe, Helvetica, Arial, sans-serif; font-size: 14px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 18.2000007629395px; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 1; word-spacing: 0px;" /><span style="-webkit-text-stroke-width: 0px; background-color: white; color: #343a41; display: inline !important; float: none; font-family: Segoe, Helvetica, Arial, sans-serif; font-size: 14px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 18.2000007629395px; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 1; word-spacing: 0px;">$git branch > branchlist.txt</span><br style="-webkit-text-stroke-width: 0px; background-color: white; color: #343a41; font-family: Segoe, Helvetica, Arial, sans-serif; font-size: 14px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 18.2000007629395px; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 1; word-spacing: 0px;" /><br style="-webkit-text-stroke-width: 0px; background-color: white; color: #343a41; font-family: Segoe, Helvetica, Arial, sans-serif; font-size: 14px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 18.2000007629395px; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 1; word-spacing: 0px;" /><span style="-webkit-text-stroke-width: 0px; background-color: white; color: #343a41; display: inline !important; float: none; font-family: Segoe, Helvetica, Arial, sans-serif; font-size: 14px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 18.2000007629395px; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 1; word-spacing: 0px;">## branchlist.txtをエディタで開いて、消したくないbranchをlistから除外。</span><br style="-webkit-text-stroke-width: 0px; background-color: white; color: #343a41; font-family: Segoe, Helvetica, Arial, sans-serif; font-size: 14px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 18.2000007629395px; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 1; word-spacing: 0px;" /><span style="-webkit-text-stroke-width: 0px; background-color: white; color: #343a41; display: inline !important; float: none; font-family: Segoe, Helvetica, Arial, sans-serif; font-size: 14px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 18.2000007629395px; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 1; word-spacing: 0px;">## 下記実行。</span><br style="-webkit-text-stroke-width: 0px; background-color: white; color: #343a41; font-family: Segoe, Helvetica, Arial, sans-serif; font-size: 14px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 18.2000007629395px; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 1; word-spacing: 0px;" /><br style="-webkit-text-stroke-width: 0px; background-color: white; color: #343a41; font-family: Segoe, Helvetica, Arial, sans-serif; font-size: 14px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 18.2000007629395px; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 1; word-spacing: 0px;" /><span class="yammer-object" data-resource-id="4113346" data-resource-model="tag" data-yammer-object="tag:4113346" dir="auto" style="-webkit-text-stroke-width: 0px; background-color: white; border: 0px; color: #343a41; font-family: Segoe, Helvetica, Arial, sans-serif; font-size: 14px; font-stretch: inherit; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 18.2000007629395px; margin: 0px; orphans: auto; padding: 0px; text-align: start; text-indent: 0px; text-transform: none; vertical-align: baseline; white-space: normal; widows: 1; word-spacing: 0px;">#<a href="https://www.yammer.com/mana.bo/topics/5900245" style="border: 0px; color: #386cbb; font-family: inherit; font-size: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; text-decoration: none; vertical-align: baseline;">実行権限あげる</a></span><br style="-webkit-text-stroke-width: 0px; background-color: white; color: #343a41; font-family: Segoe, Helvetica, Arial, sans-serif; font-size: 14px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 18.2000007629395px; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 1; word-spacing: 0px;" /><span style="-webkit-text-stroke-width: 0px; background-color: white; color: #343a41; display: inline !important; float: none; font-family: Segoe, Helvetica, Arial, sans-serif; font-size: 14px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 18.2000007629395px; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 1; word-spacing: 0px;">$chmod u+x branch_crean.sh</span><br style="-webkit-text-stroke-width: 0px; background-color: white; color: #343a41; font-family: Segoe, Helvetica, Arial, sans-serif; font-size: 14px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 18.2000007629395px; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 1; word-spacing: 0px;" /><span class="yammer-object" data-resource-id="4113347" data-resource-model="tag" data-yammer-object="tag:4113347" dir="auto" style="-webkit-text-stroke-width: 0px; background-color: white; border: 0px; color: #343a41; font-family: Segoe, Helvetica, Arial, sans-serif; font-size: 14px; font-stretch: inherit; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 18.2000007629395px; margin: 0px; orphans: auto; padding: 0px; text-align: start; text-indent: 0px; text-transform: none; vertical-align: baseline; white-space: normal; widows: 1; word-spacing: 0px;">#<a href="https://www.yammer.com/mana.bo/topics/5900246" style="border: 0px; color: #386cbb; font-family: inherit; font-size: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; text-decoration: none; vertical-align: baseline;">消したいリストを食わせる</a></span><br style="-webkit-text-stroke-width: 0px; background-color: white; color: #343a41; font-family: Segoe, Helvetica, Arial, sans-serif; font-size: 14px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 18.2000007629395px; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 1; word-spacing: 0px;" /><span style="-webkit-text-stroke-width: 0px; background-color: white; color: #343a41; display: inline !important; float: none; font-family: Segoe, Helvetica, Arial, sans-serif; font-size: 14px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 18.2000007629395px; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 1; word-spacing: 0px;">$./branch_crean.sh < branchlist.txt</span></span><br />
<span style="-webkit-text-stroke-width: 0px; background-color: white; color: #343a41; display: inline !important; float: none; font-family: Segoe, Helvetica, Arial, sans-serif; font-size: 14px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 18.2000007629395px; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 1; word-spacing: 0px;"><span style="-webkit-text-stroke-width: 0px; background-color: white; color: #343a41; display: inline !important; float: none; font-family: Segoe, Helvetica, Arial, sans-serif; font-size: 14px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 18.2000007629395px; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 1; word-spacing: 0px;"></span></span><br />
<span style="-webkit-text-stroke-width: 0px; background-color: white; color: #343a41; display: inline !important; float: none; font-family: Segoe, Helvetica, Arial, sans-serif; font-size: 14px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 18.2000007629395px; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 1; word-spacing: 0px;"><span style="-webkit-text-stroke-width: 0px; background-color: white; color: #343a41; display: inline !important; float: none; font-family: Segoe, Helvetica, Arial, sans-serif; font-size: 14px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 18.2000007629395px; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 1; word-spacing: 0px;"></span></span><br />
<span style="-webkit-text-stroke-width: 0px; background-color: white; color: #343a41; display: inline !important; float: none; font-family: Segoe, Helvetica, Arial, sans-serif; font-size: 14px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 18.2000007629395px; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 1; word-spacing: 0px;"><span style="-webkit-text-stroke-width: 0px; background-color: white; color: #343a41; display: inline !important; float: none; font-family: Segoe, Helvetica, Arial, sans-serif; font-size: 14px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 18.2000007629395px; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 1; word-spacing: 0px;"></span></span><br />
<span style="-webkit-text-stroke-width: 0px; background-color: white; color: #343a41; display: inline !important; float: none; font-family: Segoe, Helvetica, Arial, sans-serif; font-size: 14px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 18.2000007629395px; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 1; word-spacing: 0px;"><span style="-webkit-text-stroke-width: 0px; background-color: white; color: #343a41; display: inline !important; float: none; font-family: Segoe, Helvetica, Arial, sans-serif; font-size: 14px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 18.2000007629395px; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 1; word-spacing: 0px;"></span><span style="-webkit-text-stroke-width: 0px; background-color: white; color: #343a41; display: inline !important; float: none; font-family: Segoe, Helvetica, Arial, sans-serif; font-size: 14px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 18.2000007629395px; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 1; word-spacing: 0px;"><br /></span></span>
<span style="-webkit-text-stroke-width: 0px; background-color: white; color: #343a41; display: inline !important; float: none; font-family: Segoe, Helvetica, Arial, sans-serif; font-size: 14px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 18.2000007629395px; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 1; word-spacing: 0px;"><br /></span>
<span style="-webkit-text-stroke-width: 0px; background-color: white; color: #343a41; display: inline !important; float: none; font-family: Segoe, Helvetica, Arial, sans-serif; font-size: 14px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 18.2000007629395px; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 1; word-spacing: 0px;"><br /></span>
<span style="-webkit-text-stroke-width: 0px; background-color: white; color: #343a41; display: inline !important; float: none; font-family: Segoe, Helvetica, Arial, sans-serif; font-size: 14px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 18.2000007629395px; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 1; word-spacing: 0px;">※ご利用は自己責任で</span><br />
<span style="-webkit-text-stroke-width: 0px; background-color: white; color: #343a41; display: inline !important; float: none; font-family: Segoe, Helvetica, Arial, sans-serif; font-size: 14px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 18.2000007629395px; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 1; word-spacing: 0px;"><br /></span>
<span style="-webkit-text-stroke-width: 0px; background-color: white; color: #343a41; display: inline !important; float: none; font-family: Segoe, Helvetica, Arial, sans-serif; font-size: 14px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 18.2000007629395px; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 1; word-spacing: 0px;"><br /></span>
<span style="-webkit-text-stroke-width: 0px; background-color: white; color: #343a41; display: inline !important; float: none; font-family: Segoe, Helvetica, Arial, sans-serif; font-size: 14px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 18.2000007629395px; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 1; word-spacing: 0px;"><br /></span>Anonymoushttp://www.blogger.com/profile/13193723975557634690noreply@blogger.com0tag:blogger.com,1999:blog-8402929135737734692.post-73748325192343855982015-03-19T20:38:00.002+09:002015-03-26T16:17:21.484+09:00【adb】adb shell am -n で起動しない【Activity起動】開発時にLAUNCHERから遠いActivityに遷移したいけど、一々操作するの面倒って事がよく有りますよね。<br />
<br />
ゲームのクリア画面とか、特殊条件時にしか出ない画面とか・・・。<br />
<br />
そんな時に使えるコマンドがadbに用意されております。<br />
というかこの話題でこのブログ来たって事は既に他の記事で見てやってダメだった方かと思います。<br />
よって本題<br />
<br />
<h4>
<span style="color: red;">$adb shell am start -n <パッケージ名>/<Activityまでのパス></span></h4>
<br />
他の解説サイトでは<Activityまでのパス>を「.MainActivity」とか書いてるけど嘘っぱちです。(いや、正しいんですけど・・・、公式にもそう書いてあるんだけど・・・)<br />
<br />
例えばGradleのFlavorsで生成するapk変えた時とかに引っかかります。<br />
apk毎にパケージ名は違うけど、Activityまでのパスは共通なんです。<br />
<br />
<br />
<br />
<br />
例えば<br />
- [com.pakage.name]<br />
- [hoge.hoge]<br />
- FugaActivity<br />
<br />
この場合<br />
adb shell am start -n com.pakage.name/com.pakage.name.hogehoge.FugaActivity<br />
で行けるはず。(試してはない)<br />
<br />
<br />
<br />
<br />
<br />
Flavorsでパッケージネームを変更してる場合<br />
- [com.pakage.name]<br />
- [hoge.hoge]<br />
- FugaActivity<br />
~~~~~<br />
- build.gradle 内で applicationId "com.piyopiyo.foobar"<br />
<br />
この場合<br />
adb shell am start -n com.piyopiyo.foobar/com.pakage.name.hogehoge.FugaActivity<br />
で行けるはず。(試してない)<br />
<br />
<br />
<br />
後、この後ろに --elとか--eiとかそんなの渡すと起動するActivityのBundleに引数渡せる。<br />
その辺はここ参照。<br />
http://developer.android.com/tools/help/adb.html#IntentSpec<br />
<br />
<br />
<br />
(´Α`;)何時間か無駄にした。<br />
「.MainActivityで起動できる」って記事が多くて信ぴょう性高そうに思えてしまってた・・・。Anonymoushttp://www.blogger.com/profile/13193723975557634690noreply@blogger.com0tag:blogger.com,1999:blog-8402929135737734692.post-35370976164575335892014-07-08T12:05:00.005+09:002014-08-29T21:23:42.654+09:00【Android Wear】Factory Resetの方法【LG G watch】LG G wacthを購入しました。<br />
<br />
操作方法ミスって、小売店モード?(デモンストレーションが延々と流れるだけの状態)になってしまったので、一度工場出荷状態に戻すことに。。。<br />
<br />
やり方書いておきます。(別の端末への紐付けとかでも使うかも?)<br />
<br />
1. LG G wacthの裏のResetボタンを8秒間押します。<br />
2.端末が再起動します。<br />
3.LGのロゴが表示されたら、すかさず左上から右下に掛けてスワイプします。<br />
4. 何かバイオス画面っぽいの出てきます。<br />
5. 左右のボタンでrecovery mode を選択して真ん中の丸いボタン押します。(その他にPOWR OFF, RESTART BOOTLOADER, STARTがあります)<br />
6.倒れたドロイド君タップします。<br />
7.上下にスワイプしてFactory Resetを選択。左右にスワイプして決定。<br />
8.工場出荷状態に戻り、言語選択からやり直せます。<br />
<br />
<br />
取り敢えずは文字だけで書いておきます。<br />
後で画像とか入れて見やすくします。Anonymoushttp://www.blogger.com/profile/13193723975557634690noreply@blogger.com0tag:blogger.com,1999:blog-8402929135737734692.post-34654599869005689692014-06-30T21:59:00.003+09:002014-07-01T10:26:21.061+09:00【AndroidStudio】AndroidStudioアップデートの仕方を間違えた件【0.8.1】<br />
【やってはいけないこと】<br />
・app上書き<br />
-> SDKとかStudioの設定消えて涙目になる(なった...orz)<br />
<br />
【注意点】<br />
・AndroidDeviceMoniterが起動しない。<br />
-> 不具合っぽい。原因はSDK側?<br />
<br />
<br />
を、踏まえての、アップデート方法。<br />
<br />
<br />
AndroidStudio -> Check for Update 選択<br />
<div class="separator" style="clear: both; text-align: left;">
<a href="http://4.bp.blogspot.com/-cePw_qIdI24/U7Fdt0V9GwI/AAAAAAAAHJ4/VUz4UR2QgMg/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2014-06-30+14.52.44.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://4.bp.blogspot.com/-cePw_qIdI24/U7Fdt0V9GwI/AAAAAAAAHJ4/VUz4UR2QgMg/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2014-06-30+14.52.44.png" height="187" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
DownLoad選択して、サイト飛んでapp DLしてくる。</div>
<div class="separator" style="clear: both; text-align: left;">
<a href="http://3.bp.blogspot.com/-zSIfz8BvGcs/U7FeApqXfuI/AAAAAAAAHKA/v-3BRZukfbQ/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2014-06-30+14.53.45.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://3.bp.blogspot.com/-zSIfz8BvGcs/U7FeApqXfuI/AAAAAAAAHKA/v-3BRZukfbQ/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2014-06-30+14.53.45.png" height="134" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
後はDLしてきたappを適当な場所において(上書きしない!)</div>
起動すると、「前のバージョンからインポートしますか?」的なダイアログが出る・・・。<br />
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
自分はこの時には上書きしてしまっていたからこの先は知らないんだ。</div>
<div class="separator" style="clear: both; text-align: left;">
ぜひとも自分の目で確かめてくれ!(泣</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
※以下追記</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Android Studio で Android Device Monitor が起動しない件。<br />Windowsなら下記で解決できるらしい?試してない。</div>
<div class="separator" style="clear: both; text-align: left;">
必要な「hprof-conv」が「tools」から「platform-tools」に移動した事が原因の模様。</div>
<div class="separator" style="clear: both; text-align: left;">
/SDK/tools/hprof-conv を /SDK/platform-tools/ に移動してあげればオーケー</div>
<div class="separator" style="clear: both; text-align: left;">
(今後も考えてコピーして置いておくのが吉?)</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
Anonymoushttp://www.blogger.com/profile/13193723975557634690noreply@blogger.com0tag:blogger.com,1999:blog-8402929135737734692.post-60383059904817995252014-06-14T15:12:00.002+09:002014-06-14T15:23:15.264+09:00【Android】Android Wear 開発環境構築【Wear】(´Α`;)ハッカソン参加できなかった・・・。<br />
<br />
何もやってないと悔しいので、何番煎じか分からんけど、<br />
取り敢えず現状での開発環境構築の仕方を公開しておく。<br />
<br />
私の環境<br />
PC:MacBookPro(多分late2012)<br />
IDE:AndroidStudio<br />
実機:GalaxyS4(OS4.3)<br />
Wear:エミュレータ<br />
<br />
AndroidStudioのセットアップ方法は省略。<br />
今はもう様々なサイトで解説出てるからね〜。<br />
てことでその次から書いていきます。<br />
<br />
<br />
1.<a href="http://developer.android.com/wear/index.html?utm_source=ausdroid.net" target="_blank">AndroidWearの公式</a>でDeveloperPrevirewの登録を済ませます。<br />
Signe up the Developer Preview から登録済ませると、<br />
後日メールが来て、AndroidWearPreview.zipのDLリンクと、<br />
テスター登録のリンクが送られてきます。<br />
zipのDLとテスターの登録を済ませておきましょう。<br />
<br />
2.実機(OS4.3以降?)に<a href="https://play.google.com/store/apps/details?id=com.google.android.wearablepreview.app&ah=mX5FQzt0vevgiMuvDfzjPEa5w50" target="_blank">AndroidWearPreview</a>ってアプリを入れておく。<br />
GooglePlayから、<a href="https://play.google.com/store/apps/details?id=com.google.android.wearablepreview.app&ah=mX5FQzt0vevgiMuvDfzjPEa5w50" target="_blank">AndroidWearPreview</a>を入れておきます。<br />
<br />
3.AndroidStudioでAndroidWear端末のエミュレーター作成。<br />
適当に作ります。<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-g3e_Y4l_VDQ/U5vdwQFpCWI/AAAAAAAAG9A/5l-2gdmniRk/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2014-06-14+14.29.00.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://4.bp.blogspot.com/-g3e_Y4l_VDQ/U5vdwQFpCWI/AAAAAAAAG9A/5l-2gdmniRk/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2014-06-14+14.29.00.png" height="150" width="200" /></a></div>
こんな感じ〜<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-6dFGuk1gc-U/U5veBWMZZ-I/AAAAAAAAG9I/FCm3MZZ_tBw/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2014-06-14+14.30.25.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://4.bp.blogspot.com/-6dFGuk1gc-U/U5veBWMZZ-I/AAAAAAAAG9I/FCm3MZZ_tBw/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2014-06-14+14.30.25.png" height="320" width="303" /></a></div>
<br />
<br />
4.実機とエミュレータつなげます。<br />
PCでエミュレータ起動して、実機でAndridWearPreviewのアプリを起動した状態で、<br />
以下のコマンド叩きます。<br />
<br />
$adb -d forward tcp:5601 tcp:5601<br />
<br />
=================================<br />
※adbコマンド通してない人用<br />
$cd [AndroidSDKの場所]<br />
$cd /platform-tools<br />
$./adb -d forward tcp:5601 tcp:5601<br />
=================================<br />
<br />
そすると、実機のAndroidWearPreviewがConnectedになります。<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-rLNZqQL1Rw4/U5vg0KVeVUI/AAAAAAAAG9U/k2Py6RjIHFM/s1600/device-2014-06-14-144212.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://2.bp.blogspot.com/-rLNZqQL1Rw4/U5vg0KVeVUI/AAAAAAAAG9U/k2Py6RjIHFM/s1600/device-2014-06-14-144212.png" height="320" width="180" /></a></div>
Wearのエミュレータが繋がりました〜。<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-a5rmhu0Frdc/U5viTYSSTZI/AAAAAAAAG9g/9jZ-093U8CA/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2014-06-14+14.48.10.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://2.bp.blogspot.com/-a5rmhu0Frdc/U5viTYSSTZI/AAAAAAAAG9g/9jZ-093U8CA/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2014-06-14+14.48.10.png" height="320" width="302" /></a></div>
<br />
画面は自分宛てにテストメール出した物です。<br />
基本的には実機のNotificationに出るのと同じものが表示されます。<br />
(SS撮ろうとして丁度キャリアメールに来る怪しいスパムが来て焦った。。。)<br />
ひとまずここまでで、開発の環境が整いました〜!<br />
<br />
<br />
<br />
ちゃんと動いてるか心配なので、<br />
AndroidPreviewに入ってるサンプル動かしてみましょう。<br />
<br />
<br />
今回は「Recipe Assistant」を動かしてみます。<br />
<br />
AndroidStudioでRecipeAssistantをインポートします。<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-7tc90erSAeU/U5vk3xgavmI/AAAAAAAAG9s/paImAJ0fTu8/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2014-06-14+14.59.30.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://2.bp.blogspot.com/-7tc90erSAeU/U5vk3xgavmI/AAAAAAAAG9s/paImAJ0fTu8/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2014-06-14+14.59.30.png" height="320" width="269" /></a></div>
んで、実機で実行!<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-9ilmMTlgpII/U5vluYAMYhI/AAAAAAAAG94/hPUaztSv3oo/s1600/device-2014-06-14-150310.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://2.bp.blogspot.com/-9ilmMTlgpII/U5vluYAMYhI/AAAAAAAAG94/hPUaztSv3oo/s1600/device-2014-06-14-150310.png" height="320" width="180" /></a></div>
<br />
適当なレシピを選択して右上の「START」をタップ。<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-cuUOcFXk6vc/U5vmF8g-1UI/AAAAAAAAG-A/9Q-aJTlszRc/s1600/device-2014-06-14-150430.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://2.bp.blogspot.com/-cuUOcFXk6vc/U5vmF8g-1UI/AAAAAAAAG-A/9Q-aJTlszRc/s1600/device-2014-06-14-150430.png" height="320" width="180" /></a></div>
そうすると、Wear用のNotificationが飛びます。<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-2_eQzoIMqhc/U5vmYqPK9jI/AAAAAAAAG-I/ehJkBauKXUg/s1600/device-2014-06-14-150611.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://2.bp.blogspot.com/-2_eQzoIMqhc/U5vmYqPK9jI/AAAAAAAAG-I/ehJkBauKXUg/s1600/device-2014-06-14-150611.png" height="320" width="180" /></a></div>
エミュレーターで確認すると<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-on9ne8mdNzQ/U5vmzfpvnFI/AAAAAAAAG-Q/LfguQhfmmj0/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2014-06-14+15.07.13.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://3.bp.blogspot.com/-on9ne8mdNzQ/U5vmzfpvnFI/AAAAAAAAG-Q/LfguQhfmmj0/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2014-06-14+15.07.13.png" height="320" width="305" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-J2Rht81Cu9U/U5vm3VRJ-0I/AAAAAAAAG-Y/nRg7uKTCqyU/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2014-06-14+15.07.22.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://4.bp.blogspot.com/-J2Rht81Cu9U/U5vm3VRJ-0I/AAAAAAAAG-Y/nRg7uKTCqyU/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2014-06-14+15.07.22.png" height="320" width="303" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-KTrrcsaXzD4/U5vm62HEe0I/AAAAAAAAG-g/X3ppR3IFiL8/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2014-06-14+15.07.51.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://4.bp.blogspot.com/-KTrrcsaXzD4/U5vm62HEe0I/AAAAAAAAG-g/X3ppR3IFiL8/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2014-06-14+15.07.51.png" height="320" width="301" /></a></div>
<br />
いい感じで動きましたー。<br />
<br />
<br />
ね、簡単でしょ?<br />
<br />
<br />
<br />
4.3以降の実機が普及してきて、やっとこさ作れる様になってきた感がありますね。<br />
<br />
<br />
<br />
<br />
そんな中のハッカソン・・・<br />
嗚呼、ホント勿体無いことした・・・Anonymoushttp://www.blogger.com/profile/13193723975557634690noreply@blogger.com0tag:blogger.com,1999:blog-8402929135737734692.post-37004816175606119412014-05-29T17:33:00.000+09:002014-10-17T14:14:14.181+09:00【HomeBrew】Homebrewのリンクが消えた問題に対処【シンボリックリンク】OSXをMarvericksにアップデートした所、<br />
Homebrewの/usr/local/bin内のシンボリックリンクが全て消えていた。<br />( Yosemite でも起こるかも?)<br />
<br />
手動で直すのもダルいんで取り敢えずスクリプト組んだんで置いときます。<br />
こんな事中々無いと思うけどね〜。。。<br />
<br />
一応githubにも追加。<br />
https://github.com/Shift-Kumagai/HomeBrewReLink<br />
ソース下記のみ。<br />
<br />
#!/bin/sh<br />
echo "start..."<br />
<br />
for var in `brew list` ; do<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>echo $var<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>brew unlink $var<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>brew link -f $var<br />
done<br />
<br />
echo "...finish"<br />
<div>
<br /></div>
Anonymoushttp://www.blogger.com/profile/13193723975557634690noreply@blogger.com0tag:blogger.com,1999:blog-8402929135737734692.post-4947003851922305912014-05-29T10:05:00.002+09:002014-05-29T17:34:12.703+09:00【neovim】OSX Marvericksにneovim入れてみる【Mac】何か、マーベリックスからXcodeのコマンドラインツールの<br />
インストール方法が変更になった模様。<br />
<br />
以下のコマンド実行でインストールしてやる。<br />
$xcode-select --install<br />
<br />
ダイアログ出てくるんでインストール!!<br />
<br />
下記サイトで対応してるcmakeをインストール!!<br />
(知識足りてないんで、自分で設定するより任せちゃった方が安心・・・。)<br />
http://www.cmake.org/cmake/resources/software.html<br />
<br />
勝手にパスとかも通してくれる!楽ちんだね!!<br />
<br />
んで、以下からクローン<br />
https://github.com/neovim/neovim<br />
<br />
ディレクトリ内で<br />
$make cmake<br />
$make test<br />
<br />
これが通ればオーケー!<br />
build/bin/の中にnvimって実行ファイルが生成されるので、<br />
適当な場所に移してパス通すといいんじゃないかな。<br />
エラー出た場合はコマンド足りてないとかlibファイル足りないとかだと思うので、<br />
面倒臭がらずにエラー読みましょうw<br />
<br />Anonymoushttp://www.blogger.com/profile/13193723975557634690noreply@blogger.com0tag:blogger.com,1999:blog-8402929135737734692.post-40844208291309946252014-05-09T17:43:00.001+09:002014-05-09T17:43:39.937+09:00【Live2D】エラー : デフォーマを変換できません【Modeler】最近Unity2DでLive2Dのお勉強をはじめて見た。<br />
ぶっちゃけ色々使いづらい・・・。UIがなってない。<br />
<br />
でもまぁ、開発者が作った開発者向けのソフトウェアって無骨さが有るw<br />
<br />
<br />
<br />
んで以下のエラー発生<br />
~~~~~~~~~~~~~~~~~~~~~~~~<br />
ヒント<br />
デフォーマを変換できません。<br />
変換先のデフォーマに全てのオブジェクトが収まっているかを確認して下さい。<br />
選択されている全てのオブジェクトが、関連する全てのパラメータ値において、<br />
変換先のデフォーマに収まっている必要があります。<br />
<br />
~~~~~~~~~~~~~~~~~~~~~~~~<br />
最初見た時はサッパリ意味が分からなかった。<br />
デフォーマの範囲見る限りは、パーツが全て収まっている様に見えてた。<br />
<br />
<br />
<br />
<span style="color: red; font-size: large;"><b><u>関連する全てのパラメータ値において</u></b></span><br />
<br />
<br />
<br />
はい、原因コレでした。<br />
パラメータの値弄って、対象のパーツが動くように設定していたわけですが、<br />
その可動範囲全てをデフォーマが網羅していないとダメみたいです。<br />
<br />
<br />
って事でパラメータ変えながらある程度の範囲見て、<br />その範囲覆うようにデフォーマを再設定したら通りました。。。<br />
<br />
新しい用語ってわかりづらいよね。<br />
以上Anonymoushttp://www.blogger.com/profile/13193723975557634690noreply@blogger.com0tag:blogger.com,1999:blog-8402929135737734692.post-25003797696777617892014-04-25T15:02:00.002+09:002014-06-12T15:54:33.990+09:00【さくらVPS】誰得!SkypeをLinuxのコマンドラインで操作【CentOS】さ〜て、鯖上でSkypeを操作するよ〜。<br />
<br />
ではやっていきます!!<br />
<br />
早速変なコトやります。DLするURLがよう分からなかったので、<br />
別マシンからscpコマンドで飛ばしてます(笑<br />
<br />
さくらVPS以外のPCでCentOS向け(ダイナミック)をDLしておきます。<br />
http://www.skype.com/ja/download-skype/skype-for-linux/<br />
※Dynamic版ですぜ<br />
<br />
※この時点での最新版はskype-4.2.0.13.tar.bz2でした。<br />
<br />
んでVPSに飛ばしてあげる。<br />
<br />
<div class="p1">
$ scp ~/Downloads/skype-4.2.0.13.tar.bz2 {user名}@{夫々のip}:/tmp</div>
<div class="p1">
<br /></div>
<div class="p1">
インスコディレクトリに移動</div>
<div class="p1">
</div>
<div class="p1">
$cd /opt/</div>
<div class="p1">
<br /></div>
<div class="p1">
解凍</div>
<div class="p1">
</div>
<div class="p1">
$sudo tar jxvf /tmp/skype-4.2.0.13.tar.bz2 </div>
<div class="p1">
<br /></div>
<div class="p1">
パス通して</div>
<div class="p1">
</div>
<div class="p1">
$sudo ln -s skype-4.2.0.13 skype</div>
<div class="p1">
</div>
<div class="p1">
$sudo ln -s /opt/skype /usr/share/skype</div>
<div class="p1">
</div>
<div class="p1">
sudo ln -s /opt/skype/skype /usr/bin/skype</div>
<div class="p1">
<br /></div>
<div class="p1">
はいインストール完了♪</div>
<div class="p1">
<br /></div>
<div class="p1">
さてどうなったかなん♪</div>
<div class="p1">
$ skype</div>
<div class="p1">
</div>
<div class="p1">
-bash: /opt/skype-4.2.0.13/skype: /lib/ld-linux.so.2: bad ELF interpreter: そのようなファイルやディレクトリはありません</div>
<div class="p1">
<br /></div>
<div class="p1">
(´Α`)ヴぁ〜・・・</div>
<div class="p1">
なんかしらんけど、取り敢えず入れてみんべ。。。</div>
<div class="p1">
$yum install ld-linux.so.2</div>
<div class="p1">
<br /></div>
<div class="p1">
もう一回</div>
<div class="p1">
$ skype</div>
<div class="p1">
</div>
<div class="p1">
-bash: /opt/skype-4.2.0.13/skype: /lib/○○: bad ELF interpreter: そのようなファイルやディレクトリはありません</div>
<div class="p1">
<br /></div>
<div class="p1">
(´Α`)・・・</div>
<div class="p1">
$yum install ○○</div>
<div class="p1">
コレを出て来る度続けます(5,6回位)</div>
<div class="p1">
<br /></div>
<div class="p1">
そするとskypeコマンド通るようになります。</div>
<div class="p1">
<br /></div>
<div class="p1">
<br /></div>
<div class="p1">
さて、次にSkypeをPythonで操作する為のSkype4Pyを導入します。</div>
<div class="p1">
まずは、Skype4Pyを導入する為のeasy_installを入れる為に下記のコマンド入れます。</div>
<div class="p1">
<br /></div>
<div class="p1">
$sudo yum install python-setuptools</div>
<div class="p1">
<br /></div>
<div class="p1">
んで</div>
<div class="p1">
$sudo easy_install Skype4Py</div>
<div class="p1">
<br /></div>
<div class="p1">
である程度の準備完了。</div>
<div class="p1">
<br />
|ω・`) 利用規約に同意する操作する為だけにGUI環境入れる必要が有る模様...<br />
<br />
x11vnc入れてみたけど何かうまくいかない・・・<br />
この辺りの設定の仕方ご存知の方誰か教えてくださいorz</div>
Anonymoushttp://www.blogger.com/profile/13193723975557634690noreply@blogger.com0tag:blogger.com,1999:blog-8402929135737734692.post-6059820768651947652014-04-24T12:57:00.001+09:002014-04-28T17:14:21.770+09:00Vagrantにberkshelf入れたらエラー吐いた<div class="p1">
※調べたらberkshelf自体が今は非推奨らしいのでお気をつけて。<br />https://sethvargo.com/the-future-of-vagrant-berkshelf/<br /><br />Vagrantの起動しようとしたら・・・</div>
<div class="p1">
<br /></div>
<div class="p1">
$ vagrant up</div>
<div class="p1">
Bringing machine 'default' up with 'virtualbox' provider...</div>
<div class="p1">
/Users/user/.vagrant.d/gems/gems/vagrant-berkshelf-1.3.7/lib/berkshelf/vagrant/env.rb:18:in `initialize': undefined method `scope' for #<Vagrant::UI::Colored:0x00000107c07a30> (NoMethodError)</div>
<div class="p1">
<span class="Apple-tab-span"> </span>from /Users/user/.vagrant.d/gems/gems/vagrant-berkshelf-1.3.7/lib/berkshelf/vagrant/action.rb:54:in `new'</div>
<div class="p1">
<span class="Apple-tab-span"> </span>from /Users/user/.vagrant.d/gems/gems/vagrant-berkshelf-1.3.7/lib/berkshelf/vagrant/action.rb:54:in `block in setup'</div>
<div class="p1">
<span class="Apple-tab-span"> </span>from /Users/user/.vagrant.d/gems/gems/vagrant-berkshelf-1.3.7/lib/berkshelf/vagrant/action.rb:53:in `tap'</div>
<div class="p1">
<span class="Apple-tab-span"> </span>from /Users/user/.vagrant.d/gems/gems/vagrant-berkshelf-1.3.7/lib/berkshelf/vagrant/action.rb:53:in `setup'</div>
<div class="p1">
<span class="Apple-tab-span"> </span>from /Users/user/.vagrant.d/gems/gems/vagrant-berkshelf-1.3.7/lib/berkshelf/vagrant/plugin.rb:15:in `provision'</div>
<div class="p1">
<span class="Apple-tab-span"> </span>from /Applications/Vagrant/embedded/gems/gems/vagrant-1.5.4/lib/vagrant/action/runner.rb:45:in `call'</div>
<div class="p1">
<span class="Apple-tab-span"> </span>from /Applications/Vagrant/embedded/gems/gems/vagrant-1.5.4/lib/vagrant/action/runner.rb:45:in `block (2 levels) in run'</div>
<div class="p1">
<span class="Apple-tab-span"> </span>from /Applications/Vagrant/embedded/gems/gems/vagrant-1.5.4/lib/vagrant/action/runner.rb:44:in `tap'</div>
<div class="p1">
<span class="Apple-tab-span"> </span>from /Applications/Vagrant/embedded/gems/gems/vagrant-1.5.4/lib/vagrant/action/runner.rb:44:in `block in run'</div>
<div class="p1">
<span class="Apple-tab-span"> </span>from /Applications/Vagrant/embedded/gems/gems/vagrant-1.5.4/lib/vagrant/action/runner.rb:43:in `map'</div>
<div class="p1">
<span class="Apple-tab-span"> </span>from /Applications/Vagrant/embedded/gems/gems/vagrant-1.5.4/lib/vagrant/action/runner.rb:43:in `run'</div>
<div class="p1">
<span class="Apple-tab-span"> </span>from /Applications/Vagrant/embedded/gems/gems/vagrant-1.5.4/lib/vagrant/machine.rb:157:in `action'</div>
<div class="p1">
<span class="Apple-tab-span"> </span>from /Applications/Vagrant/embedded/gems/gems/vagrant-1.5.4/lib/vagrant/batch_action.rb:72:in `block (2 levels) in run'</div>
<div class="p1">
<span class="Apple-tab-span"> </span>from /Users/kuma/.vagrant.d/gems/gems/logging-1.8.2/lib/logging/diagnostic_context.rb:323:in `call'</div>
<br />
<div class="p1">
<span class="Apple-tab-span"> </span>from /Users/kuma/.vagrant.d/gems/gems/logging-1.8.2/lib/logging/diagnostic_context.rb:323:in `block in create_with_logging_context'</div>
<div class="p1">
<br /></div>
<div class="p1">
<br /></div>
<div class="p1">
何かエラー吐いた。。。<br />
プラグインのberkshelfのバージョンが古い模様。。。</div>
<div class="p1">
アンインストールして新しいの入れたげる。</div>
<div class="p1">
<br /></div>
<div class="p1">
$ vagrant plugin uninstall berkshelf</div>
<div class="p1">
</div>
<div class="p1">
$ vagrant plugin install vagrant-berkshelf --plugin-version=2.0.1</div>
<div class="p1">
<br /></div>
<div class="p1">
<br /></div>
<div class="p1">
以上!</div>
<div class="p1">
</div>
Anonymoushttp://www.blogger.com/profile/13193723975557634690noreply@blogger.com0tag:blogger.com,1999:blog-8402929135737734692.post-16384525432194834652014-04-23T17:07:00.000+09:002014-04-25T18:21:25.060+09:00インストールでこけた! Failed to download resource "openssl"Rubyのバージョンアップしようとしたらこんなん出た。<br />
<br />
Error: Failed to download resource "openssl"<br />
Download failed: https://downloads.sf.net/project/machomebrew/Bottles/openssl-1.0.1g.mountain_lion.bottle.tar.gz<br />
<br />
結論から言うと、俺はOSXだったんでMarvericksにアップデートすれば解決!!<br />
<br />
<br />
・・・なんて何か悔しいので別の方法も記載<br />
<br />
<br />
良う分からんけど取り敢えず直接取りに行く<br />
<br />
適当な所にDLして<br />
【OSX等】<br />
$curl -O http://www.openssl.org/source/openssl-1.0.1g.tar.gz<br />
<br />
【Linux等】<br />
$wget http://www.openssl.org/source/openssl-1.0.1g.tar.gz<br />
<br />
展開してビルド<br />
$cd /usr/local/src<br />
$tar zxf openssl-1.0.1g.tar.gz<br />
$cd /usr/local/src/openssl-1.0.1g<br />
$./config<br />
$make<br />
$make test<br />
$make install<br />
<br />
完了。。。<br />
<br />
バージョン確認<br />
$openssl version<br />
OpenSSL 0.9.8y 5 Feb 2013<br />
<br />
古いまま・・・<br />
<br />
.bash_profileにパスを通して...<br />
$vi ~/bash_profile<br />
~~~~~~~~~~~~~~~~~~~~<br />
#以下を追加<br />
#sshの更新<br />
export PATH="/usr/local/ssl/bin:$PATH"<br />
~~~~~~~~~~~~~~~~~~~~<br />
<br />
再度バージョン確認<br />
$ openssl version<br />
OpenSSL 1.0.1g 7 Apr 2014<br />
<br />
はい、オーケー<br />
<br />Anonymoushttp://www.blogger.com/profile/13193723975557634690noreply@blogger.com0tag:blogger.com,1999:blog-8402929135737734692.post-46040052326068350412014-03-24T16:19:00.002+09:002014-03-24T16:55:29.007+09:00いなかソン第2弾!「地域の宝を掘り起こせ!第一次産業×ITで地域を輝かせる!~農家ソン~」 に参加して上げなきゃいけない記事山ほどある中で、<br />
コレはどうしても早い段階で上げたかったので公開...<br />
<br />
去る2014年3月21~22日に秋田県五城目町で開催された、<br />
<span style="color: red;"><b><a href="https://www.facebook.com/events/220500988154549/" target="_blank"> いなかソン第2弾!「地域の宝を掘り起こせ!第一次産業×ITで地域を輝かせる!~農家ソン~」 </a></b></span><br />
というイベントに参加してまいりました。<br />
<br />
<span style="font-size: x-small;">秋田県の五城目町という場所で開催されたのですが、</span><br />
<span style="font-size: x-small;">この町は役所の人が非常に元気で、やる気に満ち溢れてます!</span><br />
<span style="font-size: x-small;"> このイベントのはるか前に、東京で開催された「秋田県IT県人会」にて、<br />「五城目をITで元気にしたいんだ!」と熱いプレゼンを聞いておりました。<br />そんで、「機会があれば何かやりたいなぁ」とは思っていた所で、</span><br />
<span style="font-size: x-small;">その"機会"がやってきた感じです。</span><br />
<span style="font-size: x-small;"><br /></span>
<span style="font-size: x-small;">アイディアソンとハッカソンが別グループで行われる二日間。</span><br />
<span style="font-size: x-small;">一日目はどちらのグループも共同で五城目町観光しながら町の<br />成り立ちや現状を説明してもらい、全員でアイディアソン。</span><br />
<span style="font-size: x-small;">二日目にグループ分かれて本格的なアイディアソンとハッカソンが行われました。</span><br />
<br />
<br />
実は、先にどんな物作ろうかという案を持って会場に行くという、<br />
ハッカソンを楽しんで居ない感じのフライングを行っておりました。<br />
<br />
<br />
自分が考えていた案は<br />
<span style="color: red; font-size: large;"><b>「五城目町ストリートビュー」</b></span><br />
THETAを使い、GoogleMapに載せるのではなく、<br />
Webページで独自に動作するストリートビューを作れないかなぁと考えておりました。<br />
後から色々エフェクトとかも掛けられるし、映像だけじゃなく音とかも載せられる。<br />
動作環境はWebページ/Windows/Mac可能ならOculusRiftにまで<br />
対応させる予定だったのです。Unityだし多分いけるだろうと思ってました。<br />
<span style="font-size: xx-small;"><strike>(最新のデバイスと開発環境使ってドヤ顔する予定でした...)</strike></span><br />
<br />
<br />
<br />
さ〜て、そんな中私は、<br />
<span style="color: red; font-size: large;"><b>一日目に重大な失態を犯しました。</b></span><br />
ハッカソンは1日目の22:00〜2日目の16:00まで...<br />
一睡もせずにコーディングを行うというもの。よくある感じですね。<br />
しかし、前日の19時頃から行われた懇親会。<br />
お酒も多少入り気を良くした私は・・・<br />
<br />
<span style="color: red;"><b><u>そのまま二次会に参加。</u></b></span><b><span style="color: red;"><u>あろうことか午前二時までカラオケを楽しむ</u></span></b><br />
<br />
なんてことをやらかしました。<br />
<b>「一体お前は何しに来たんだ」</b>と、未だに自分でも思います。<br />
<span style="font-size: x-small;">宿泊施設に戻りパソコンを開いたようなのですが、</span><br />
<span style="font-size: x-small;">それに気づいた時には朝日が眩しかったです...。</span><br />
<br />
<span style="color: red;"><b>はて、これでは16時にドヤ顔が間に合いません!</b></span><br />
<br />
<br />
<br />
<br />
<span style="color: red;">そこで急遽方針を変更♪</span><br />
THETAの画像はそのままGoogleMapに載せることが可能で、<br />
GoogleMap上の領域に自作のストリートビューを乗せられる事を知っていたので、<br />
それをそのまま使うことに...<br />
<br />
<br />
んで、出来上がったのが下記の様な物。<br />
<br />
<iframe frameborder="0" height="315" marginheight="0" marginwidth="0" scrolling="no" src="https://maps.google.com/maps?layer=c&panoid=3hcwq2MSPBoAAAGuwlAiiQ&ie=UTF8&source=embed&output=svembed&cbp=13%2C238.61642489878543%2C%2C1%2C7.186234817813769" width="560"></iframe><br />
<div>
<small><a href="https://www.google.com/maps/views/" style="color: blue; text-align: left;">ビュー</a>: <a href="https://www.google.com/maps/views/view/114214090897592696939/photo/3hcwq2MSPBoAAAGuwlAiiQ" style="color: blue; text-align: left;">日本, 秋田県南秋田郡五城目町</a>(撮影: <a href="https://www.google.com/maps/views/profile/114214090897592696939" style="color: blue; text-align: left;">Naoto Kumagai</a>)</small></div>
<br />
<br />
<iframe frameborder="0" height="315" marginheight="0" marginwidth="0" scrolling="no" src="https://maps.google.com/maps?layer=c&panoid=3Ew6K_iI5RIAAAGuwlNw8Q&ie=UTF8&source=embed&output=svembed&cbp=13%2C172.29817999999997%2C%2C0%2C0" width="560"></iframe><br />
<div>
<small><a href="https://www.google.com/maps/views/" style="color: blue; text-align: left;">ビュー</a>: <a href="https://www.google.com/maps/views/view/114214090897592696939/photo/3Ew6K_iI5RIAAAGuwlNw8Q" style="color: blue; text-align: left;">日本, 秋田県南秋田郡五城目町</a>(撮影: <a href="https://www.google.com/maps/views/profile/114214090897592696939" style="color: blue; text-align: left;">Naoto Kumagai</a>)</small></div>
<br />
<br />
うん、まんまストリートビューで面白みもない!<br />
既存のサービスをただ使っただけなので何も作ってない!<br />
これでハッカソン?ハッ?笑わせるな...と<br />
<br />
自分では上記の様に考えておりました。<br />
<br />
発表の内容も、<br />
「<span style="color: red;">(・ω<)何か変なカメラ使って公式のストリートビューに(勝手に)載せてみたよ♪</span>」<br />
ってだけで終わってました。(五城目町にストリートビューは殆ど無い)<br />
私は「何も作っていない」ので発表できる内容なんて無かったんですよね...<br />
<br />
反応も悪い事も覚悟してました。発表が終わるまでは...<br />
<br />
<br />
<span style="color: red;">感想A「これ、次回のいなかそんでマッピングとかできそうですね」</span><br />
<span style="color: red;">感想B「コードを書かずとも作れる物があるなんて関心しました」<br />感想C「ピコピコ何やってるのかと思ったけどそういう事ね。すごかったよ」</span><br />
<span style="color: red; font-size: x-large;"><b>(゚Д゚;;)ふぁ!?</b></span><br />
<br />
<br />
はてさて・・・<br />
最初は全く意味が理解できませんでした。<br />
<br />
私は「プログラマー」としてハッカソンに参加していたわけです。<br />
そして、「コードを打っていない」のです。<br />
<br />
<br />
「put up or shut up」という言葉。プログラマー的に訳すと<br />
「コードを打つか黙ってろ」って感じになります。<br />
(Shut the fuck up and write some code.<br />
-「ぐだぐだ言ってないでコード書けよハゲ 」-という格言と同じ感じです)<br />
<br />
<br />
個人的にも好きな言葉なのですが、今回私はコードを打つことすら行っておりません。<br />
何も作っていないのです。LTなどとんでも無い事で、<br />
発表の場に立っていることが非常に申し訳なく感じておりました。<br />
そう考えている中で予想に反する好評価を頂き、かなり戸惑っておりました。<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
疑問に思った為、第三者視点で自分の行ったことを再度見なおしてみました。<br />
<br />
【行った事】<br />
・一日目の五城目町の説明時に、施設を色々回っている中で、<br />
観光気分でTHETAで記念撮影♪ボタンポチっと押して終わり♪<br />
<br />
・二日目の<span style="color: red;">"何故か"</span>非常に短くなってしまったハッカソンの時間の中で、<br />
専門知識の一切要らない既存サービスに載せてサックリ完成♪<br />
環境はGoogle様が作ってくれた使いやすいUI使うマウス操作だけ♪<br />
<strike>二日酔いでもらくらく製作可能♪</strike><br />
<br />
これらの作業は<b><span style="color: red;">一切の専門知識も多大な時間も公開後の管理すらも必要ありません</span></b>。<br />
それでいて、一度Webに載せてしまえば、全世界に向けて情報を発信する事が可能です。<br />
(審査が通ればGoogle公式のストリートビューにも掲載される)<br />
<span style="font-size: x-small;">THETA等の全天球カメラ必要になりますが、<br />Andoroidのスマートフォンの標準機能で代替出来る物が有るので、</span><br />
<span style="font-size: x-small;">それ使うなら専用カメラすら必要無くなります。</span><br />
<br />
<br />
それに比べて自分の初期の案を考えてみましょう。<br />
<b>Unityで作ってWebで独自動作するバリバリ専門的な自作ストリートビュー</b><br />
コレ、誰がメンテナンスするんですかね?<br />
Oculusとか誰が使うの?<br />
しかもちゃんと公開できる物はハッカソンの時間じゃ足りませんから、<br />
その後の開発も必要でしょ?<br />
アップデートまでやる気はあったのでしょうか?作りっぱなしにする感満載の案です。<br />
公開するサーバは?<br />
アップデートの際に毎回技術者に頼んだらコストかかるでしょ?<br />
<br />
もうね、問題点だらけですよ。。。<br />
<br />
<br />
多分、元の案は技術者ウケは良い物と思います。<br />
でも、今回のハッカソンは、技術者に向けて発表することが目的では有りません。<br />
<span style="color: red; font-size: large;">今回の場合、その後の運用が考慮されていなければ、</span><br />
<span style="color: red; font-size: large;">作ることに何の意味も無いのです。</span><br />
<br />
自分の成果物ならば、五城目のお役所の方、<br />
又はご年配の方でも簡単に作る事が出来ます。<br />
そんでもって管理も要らないので、やりっ放しで問題有りません。<br />
(管理はGoogle様が勝手にやってくれます)<br />
<br />
なので、当日から気軽に初められて辞めたい時に辞められて、<br />
辞めた所で過去の成果物は無駄にならない。そんな内容になっていたようです。<br />
(この辺りのやり方も後ほど纏めますかね・・・)<br />
<br />
その後も周りから出るわ出るわ、マッピングの利用方法や<br />
データのマネタイズのお話。。。<br />
よくよく考えると、参加者の中には町づくりや地域復興を生業とされてる方や<br />企業の経営者さんが多い。<br />
その道のプロの人ばかりなんですよね。。。<br />
技術者としてあの場所でやるべきことは、「こんなこと出来るぜドヤァ」<br />
ではなく「こんな方法使うとコレが簡単に出来ます」という、何かに使えそうな技術を<br />簡単に使えるよう落とし込んだ手法を説明する方が重要なのかもしれません。<br />
<br />
<br />
なんか、普段のハッカソンとは違う印象受けました。<br />
普段のハッカソンって<span style="color: red;">運用無視!コスト度外視!ただただ面白いものを作れ!</span><br />
という感じだと思ってます。<strike>んで、そういう空気大好きです。</strike><br />
<br />
<br />
そして、後から考えるとハッカソン当日の自分は「プログラマー」ではなく、<br />
「最新デバイス好きの変人」として参加していたという事なのだと思います。<br />
そう考えると成果物としても大いに有りですね...。<br />
<br />
<br />
<br />
そんなこんなで参加してきた"いなかそん"でした。<br />
非常に考えさせられる事が多く、勉強させていただきました。<br />
今回のブログ長いんで切るんですが、ぶっちゃけまだまだ書き足りないです。<br />
(県外の人と町の人との考えの相違とか、飲んだ日本酒の総評とか、<br />
杉の木使った工芸品とか、だまこ鍋マジうまいわーとかとか)<br />
それらはまたの機会にしたいと思います。Anonymoushttp://www.blogger.com/profile/13193723975557634690noreply@blogger.com0tag:blogger.com,1999:blog-8402929135737734692.post-29044590218592551882014-02-28T14:36:00.000+09:002014-03-25T12:02:17.955+09:00Unityはじめました。ブログエントリー書くって言って書いてない!<br />
この感じ何度目だ・・・続かないねぇ。。。
<br />
<br />
さて、最近はUnityという開発環境に触り始めました。<br />
<br />
<br />
<span style="color: red;">【 <b>Unityとはなんぞや?</b> 】</span><br />
<span style="font-size: x-small;">Unity(別名:Unity3D)とは、統合開発環境を内蔵し、複数のプラットホームに対応する、ユニティ・テクノロジーズ(英語版)が開発したゲームエンジンである。ウェブプラグイン、デスクトッププラットフォーム、ゲーム機、携帯機器向けのコンピュータゲームを開発するために用いられ、100万人以上の開発者が利用している。Unityは主にモバイルやブラウザゲーム製作に使用されるが、ゲーム機及びPCにゲームをインストールすることもできる。このゲームエンジンはC言語/C++で書かれているが、C#、JavaScript、Booで書かれたコードにも対応できる。2005年にOS Xに対応したゲーム開発ツールとして誕生してから、今日ではマルチプラットフォームに対応したゲームエンジンにまで成長した。 --by Wikipedia
</span><br />
<span style="font-size: x-small;"><br /></span>
<span style="font-size: x-small;"><br /></span>
<b><span style="color: red; font-size: large;">とってもよく分かんないですね!</span></b><br />
<br />
<br />
あれです。<br />
RPGツクールとかアクションゲームツクールとか想像して下さい。ソレな感じです。<br />
「ツクール系をプロ用にしたらこうなるんだろうなぁ」って開発環境です。<br />
3Dも2Dも作れます。特に3Dで受けられる恩恵は衝撃的です。<br />
(OpenGLやらDirectXやらを直で触ったことある人は特に...きっと泣きたくなりますよ)<br />
<br />
<span style="color: red;">1.コーディングが必要ない!</span><br />
最初から物理法則とか便利な機能付いているので、パラメータ変えるだけで<br />
重力設定とかも変えられます。<br />
どうしても必要な場所は出てきますが、誰かが似たようなの作っていればそれを<br />
まるっとそのママ持ってこれます。大体揃ってます。<br />
プログラマーじゃなくても使えます。<br />
<br />
<span style="color: red;">2.モデリングが必要ない!</span><br />
キューブやスフィアみたいな短形図形は作れますし、<br />
広大なマップを簡単操作で作るシステムも入ってます。<br />
モデルも作った物をまるっとそのママ持ってこれます。<br />
AssetStoreという所で購入も出来ます。大体揃ってます。<br />
モデラーじゃなくても使えます。<br />
<br />
<span style="color: red;">3.というか何も要らない!</span><br />
誰かが作った物で気に入った所だけ持ってこれます。大体揃ってます。<br />
気に喰わない所や自分の得意分野の場所だけ作り変えることが可能です。<br />
出来ない部分を他人任せにして、得意な所だ作って、<br />
自作した部分を誰でも使えるように公開とかできます。再利用性が高いです。<br />
もう何も技術なくても使えます。<br />
<br />
<br />
<br />
個人的にはガリガリとコード書いて作らないと作った気がしないのですが、<br />
ダラダラ適当にマウス動かしてるだけで思い通りの動くものが<br />
出来あがるというのはとても楽しいです。<br />
何も出来なくても作れるのですが、何か出来たほうが幅が広がります。<br />
<br />
<span style="font-size: xx-small;">とか何とか書いといて、取り敢えず1回めの記事はお茶を濁します。。。</span>Anonymoushttp://www.blogger.com/profile/13193723975557634690noreply@blogger.com0tag:blogger.com,1999:blog-8402929135737734692.post-31172522008061876542013-11-27T16:50:00.001+09:002013-11-27T16:51:38.237+09:00【Android】最初の二歩、Eclipseの設定【入門】さてさて、折角なのでブログに纏めちゃおうね〜。<br />
<br />
てことで、Android開発入門の2つ目の記事。<br />
MaとEclipseの設定、プロジェクトの作成辺りまで書いていきます。<br />
<br />
まずは、Macの設定変更。<br />
Eclipseには強力な補完機能(control+space)があるのですが、初期の設定のままのOSXだと、<br />
このショートカットがSpotlightという別の物に割り当てられていて使えなくなっています。<br />
なのでこのショートカットを変更しましょう。<br />
Einder -> アプリケーション から Spotlightを選択<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/--ek7AM2fuyQ/UpWcLFaFEuI/AAAAAAAAEVU/6bMHYfIrWPo/s1600/%E3%83%95%E3%82%99%E3%83%AD%E3%82%AF%E3%82%993.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="212" src="http://4.bp.blogspot.com/--ek7AM2fuyQ/UpWcLFaFEuI/AAAAAAAAEVU/6bMHYfIrWPo/s320/%E3%83%95%E3%82%99%E3%83%AD%E3%82%AF%E3%82%993.png" width="320" /></a></div>
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-g62zXxnp8jQ/UpWeixMl5DI/AAAAAAAAEWc/eqb-UM2xN-8/s1600/%E3%83%95%E3%82%99%E3%83%AD%E3%82%AF%E3%82%994.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="293" src="http://3.bp.blogspot.com/-g62zXxnp8jQ/UpWeixMl5DI/AAAAAAAAEWc/eqb-UM2xN-8/s320/%E3%83%95%E3%82%99%E3%83%AD%E3%82%AF%E3%82%994.png" width="320" /></a></div>
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
出てきたダイアログの下の方にある、「Spotlightウィンドウのキーボードショートカット」のチェックを外すか、別のキーに置き換える等の処置を行ってください。<br />
(Eclipseのショートカットの設定を変更したいという方は。。。がんばです)<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-ZdX7M3Vk5wY/UpWhM6xf-VI/AAAAAAAAEWo/mjpkdGGJr4Y/s1600/%E3%83%95%E3%82%99%E3%83%AD%E3%82%AF%E3%82%995.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="292" src="http://2.bp.blogspot.com/-ZdX7M3Vk5wY/UpWhM6xf-VI/AAAAAAAAEWo/mjpkdGGJr4Y/s320/%E3%83%95%E3%82%99%E3%83%AD%E3%82%AF%E3%82%995.png" width="320" /></a></div>
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
これで、Eclipseのコード補完のショートカット(control+space)が使えるようになりました。<br />
<br />
<br />
<br />
次に、Eclipseの文字コードを変更します。<br />
これやり忘れると後から結構面倒な事になる可能性あります(汗<br />
Eclipseに戻り、左上の「ADT」又は「Eclipse」から「環境設定」を選択してください。<br />
<br />
<a href="http://1.bp.blogspot.com/-7ELsT_Sf2kA/UpWb90D8g5I/AAAAAAAAEUo/hvOBACQ-Dfc/s1600/%E3%83%95%E3%82%99%E3%83%AD%E3%82%AF%E3%82%991.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" src="http://1.bp.blogspot.com/-7ELsT_Sf2kA/UpWb90D8g5I/AAAAAAAAEUo/hvOBACQ-Dfc/s1600/%E3%83%95%E3%82%99%E3%83%AD%E3%82%AF%E3%82%991.png" /></a><br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
出てきた「Preferences」のウィンドウの左側の一覧から、<br />
General -> Workspace を選択。<br />
詳細の下の方にある「Text file encoding」を「UTF-8」に変更<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-g8EXHKx8B2w/UpWjO_PduCI/AAAAAAAAEW0/IHOAKpVukgc/s1600/%E3%83%95%E3%82%99%E3%83%AD%E3%82%AF%E3%82%992.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="245" src="http://2.bp.blogspot.com/-g8EXHKx8B2w/UpWjO_PduCI/AAAAAAAAEW0/IHOAKpVukgc/s320/%E3%83%95%E3%82%99%E3%83%AD%E3%82%AF%E3%82%992.png" width="320" /></a></div>
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
以上でこのワークスペースの文字コードがUTF-8になります。<br />
<br />
<br />
<br />
取り敢えずこの2つやっておけばいいかなーって思います。<br />
(他に必要な事あったら教えて下さい。。。)<br />
<br />
<br />
さて、次は実際にAndroidのProjectを作成していきましょう。<br />//TODO: そのうち書く(笑Anonymoushttp://www.blogger.com/profile/13193723975557634690noreply@blogger.com0tag:blogger.com,1999:blog-8402929135737734692.post-19343962892243336802013-11-18T06:47:00.000+09:002013-11-18T07:01:29.336+09:00【Android】最初の一歩、環境構築 【入門】<span style="font-size: x-small;">さて、久しぶりのブログ・・・<br />アウトプット大事なんだけど、後に回しがち。本当によろしくない傾向。</span><br />
<span style="font-size: x-small;">あ、後、このブログはmacのChromeで見た時正常に見えるようにしているつもりです。他のブラウザだとレイアウト崩れてるかも....</span><br />
<span style="font-size: x-small;"><br /></span>
<br />
さて、今回は社内でAndroidの社内講習やることになりましたので、<br />
改めて、現在の環境構築の方法をまとめてみたいと思います。<br />
<br />
今回はEclipseの環境構築をしていきます。<br />
<br />
<br />
<br />
<span style="font-size: xx-small;">Android Studioでも個人的には良いと思うですが・・・</span><br />
<span style="font-size: xx-small;">「それに移行して問題あったら責任取れるの?」とか</span><br />
<span style="font-size: xx-small;">むっちゃ面倒なのでEclipseでやります。</span><br />
<span style="font-size: xx-small;">別にコードの書き方は変わらないです。</span><br />
<span style="font-size: xx-small;">Android Studio(というかIntelliJ IDEA?)の方が、慣れた時に使いやすそうです。</span><br />
<span style="font-size: xx-small;"><br /></span>
<span style="font-size: xx-small;"><br /></span>
<span style="font-size: xx-small;"><br /></span>
<br />
ちなみに<a href="http://developer.android.com/index.html" target="_blank">こちらがAndroidのディベロッパーサイト</a><br />
なんか、時間有る時に眺めると面白いです。<br />
でも、コード打たないまま読んでも面白さ半減なので、<br />
<br />
<span style="color: red; font-size: large;">取り敢えず今は無視しましょう!</span><br />
<br />
<br />
どこかのタイミングでJava JDKのインストール求められるかもですが、<br />
どのタイミングで何が必要か忘れてしまったので、適時対応お願いします<br />
<span style="font-size: xx-small;">...ゴメンナサイ</span><br />
<br />
<br />
<br />
<span style="font-size: x-large;">さて、本題です。</span><br />
<br />
<br />
<span style="font-size: large;">まずはIDEをDLしてきます。</span><br />
<a href="http://developer.android.com/sdk/index.html">http://developer.android.com/sdk/index.html</a><br />
ぱっと見、SDKとか書いてありますが、<br />
Android開発に必要な物のオールインワンセットです。<br />
Eclipse,ADTプラグイン,SDK,最新のエミュレータとか入ってます。<br />
これとJavaの環境入れてればアプリ開発できるはず...<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-aKxfKe2OKuA/UokEefopY_I/AAAAAAAAEMk/AGp7t7WLj5k/s1600/Android_GetSDK.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="234" src="http://1.bp.blogspot.com/-aKxfKe2OKuA/UokEefopY_I/AAAAAAAAEMk/AGp7t7WLj5k/s320/Android_GetSDK.png" width="320" /></a></div>
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
・飛んだページの「Download the SDK」をクリック<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-eXswbu0k2Wo/UokGnn65DVI/AAAAAAAAEMw/Xq5yRQfxT98/s1600/android_dl.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="227" src="http://2.bp.blogspot.com/-eXswbu0k2Wo/UokGnn65DVI/AAAAAAAAEMw/Xq5yRQfxT98/s320/android_dl.png" width="320" /></a></div>
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
・出てきた規約をざっと読んだらチェックボックスに<br />
チェック入れて下のボタンクリック<br />
<br />
<br />
そすると、現在の最新だと「adt-bundle-mac-x86_64-20131030.zip」がDLされてきます。<br />
それを適当な場所に解凍。後はお好みなのですが・・・<br />
<br />
<br />
<br />
<span style="font-size: x-small;">自分は下記のように一緒に入れちゃってます。</span><br />
<span style="font-size: x-small;"><br /></span>
<span style="font-size: x-small;">解凍すると</span><br />
<span style="font-size: x-small;">adt-bundle-mac-x86_64-20131030 - eclipse</span><br />
<span style="font-size: x-small;"> - sdk</span><br />
<span style="font-size: x-small;"><br /></span>
<span style="font-size: x-small;">のようなファイル構成になってると思うのですが、これを</span><br />
<span style="font-size: x-small;">adt-bundle-mac-x86_64-20131030 - eclipse - sdk</span><br />
<span style="font-size: x-small;"><br /></span>
<span style="font-size: x-small;">のような感じで、「eclipse」の中に「sdk」を入れてます。</span><br />
<span style="font-size: x-small;">一つに纏まっていた方が良いと思うんで。。。</span><br />
<br />
<br />
<br />
ここまで出来ましたら、この「eclipse」のディレクトリを「アプリケーション」の<br />
中に移動させてください。(これもお好みですが、多分皆やってる?)<br />
<br />
では、早速Eclipseを起動してみましょう!<br />
eclipseのディレクトリ内にある、「eclipse.app」をダブルクリック!<br />
(お好みでショートカット作りなり、Dockに配置するなり。。。)<br />
<br />
<br />
<br />
================================<br />
※ここで「壊れているため開けません。」というポップアップ出た人用<br />
<a href="http://1.bp.blogspot.com/-S2tTsZ42mwo/UokVgvdNWCI/AAAAAAAAENE/k7WvQbFerj0/s1600/error1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em; text-align: center;"><img border="0" height="134" src="http://1.bp.blogspot.com/-S2tTsZ42mwo/UokVgvdNWCI/AAAAAAAAENE/k7WvQbFerj0/s320/error1.png" width="320" /></a><br />
アプリケーション -> システム環境設定 -> セキュリティとプライバシー -> 一般タブ<br />
左下の鍵のマークを解除して、「ダウンロードしたアプリケーションの実行許可」を<br />
「すべてのアプリケーションを許可」に変更<br />
(...前こんなん出たっけ?)<br />
================================<br />
<br />
<br />
<br />
<br />
さて、eclipseを起動しようとすると「Select a workspace」というポップアップが出てきます。<br />
「ワークスペース(プロジェクト置く場所)どこにします?」<br />
これもお好みで、お好きな場所にディレクトリ作って指定しましょう。<br />
自分は書類(Document)の中にworkspaceってディレクトリ作ってそこを指定。<br />
次に進みましょう。<br />
<br />
<br />
そすると、「Could not find SDK folder」SDK見つかんないよ!!ってエラー出て怒られるかと思います。<br />
Closeして、EclipseにAndroidSDKの位置を教えてあげましょう。<br />
<br />
<br />
<br />
左上の ADT -> 環境設定<br />
出てきた Preferencesの左側メニューから Androidを選択<br />
右側を見ると、赤いバツのマークと SDK Location:の欄があると思います。<br />
ここに先ほどのSDKの位置を入力します。<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-aPIVpC2PlyE/UokfusyceJI/AAAAAAAAENQ/wOC_ZNej9gA/s1600/ADT_error.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="253" src="http://2.bp.blogspot.com/-aPIVpC2PlyE/UokfusyceJI/AAAAAAAAENQ/wOC_ZNej9gA/s320/ADT_error.png" width="320" /></a></div>
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
人によって違うかと思いますが、<br />
「/Applications/eclipse/sdk」こんな感じで、<br />
先ほどの「sdk」のディレクトリを指定してあげてください。<br />
設定出来ましたら、右下の Applay -> OK<br />
<br />
さて、これで"最低限"の開発環境は整いました。<br />
この状態ですと、最新のtargetしか選択できず、最新のOS(現在だとAndroid4.4)でしか<br />
動かないアプリしか作れませんので、古いOSでも動くよう色々取ってきます。<br />
<br />
<br />
<br />
<br />
まず、現在の「Shared Area」(一番広い作業スペース)で、<br />
Javaを選択していることを確認して下さい。<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-YJubi3RDyCM/UokxM3f1yxI/AAAAAAAAEN8/4TsdMsNz0zE/s1600/android_SharedArea.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="194" src="http://2.bp.blogspot.com/-YJubi3RDyCM/UokxM3f1yxI/AAAAAAAAEN8/4TsdMsNz0zE/s320/android_SharedArea.png" width="320" /></a></div>
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
その画面ですと左上の辺りにドロイド君(Androidのロボット)アイコンが<br />
2つ表示されていると思います。<br />
下向き矢印が出ている、「Android SDK Manager」を選択してください。<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-bM9scrYcE2g/UokycG1__mI/AAAAAAAAEOI/gaADrnTQQFU/s1600/android_sdkManager.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="197" src="http://2.bp.blogspot.com/-bM9scrYcE2g/UokycG1__mI/AAAAAAAAEOI/gaADrnTQQFU/s320/android_sdkManager.png" width="320" /></a></div>
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
色々読み込み終わるまで待って。<br />
取り敢えず出てきた奴に全部チェック♪(有って困るものはないので...)<br />
<span style="color: red;">環境によってインストールできずエラーになるものも有る</span>のですが、<br />
一先ず全部にチェック入れておいて問題はないかと思います。<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/--gMAfwysAx0/Uok0ICKFiqI/AAAAAAAAEOU/itSWLUTUa-k/s1600/sdkmanager2.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="228" src="http://2.bp.blogspot.com/--gMAfwysAx0/Uok0ICKFiqI/AAAAAAAAEOU/itSWLUTUa-k/s320/sdkmanager2.png" width="320" /></a></div>
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
全てのライセンスにacceptしてあげて、installを選択。<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-5evlmo0Q9JU/Uok3EhuY0AI/AAAAAAAAEOg/MPd8QjhSiMk/s1600/license.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="204" src="http://4.bp.blogspot.com/-5evlmo0Q9JU/Uok3EhuY0AI/AAAAAAAAEOg/MPd8QjhSiMk/s320/license.png" width="320" /></a></div>
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
長いインストールが始まります。<br />
それを終えると環境構築完了です。お疲れ様でした!!<br />
<br />
次にeclipseの設定とか多少有るのですが、その辺りは次回(があれば)にでも。<br />
<br />
<br />
<br />
・・・てか今本当に楽になったんだね。<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
以下、やらなくていい事やって悩んでた。<br />
今はコレ必要ないのよね・・・なんとなく残しとく。<br />
<br />
<strike>上のメニューバーから</strike><br />
<strike>Help -> Install New Software...</strike><br />
<strike>「Work with:」に「<span class="pln" style="font-size: 13px; line-height: 19px;">https</span><span class="pun" style="color: #666600; font-size: 13px; line-height: 19px;">:</span><span class="com" style="color: #006600; font-size: 13px; line-height: 19px;">//dl-ssl.google.com/android/eclipse/</span>」を入力</strike><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-jUwDBXRZTUU/UokoiXXIwvI/AAAAAAAAENg/fmhERB_-YPU/s1600/android_ADT_install.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><strike><img border="0" height="253" src="http://2.bp.blogspot.com/-jUwDBXRZTUU/UokoiXXIwvI/AAAAAAAAENg/fmhERB_-YPU/s320/android_ADT_install.png" width="320" /></strike></a></div>
<strike><br /></strike>
<strike><br /></strike>
<strike><br /></strike>
<strike><br /></strike>
<strike><br /></strike>
<strike><br /></strike>
<strike><br /></strike>
<strike><br /></strike>
<strike><br /></strike>
<strike><br /></strike>
<strike><br /></strike>
<strike><br /></strike><br />
<strike>そのまま待機...少しすると、下の欄に「Developer Tools」と「NDKPlugin」が出ますので、この2つにチェック入れて「Next」をクリック。</strike><br />
<strike>次のページで「Finish」をクリック。</strike><br />
<strike>終わると「再起動していい?」って聞かれるので、快く「Yes」と答えたげましょう。</strike><br />
<strike><br /></strike>
<strike>・・・とここまでやって、流石にオカシイだろと気づきました。</strike><br />
<br />Anonymoushttp://www.blogger.com/profile/13193723975557634690noreply@blogger.com0tag:blogger.com,1999:blog-8402929135737734692.post-10857789296647175602013-05-22T14:21:00.005+09:002013-05-22T14:48:20.625+09:00【AndroidStudio】libの追加方法【ライブラリ追加】【Mac環境】<br />
Eclipseだと、適当にlibフォルダに突っ込んでおけば<br />
良い感じにしてくれていたのですが、<br />
現状のAndroidStudioではそうはいかない模様。<br />
<br />
libフォルダにコピペ等で突っ込む所迄は同じなのですが、<br />
その後、File-><span style="background-color: white; color: #2b2b2b; line-height: 24px;">Project Structureを開く。</span><br />
<span style="background-color: white; color: #2b2b2b; line-height: 24px;"><br /></span>
<span style="background-color: white; color: #2b2b2b; line-height: 24px;">右側から「Libraries」を選択。真ん中上部にある「+(プラス)」ボタンから</span><br />
<span style="color: #2b2b2b;"><span style="line-height: 24px;">「libフォルダ」を丸々選択してOK。</span></span><br />
<span style="color: #2b2b2b;"><span style="line-height: 24px;">プロジェクト選択するような画面が出てくるけど、</span></span><br />
<span style="color: #2b2b2b;"><span style="line-height: 24px;">そこでは「HogeProject-HogeProject</span></span><span style="color: #2b2b2b; line-height: 24px;">」という長くなってる方を選択。</span><br />
<span style="color: #2b2b2b; line-height: 24px;"><br /></span>
<span style="color: #2b2b2b;"><span style="line-height: 24px;">これでちゃんと自動補完とかしてくれるようになる。</span></span><br />
<span style="color: #2b2b2b;"><span style="line-height: 24px;"><br /></span></span>
<span style="color: #2b2b2b;"><span style="line-height: 24px;">------追記----</span></span><br />
<span style="color: #2b2b2b;"><span style="line-height: 24px;"><br /></span></span>
<span style="color: #2b2b2b;"><span style="line-height: 24px;">これでも駄目な模様。実行時にエラー吐かれちゃう。</span></span><br />
<span style="color: #2b2b2b;"><span style="line-height: 24px;">ビルドパスを直接書き換える必要があるみたい。</span></span><br />
<span style="color: #2b2b2b;"><span style="line-height: 24px;">もうちょい調べてみる・・・</span></span><br />
<span style="color: #2b2b2b;"><span style="line-height: 24px;"><br /></span></span>
<span style="color: #2b2b2b;"><span style="line-height: 24px;">--------追記2-------</span></span><br />
<span style="color: #2b2b2b;"><span style="line-height: 24px;">「libsフォルダ」や「srcフォルダ」と同じ階層にある、</span></span><br />
<span style="color: #2b2b2b;"><span style="line-height: 24px;">「build.gradle」の内容を直接書き換えたらいける模様。</span></span><br />
<span style="color: #2b2b2b;"><span style="line-height: 24px;"><br /></span></span>
<br />
<span style="color: #2b2b2b;"><span style="line-height: 24px;">dependencies {</span></span><br />
<span style="color: #2b2b2b;"><span style="line-height: 24px;"> compile files('libs/android-support-v4.jar')</span></span><br />
<span style="color: #2b2b2b;"><span style="line-height: 24px;">}</span></span><br />
<span style="color: #2b2b2b;"><span style="line-height: 24px;"><br /></span></span>
<span style="color: #2b2b2b;"><span style="line-height: 24px;">この部分を以下に書き換える</span></span><br />
<span style="color: #2b2b2b;"><span style="line-height: 24px;"><br /></span></span>
<br />
dependencies {<br />
compile fileTree(dir: 'libs', include: '*.jar')<br />
}<br />
<br />
<br />
<br />
これで実行出来る様になった。<br />
そしてこの辺りの事既に全部書いてあるブログを発見。<br />
最初からここ見れば良かった・・・<br />
<a href="http://d.hatena.ne.jp/tondol/20130521/1369111104" target="_blank">[android]Android Studioで外部ライブラリを使うアプリを実行する</a><br />
<br />
<br />
<span style="color: #2b2b2b;"><span style="line-height: 24px;">取りあえず書き残しておく。。。</span></span><br />
<span style="color: #2b2b2b;"><span style="line-height: 24px;"><br /></span></span>
<br />
<br />
<iframe frameborder="0" marginheight="0" marginwidth="0" scrolling="no" src="http://rcm-jp.amazon.co.jp/e/cm?t=eternalmistbl-22&o=9&p=8&l=as1&asins=4797373199&ref=qf_sp_asin_til&fc1=000000&IS2=1&lt1=_blank&m=amazon&lc1=0000FF&bc1=000000&bg1=FFFFFF&f=ifr" style="height: 240px; width: 120px;"></iframe>
<iframe frameborder="0" marginheight="0" marginwidth="0" scrolling="no" src="http://rcm-jp.amazon.co.jp/e/cm?t=eternalmistbl-22&o=9&p=8&l=as1&asins=B00CBPFN4U&ref=qf_sp_asin_til&fc1=000000&IS2=1&lt1=_blank&m=amazon&lc1=0000FF&bc1=000000&bg1=FFFFFF&f=ifr" style="height: 240px; width: 120px;"></iframe>Anonymoushttp://www.blogger.com/profile/13193723975557634690noreply@blogger.com0tag:blogger.com,1999:blog-8402929135737734692.post-3685953266005894572013-05-17T09:09:00.001+09:002013-05-21T15:01:32.968+09:00【AndroidStudio】 There must not already be a project at this location【エラー】Android Studioでプロジェクト作ろうとしたら以下のエラーが出た。<br />
「<span style="background-color: white; color: #444444; font-family: Tahoma, 'Microsoft Yahei', Simsun; font-size: 14px; line-height: 21px;"> </span><span style="background-color: white; color: #444444; font-family: Tahoma, 'Microsoft Yahei', Simsun; font-size: 14px; line-height: 21px;">There must not already be a project at this location</span>」<br />
どうやら、既に作られたディレクトリを指定すると駄目みたい。<br />
<br />
Macなら<br />
/Users/Documents/Workspace<br />
ここにプロジェクト作る場合は、<br />
「Project location」に「/Users//Documents/Workspace/NewProject」<br />
みたいな感じで、未だ存在しないディレクトリ指定してやって、<br />
AndroidStudio自身にフォルダ生成させないと駄目な様子。<br />
<br />
Windowsの場合はこうかな?<br />
C:/hoge/fuga<br />
Cドライブがこうなっていて、「fuga」にプロジェクト作りたい場合は、<br />
「Project location」に「C:/hoge/fuga/NewProject」<br />
でいけるはず。<br />
<br />
<br />
どうでも良い様な内容だけど、何か新しいIDEだし取りあえず載せとく。。。
<br />
<br />
<iframe frameborder="0" marginheight="0" marginwidth="0" scrolling="no" src="http://rcm-jp.amazon.co.jp/e/cm?t=eternalmistbl-22&o=9&p=8&l=as1&asins=4797373199&ref=qf_sp_asin_til&fc1=000000&IS2=1&lt1=_blank&m=amazon&lc1=0000FF&bc1=000000&bg1=FFFFFF&f=ifr" style="height: 240px; width: 120px;"></iframe>
<iframe frameborder="0" marginheight="0" marginwidth="0" scrolling="no" src="http://rcm-jp.amazon.co.jp/e/cm?t=eternalmistbl-22&o=9&p=8&l=as1&asins=B00CBPFN4U&ref=qf_sp_asin_til&fc1=000000&IS2=1&lt1=_blank&m=amazon&lc1=0000FF&bc1=000000&bg1=FFFFFF&f=ifr" style="height: 240px; width: 120px;"></iframe>
<br />
<br />
序でにAndroidStudioのショートカットキーをちょっとずつまとめていく<br />
<br />
自動インポート option+Return<br />
自動整形 option+command+L<br />
Override一覧 control+O<br />
<br />
<br />
<br />Anonymoushttp://www.blogger.com/profile/13193723975557634690noreply@blogger.com0tag:blogger.com,1999:blog-8402929135737734692.post-13989445215047443922013-03-08T15:27:00.001+09:002013-03-08T15:29:22.896+09:00【Android】mupdfをAndroidに導入してみる【PDF】最近更新していないや・・・<br />
日記とは何だったのか。。。<br />
<br />
今回は、mupdfに関してです。<br />
AndroidでpdfのViewerを作ろうと思ったら一度は見かけるのでは無いでしょうか。<br />
<br />
しかし、それでいて導入方法が分かり辛い(笑<br />
<br />
今回は取り敢えず、mupdfのソースコードを実際にAndroidで動かす所までを<br />
追って行きたいと思います。<br />
<br />
NDKの導入が完了していて、"ndk-build"コマンドが通るように<br />
パスを通してある状態を前提とします。<br />
<br />
【1】<br />
ソースの場所<br />
http://mupdf.com/download/<br />
ここから拾って来ませう。現在の最新版は「mupdf-1.2」でした。<br />
<br />
archiveから「mupdf-1.2-source.zip」と「mupdf-thirdparty-2012-08-14.zip」をダウンロードしてきます。どちらも解凍します。<br />
<br />
【2】<br />
解凍してできた、「mupdf-1.2-source」の直下に「mupdf-thirdparty-2012-08-14」の中身(freetypeやらjbid2decやら)を入れます。<br />
<br />
一応、「mupdf-1.2-source」のフォルダ名を「mupdf-1.2」に変更。<br />
<br />
【3】<br />
コマンドラインから、<br />
$cd mupdf-1.2<br />
$make<br />
$cd Android<br />
$ndk-build<br />
<br />
【なんかエラーが出た場合】<br />
$cd mupdf-1.2/Android/jni<br />
$vi Application.mk<br />
ここの中の<br />
「#NDK_TOOLCHAIN_VERSION=4.4.3」<br />
を<br />
「NDK_TOOLCHAIN_VERSION=4.4.3」<br />
こうしてコメントアウトを取ります。<br />
んでもう一回コマンド試してみてください。<br />
<br />
【完了】<br />
<br />
こ、これで通るはず。。。<br />
後は、AndroidのプロジェクトをEclipeで読み込んでやるだけ!<br />
ね?簡単でしょ?(2日近く悩んでました)<br />
<br />
色々メソッド等の紹介もしたいけど、自分も読み込んでいないので今日はここまで。。。<br />
<br />
<br />
<br />
<iframe frameborder="0" marginheight="0" marginwidth="0" scrolling="no" src="http://rcm-jp.amazon.co.jp/e/cm?t=eternalmistbl-22&o=9&p=8&l=as1&asins=4844331272&ref=tf_til&fc1=000000&IS2=1&lt1=_blank&m=amazon&lc1=0000FF&bc1=000000&bg1=FFFFFF&f=ifr" style="height: 240px; width: 120px;"></iframe>
<iframe frameborder="0" marginheight="0" marginwidth="0" scrolling="no" src="http://rcm-jp.amazon.co.jp/e/cm?t=eternalmistbl-22&o=9&p=8&l=as1&asins=477415184X&ref=tf_til&fc1=000000&IS2=1&lt1=_blank&m=amazon&lc1=0000FF&bc1=000000&bg1=FFFFFF&f=ifr" style="height: 240px; width: 120px;"></iframe>
<iframe frameborder="0" marginheight="0" marginwidth="0" scrolling="no" src="http://rcm-jp.amazon.co.jp/e/cm?t=eternalmistbl-22&o=9&p=8&l=as1&asins=4798036307&ref=tf_til&fc1=000000&IS2=1&lt1=_blank&m=amazon&lc1=0000FF&bc1=000000&bg1=FFFFFF&f=ifr" style="height: 240px; width: 120px;"></iframe>
Anonymoushttp://www.blogger.com/profile/13193723975557634690noreply@blogger.com0tag:blogger.com,1999:blog-8402929135737734692.post-45509190688145634362012-12-07T17:53:00.000+09:002013-05-18T22:39:59.018+09:00【Android】Ingressでポータル追加申請の方法【Ingress】Googleの出したAR技術用いたゲーム「Ingress」<br />
<br />
遊びたいのにポータルが全然近くに無いよ!!<br />
<br />
って事でポータルの申請方法纏めておきます。<br />
<br />
<br />
てか公式?にあるんですけどね・・・<br />
<a href="http://support.google.com/ingress/answer/2808254?hl=en&ref_topic=2799270" target="_blank">ポータル追加方法とかの公式</a><br />
<br />
<br />
Google先生にお力を借りて日本語訳<br />
<br />
<br />
<h1 style="border: 0px; color: #222222; font-family: 'Helvetica Neue', HelveticaNeue, Helvetica, Arial, 'Lucida Grande', sans-serif; font-size: 2rem; font-weight: inherit; line-height: 1.25em; margin: 0px 0px 12px; outline: 0px; padding: 0px; vertical-align: baseline;">
<span style="border: 0px; font-family: inherit; font-size: 20px; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">新規ポータルの提出</span></h1>
<div class="main-section--answer main-section content-container" style="border: 0px; color: #222222; font-family: 'Helvetica Neue', HelveticaNeue, Helvetica, Arial, 'Lucida Grande', sans-serif; font-size: 13px; line-height: 18.200000762939453px; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline; word-wrap: break-word;">
<div style="border: 0px; font-family: inherit; font-style: inherit; margin-bottom: 1em; margin-top: 1em; outline: 0px; padding: 0px; vertical-align: baseline;">
ポータル候補地の撮影と提出をする事によって、プレイフィールドへの追加の手助けをして下さい。</div>
<div style="border: 0px; font-family: inherit; font-style: inherit; margin-bottom: 1em; margin-top: 1em; outline: 0px; padding: 0px; vertical-align: baseline;">
<span style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">候補ポータルを送信する手順は次のとおり</span></div>
<ul style="border: 0px; font-family: inherit; font-style: inherit; margin: 1em 0px; outline: 0px; padding: 0px; vertical-align: baseline;">
<li style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px 0px 0px 2em; outline: 0px; padding: 0px; vertical-align: baseline;"><span style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">カメラアプリでのGPSが有効になっていることを確認してください(オープン</span><strong style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">カメラ</strong><span style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;"> > </span><strong style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">[設定</strong><span style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">]> [ </span><strong style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">ストアの場所</strong><span style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;"> > </span><strong style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">ON</strong><span style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">、オンにする必要があるかもしれない</span><strong style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">設定</strong><span style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;"> > </span><strong style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">位置情報サービス</strong><span style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;"> > </span><strong style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">共有ピクチャの場所</strong><span style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">、利用可能な場合)。</span></li>
<li style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px 0px 0px 2em; outline: 0px; padding: 0px; vertical-align: baseline;"><span style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">標準のカメラアプリでは、まずAndroid携帯で写真を撮る</span></li>
<li style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px 0px 0px 2em; outline: 0px; padding: 0px; vertical-align: baseline;"><span style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">写真のオプションで</span><strong style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">共有</strong><span style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">を選択、</span></li>
<li style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px 0px 0px 2em; outline: 0px; padding: 0px; vertical-align: baseline;"><span style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">共有「</span><strong style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">NIA</strong><span style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;"><strong style="border: 0px; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;"> Super Ops</strong> (入口ロゴ付き)」を選択</span></li>
<li style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px 0px 0px 2em; outline: 0px; padding: 0px; vertical-align: baseline;"><span style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">ポータルと提案するタイトルを入力して</span><strong style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">[OK]</strong><span style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">を選択</span><span style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">。</span></li>
<li style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px 0px 0px 2em; outline: 0px; padding: 0px; vertical-align: baseline;"><span style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">これは、オブジェクトの写真と場所で私たちのアンティックオプスチームに送る電子メールを準備します。</span></li>
<li style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px 0px 0px 2em; outline: 0px; padding: 0px; vertical-align: baseline;"><span style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">電子メールを送信します。</span></li>
<li style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px 0px 0px 2em; outline: 0px; padding: 0px; vertical-align: baseline;"><span style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">当社の運用チームは、画像やオブジェクトの位置を確認し、それがポータルのための私達の一般的な基準を満たしている場合、ゲームデータベースに追加します。</span></li>
</ul>
<div style="border: 0px; font-family: inherit; font-style: inherit; margin-bottom: 1em; margin-top: 1em; outline: 0px; padding: 0px; vertical-align: baseline;">
<span style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">一般ポータル基準:</span></div>
<ul style="border: 0px; font-family: inherit; font-style: inherit; margin: 1em 0px; outline: 0px; padding: 0px; vertical-align: baseline;">
<li style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px 0px 0px 2em; outline: 0px; padding: 0px; vertical-align: baseline;"><span style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">安全と公衆がアクセス可能である必要がある事</span></li>
<li style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px 0px 0px 2em; outline: 0px; padding: 0px; vertical-align: baseline;"><span style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">オブジェクトの例の種類:</span><ul style="border: 0px; font-family: inherit; font-style: inherit; margin: 1em 0px; outline: 0px; padding: 0px; vertical-align: baseline;">
<li style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px 0px 0px 2em; outline: 0px; padding: 0px; vertical-align: baseline;"><span style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">像</span></li>
<li style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px 0px 0px 2em; outline: 0px; padding: 0px; vertical-align: baseline;"><span style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">独自のアーキテクチャ</span></li>
<li style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px 0px 0px 2em; outline: 0px; padding: 0px; vertical-align: baseline;"><span style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">屋外壁画</span></li>
<li style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px 0px 0px 2em; outline: 0px; padding: 0px; vertical-align: baseline;"><span style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">歴史的建造物</span></li>
<li style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px 0px 0px 2em; outline: 0px; padding: 0px; vertical-align: baseline;"><span style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">特別な屋外ビル</span></li>
<li style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px 0px 0px 2em; outline: 0px; padding: 0px; vertical-align: baseline;"><span style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">ユニークな地元企業</span></li>
</ul>
</li>
</ul>
<div style="border: 0px; font-family: inherit; font-style: inherit; margin-bottom: 1em; margin-top: 1em; outline: 0px; padding: 0px; vertical-align: baseline;">
<span style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;"><span style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">ポータルが受け入れられるかどうかの決定は、2〜3週間以内に行われます。</span></span></div>
<div style="border: 0px; font-family: inherit; font-style: inherit; margin-bottom: 1em; margin-top: 1em; outline: 0px; padding: 0px; vertical-align: baseline;">
<span style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;"><span style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">受け入れられた後、2-3週で実際にそのポータルが活用される事を期待します。</span></span></div>
</div>
<br />
<br />
・・・こんな感じ?訳は適当なので原文をご参照ください!<br />
自分の場合は、撮った写真を「プレビュー」で開いて、<br />
メニューボタン押して、「共有」から「NIA Super Ops」が選択できました。<br />
<br />
実際にやってみると。<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-g7R5PUOIHuc/UMGtxQSebdI/AAAAAAAAB6g/GErvybbtHuo/s1600/2012-12-06+13.30.06.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" src="http://4.bp.blogspot.com/-g7R5PUOIHuc/UMGtxQSebdI/AAAAAAAAB6g/GErvybbtHuo/s1600/2012-12-06+13.30.06.png" height="200" width="120" /></a></div>
写真を撮って・・・<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/--6TmlAuZJLw/UMGt0zOvegI/AAAAAAAAB6o/dIku30DgvTo/s1600/2012-12-06+13.30.09.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" src="http://4.bp.blogspot.com/--6TmlAuZJLw/UMGt0zOvegI/AAAAAAAAB6o/dIku30DgvTo/s1600/2012-12-06+13.30.09.png" height="200" width="120" /></a></div>
共有からNIA Super Opsを選択<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-psLhkkTHw2M/UMGt22MT_7I/AAAAAAAAB6w/sKP2iI345T8/s1600/2012-12-06+13.31.09.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" src="http://1.bp.blogspot.com/-psLhkkTHw2M/UMGt22MT_7I/AAAAAAAAB6w/sKP2iI345T8/s1600/2012-12-06+13.31.09.png" height="200" width="120" /></a></div>
タイトル入力して<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-AEPGd2UfKDc/UMGt41eug_I/AAAAAAAAB64/G_OwU9FRe0A/s1600/2012-12-07+16.39.15.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" src="http://3.bp.blogspot.com/-AEPGd2UfKDc/UMGt41eug_I/AAAAAAAAB64/G_OwU9FRe0A/s1600/2012-12-07+16.39.15.png" height="200" width="120" /></a></div>
<br />
メーラーで送信!(実は英語で入力し直しました)<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
以上、ポータルの追加申請方法でした。
<br />
<br />
<iframe src="http://rcm-jp.amazon.co.jp/e/cm?t=eternalmistbl-22&o=9&p=8&l=as1&asins=4774134325&ref=tf_til&fc1=000000&IS2=1<1=_blank&m=amazon&lc1=0000FF&bc1=000000&bg1=FFFFFF&f=ifr" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"></iframe><iframe src="http://rcm-jp.amazon.co.jp/e/cm?t=eternalmistbl-22&o=9&p=8&l=as1&asins=B005XUWEII&ref=tf_til&fc1=000000&IS2=1<1=_blank&m=amazon&lc1=0000FF&bc1=000000&bg1=FFFFFF&f=ifr" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"></iframe>
<iframe src="http://rcm-jp.amazon.co.jp/e/cm?t=eternalmistbl-22&o=9&p=8&l=as1&asins=B00CBPFN4U&ref=qf_sp_asin_til&fc1=000000&IS2=1<1=_blank&m=amazon&lc1=0000FF&bc1=000000&bg1=FFFFFF&f=ifr" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"></iframe>Anonymoushttp://www.blogger.com/profile/13193723975557634690noreply@blogger.com0tag:blogger.com,1999:blog-8402929135737734692.post-22436332974565969272012-12-05T14:46:00.002+09:002012-12-11T11:17:14.843+09:00【Android】 Google発、AR技術とGPSを用いたゲーム【Ingress】Googleから招待コードが届いたため、ちょっとだけプレイしてみました。<br />
<span style="color: red; font-size: large;">※チュートリアルのみですが、思いっきりネタバレ含みます。</span><br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-K7m0jW4pgkg/UL7SkXXpiAI/AAAAAAAAB5E/UpiHxsRKsiE/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2012-12-04+12.08.27.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" src="http://1.bp.blogspot.com/-K7m0jW4pgkg/UL7SkXXpiAI/AAAAAAAAB5E/UpiHxsRKsiE/s1600/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88+2012-12-04+12.08.27.png" height="125" width="200" /></a></div>
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
Ingressの説明とかできればいいのですが、<br />
自分も全然内容を知らないままやっております。<br />
<br />
なんか、リアルなマップ使った陣地取りゲームみたいです。<br />
これからはこういうゲームも増えて来るのかな・・・<br />
<br />
<br />
右上の「OPS」からオプション開いて、<br />
「MISSION」から各種チュートリアルを開始できます。<br />
<br />
<br />
ってことでチュートリアル開始。<br />
・・・の筈が。<br />
良くわからないうちに1個目クリアしてしまっていました(笑<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-z_djWZ3P_kY/UL7TcNB19UI/AAAAAAAAB5M/LXudS66aS3o/s1600/2012-12-04+18.24.51.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" src="http://3.bp.blogspot.com/-z_djWZ3P_kY/UL7TcNB19UI/AAAAAAAAB5M/LXudS66aS3o/s1600/2012-12-04+18.24.51.png" height="200" width="120" /></a></div>
<a href="http://4.bp.blogspot.com/-YikhTvWkTsc/UL7UUkkF89I/AAAAAAAAB5c/U7qGpXxrv1Y/s1600/2012-12-04+18.25.46.png" imageanchor="1" style="clear: left; display: inline !important; margin-bottom: 1em; margin-right: 1em; text-align: center;"><img border="0" src="http://4.bp.blogspot.com/-YikhTvWkTsc/UL7UUkkF89I/AAAAAAAAB5c/U7qGpXxrv1Y/s1600/2012-12-04+18.25.46.png" height="200" width="120" /></a><br />
<br />
"聞こえますか?大事な事を言いますので良く聞いて下さい。"<br />
"堅くなる必要はありません。これは形式的な物です。"<br />
"あなたはゲームだと思ってダウンロードしたのでしょうが、それは違います!"<br />
"根本て的に間違っているのです。"<br />
"私たちの世界に浸透している、起源も意図も不明な未知のエネルギーがあります。"<br />
"それは「エキゾチック物質」として知られています"<br />
<br />
う〜ん、誰か英語教えて・・・<br />
取りあえず、いつの間にかクリア(この台詞聞く事がミッションだったのかな?)<br />
<br />
<br />
ってことで気を取り直して二つ目から・・・<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-qwRqKB6WFk4/UL7TwnAXDWI/AAAAAAAAB5U/bibY3ynvI3g/s1600/2012-12-04+18.24.58.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" src="http://2.bp.blogspot.com/-qwRqKB6WFk4/UL7TwnAXDWI/AAAAAAAAB5U/bibY3ynvI3g/s1600/2012-12-04+18.24.58.png" height="200" width="120" /></a></div>
<br />
"あなたの周りにある「XM」(エキゾチック物質)を集めて、スキャナを充電してね♪"<br />
<br />
<br />
<br />
<br />
<br />
<br />
なんか、適当に歩いて光るってる奴(多分エキゾチック物質)<br />
をある程度集めるとミッションクリアみたいです。<br />
あまりにもサクッと終わったのでスクリーンショット全然撮ってない(笑<br />
なんか、クリアした時にもメッセージ来てた筈。。。<br />
<br />
<br />
てことで3つ目のミッション!<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-hh4GtA3VjS4/UL7aHRI0tCI/AAAAAAAAB5s/yvEuTdkEBBA/s1600/2012-12-04+18.25.08.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" src="http://3.bp.blogspot.com/-hh4GtA3VjS4/UL7aHRI0tCI/AAAAAAAAB5s/yvEuTdkEBBA/s1600/2012-12-04+18.25.08.png" height="200" width="120" /></a></div>
<br />
<br />
"ポータルへ行き、ハックせよ"<br />
ハックは制圧とかそんな感じなのかな?<br />
<br />
<br />
<br />
<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-5lqH2F83UPc/UL7awd75kbI/AAAAAAAAB50/SlkuVqY3T0Y/s1600/2012-12-04+19.16.16.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" src="http://3.bp.blogspot.com/-5lqH2F83UPc/UL7awd75kbI/AAAAAAAAB50/SlkuVqY3T0Y/s1600/2012-12-04+19.16.16.png" height="200" width="120" /></a></div>
<br />
"ミッション-ポータルを制圧せよ"<br />
"概要"<br />
"-ポータルへ向かえ"<br />
"-ポータルをタップしハックしろ"<br />
(ポータルまで行ってポータルを画面で選択して、<br />
「HACK」ボタン押せ。って事w)<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-dpR42WiAvYM/UL7cXmzooyI/AAAAAAAAB58/1ogO0W0Sdvs/s1600/2012-12-04+19.16.26.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" src="http://2.bp.blogspot.com/-dpR42WiAvYM/UL7cXmzooyI/AAAAAAAAB58/1ogO0W0Sdvs/s1600/2012-12-04+19.16.26.png" height="200" width="120" /></a></div>
"近くにポータルがあります"<br />
"マップに表示されている円内にポータルが入るようにし"<br />
"マップ上でポータルをタップします"<br />
"HACKを選択してください"<br />
"警告、これは敵対ポータルです"<br />
"ハッキングした後、速やかに範囲外に移動して下さい"<br />
<br />
<br />
<br />
<br />
え、離れなきゃ行けなかったのか・・・<br />
SS撮るの夢中で全然読んでなかった(笑<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-SxpnvZccP0o/UL7daus8gOI/AAAAAAAAB6E/z625vDpFNXU/s1600/2012-12-04+19.16.39.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" src="http://2.bp.blogspot.com/-SxpnvZccP0o/UL7daus8gOI/AAAAAAAAB6E/z625vDpFNXU/s1600/2012-12-04+19.16.39.png" height="200" width="120" /></a></div>
ポータルが近くにあるとこんな感じに表示されます。<br />
後は、近づいてポータル選択してハックすればオーケー!<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
こんな感じでミッションやっていきます。<br />
一通りチュートリアルクリアしたけど、長くなりそうなんでブログはここまで。<br />
(まだ倍以上SS撮ったけど面倒w)<br />
後は実際にやってみてくださいな<br />
<br />
道ばたでAndroidに目を落とす事に成りますので、周りには十分気をつけましょう!<br />
でもって結構面白そうなので興味がありましたら是非!!<br />
<br />
<br />
そいえば、何か機密文書っぽいのもゲット!<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-8bhEH2Ffv-E/UL7fa6U7nMI/AAAAAAAAB6M/nDxc1YVU-hY/s1600/2012-12-05+14.44.12.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" src="http://4.bp.blogspot.com/-8bhEH2Ffv-E/UL7fa6U7nMI/AAAAAAAAB6M/nDxc1YVU-hY/s1600/2012-12-05+14.44.12.png" height="320" width="192" /></a></div>
<br />
<br />
<br />
<br />
<br />
<br />
<br /><br />
<br /><br />
<br /><br />
<br />
<br /><br />
<br /><br />
<br /><br />
<br /><br />
<br />
<iframe frameborder="0" marginheight="0" marginwidth="0" scrolling="no" src="http://rcm-jp.amazon.co.jp/e/cm?t=eternalmistbl-22&o=9&p=8&l=as1&asins=4774134325&ref=tf_til&fc1=000000&IS2=1&lt1=_blank&m=amazon&lc1=0000FF&bc1=000000&bg1=FFFFFF&f=ifr" style="height: 240px; width: 120px;"></iframe>Anonymoushttp://www.blogger.com/profile/13193723975557634690noreply@blogger.com0tag:blogger.com,1999:blog-8402929135737734692.post-84975617854705301092012-12-02T13:45:00.003+09:002012-12-02T14:10:19.503+09:00【iPhone】Invalid Binary で陥った問題【ローカライズ】<br />
Invalid Binaryに至る考えうる問題は一つではないため、<br />
ここでは自分の陥った問題に関して紹介致します。<br />
<br />
スプラッシュ画面(Launch Images)をローカライズ(多言語化)させて居たのですが、<br />
それがマズかったようで、Default.pngとかを見つけられないとか言われました。<br />
<br />
結論だけを言うと、info.plistファイルから該当する画像の列を削除すれば通りました。<br />
削除した状態でもスプラッシュ画面は表示されるようです。<br />
削除するのはinfo.plistの<br />
Iconfilesの中とIconfiles(iOS5)->PrimaryIcon->iconfilesの中<br />
にあるDefault.pngとDefault@2x.pngでした。<br />
<br />
<span style="color: red;"><b><u>2カ所にある事に注意して下さい。</u></b></span><br />
<br />
<br />
以下は、InvalidBinaryの段階でAppleから来たメールです。<br />
Dear developer,<br />
We have discovered one or more issues with your recent delivery for "DotToDot by Puzzles' Plaza". To process your delivery, the following issues must be corrected:<br />
<strong>Invalid Image Path</strong> - No image found at the path referenced under key "CFBundleIcons": Default.png<br />
<strong>Invalid Image Path</strong> - No image found at the path referenced under key "CFBundleIcons": Default@2x.png<br />
Once these issues have been corrected, go to the Version Details page and click "Ready to Upload Binary." Continue through the submission process until the app status is "Waiting for Upload." You can then deliver the corrected binary.<br />
Regards,<br />
The App Store teamAnonymoushttp://www.blogger.com/profile/13193723975557634690noreply@blogger.com0tag:blogger.com,1999:blog-8402929135737734692.post-71468059313125325552012-12-02T07:44:00.002+09:002012-12-02T07:44:56.818+09:00【Android】カラーコード一覧をxmlに纏めてみた【レイアウト】12月に入り、アドベントカレンダーが始動しはじめたようです。<br />
<br />
自分も参加したかったのですが、どうもマトモなネタをやっている時間が取れそうに無い・・・<br />
<span style="color: red; font-size: large;"><b>でも悔しい</b></span><br />
取りあえず12月中はブログの更新頻度を出来るだけ上げてアドベントカレンダーに対抗する事を目標にしようかと思います。<br />
<br />
<br />
さて、そんなこんなで本題です。<br />
<br />
Androidでレイアウトを弄ってる際「こんな感じの色が良いなぁ」<br />
とか思い浮かべるかと思います。<br />
<br />
そして、16進数で色を作って行く訳ですがコレが何かと面倒で・・・<br />
サイトのカラーコード表を見ながらああでもないこうでもないと・・・<br />
<br />
って事で、何番煎じか分かりませんが纏めてみました。<br />
<br />
参考サイトは<a href="http://www.colordic.org/" target="_blank">原色大辞典</a>さんです。<br />
<br />
githubに載せてあるのでどぞです。<br />
<a href="https://github.com/Shift-Kumagai/AndroidLayoutColorXML" target="_blank">https://github.com/Shift-Kumagai/AndroidLayoutColorXML</a><br />
<br />Anonymoushttp://www.blogger.com/profile/13193723975557634690noreply@blogger.com0tag:blogger.com,1999:blog-8402929135737734692.post-46836206156528661342012-11-26T19:48:00.004+09:002013-05-18T22:41:31.581+09:00【iPhoe】価格の多言語対応について【StoreKit】またもやiPhoneの話題です。<br />
いい加減Androidに触りたいです。Rubyでも遊びたいです。<br />
<br />
<br />
さて、今回の話題はiPhoneでの多言語対応、特に課金処理部分で私が躓いた点です。<br />
<br />
課金処理の入ったiPhoneアプリで多言語対応にする際、<br />
問題となるのは金額の表記だと思います。<br />
<br />
日本の人には円表記で、海外の人には米ドル表記にしたい!となった時にどうするかなのですが、<br />
<a href="http://developer.apple.com/library/mac/#documentation/StoreKit/Reference/SKProduct_Reference/Reference/Reference.html" target="_blank">公式</a>のリファレンスそのままでオーケーです。<br />
<br />
<br />
<div class="p1">
- (<span class="s1">void</span>)productsRequest:(<span class="s2">SKProductsRequest</span> *)request didReceiveResponse:(<span class="s2">SKProductsResponse</span> *)responseの中で</div>
<br />
<br />
<pre class="brush:cpp" name="code">NSNumberFormatter *numberFormatter = [[NSNumberFormatter alloc] init];
[numberFormatter setFormatterBehavior:NSNumberFormatterBehavior10_4];
[numberFormatter setNumberStyle:NSNumberFormatterCurrencyStyle];
[numberFormatter setLocale:product.priceLocale];
NSString *formattedString = [numberFormatter stringFromNumber:product.price];
</pre>
<br />
<br />
この様にするだけで、自動で価格の表記が変わってくれます。<br />
<br />
さて、ここで問題なのが<span style="color: red;"><b>”何に合わせて”</b></span>表記が変化するのかです。<br />
自分は最初、他の部分のローカライズと同じで、iPhone本体の言語設定から拾ってくれるのだろうと考えておりました。<br />
実際は、<span style="color: red;">”最後にログインしたAppleアカウントに紐付いている国”</span>の表記がされます。<br />
多分、請求とかでややこしくなるのを避ける措置なのかなと思います。<br />
<br />
なので、本体設定を英語にして、表記をUSに設定しても、円単位の数字が返って来る事があります。<br />
テストする時は他の国に設定したアカウントでログインする様にしてください。<br />
ホント面倒です・・・<br />
<br />
<br />
<iframe frameborder="0" marginheight="0" marginwidth="0" scrolling="no" src="http://rcm-jp.amazon.co.jp/e/cm?lt1=_blank&bc1=000000&IS2=1&bg1=FFFFFF&fc1=000000&lc1=0000FF&t=eternalmistbl-22&o=9&p=8&l=as1&m=amazon&f=ifr&ref=tf_til&asins=4798128279" style="height: 240px; width: 120px;"></iframe>
<iframe src="http://rcm-jp.amazon.co.jp/e/cm?t=eternalmistbl-22&o=9&p=8&l=as1&asins=B00CBPFN4U&ref=qf_sp_asin_til&fc1=000000&IS2=1<1=_blank&m=amazon&lc1=0000FF&bc1=000000&bg1=FFFFFF&f=ifr" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"></iframe>Anonymoushttp://www.blogger.com/profile/13193723975557634690noreply@blogger.com1tag:blogger.com,1999:blog-8402929135737734692.post-63702835070451268732012-11-26T18:51:00.003+09:002014-06-30T21:38:40.846+09:00【iPhone】課金処理が勝手に走る状態の防止【StoreKit】<span style="color: red;">※この記事の内容はどう考えても推奨されません。その場しのぎです。</span><br />
<span style="color: red;"> 実装しちゃって課金処理で不利益出ても何も出来ません。</span><br />
<span style="color: red;"><br /></span>
<span style="color: red;">※iOS7、iOS8で再度組み直してみたのですが、今コレ使えないみたいです。</span><br />
<span style="color: red;"> ダイアログ出る前にSKPaymentTransactionStatePurchasingが</span><br />
<span style="color: red;"> 飛んできませんでした。</span><br />
<br />
何やらiPhoneの課金処理に関する掲示板などを見ていると、<br />
「アプリを起動すると何故か課金処理が走ってしまう」<br />
というのを時々見かけます。<br />
<br />
取りあえずその場しのぎの策に行き着いたので書き残します。<br />
<br />
iPhoneアプリを起動して、特に操作をしていないのに、<br />
課金のダイアログが出て、IDとパスワードを求められる事があります。<br />
これは、前回何かしらのアプリを起動して、課金処理に入り、<br />
課金処理が正常に終了しないままアプリが落ちるとなります。<br />
次回起動した後、特定のタイミング(StoreKitさんが要らん親切で通知してくれます。)でダイアログが呼び出されます。<br />
<br />
<b>本当に厄介!!</b><br />
<br />
この問題に突き当たるという事は、公式のプログラミングガイド通りに、<br />
アプリ起動直後にオブザーバー(何か課金処理を管理してるっぽい奴)の登録をしているのだと思われます。<br />
そすると、最初に登録したオブザーバーさんが律儀に途中で終わっちゃってるトランザクションを拾って来てくれるみたいです。(しかもストアキットさんの任意のタイミングで・・・)<br />
<br />
なので。。。<br />
<br />
<b><span style="color: red; font-size: large;">これ破棄すればオーケー</span></b><br />
<br />
<span style="font-size: x-small;">「ちゃん再処理しろよ」という白い林檎からのプレッシャーを感じますが取り合えず無視</span><br />
<span style="font-size: xx-small;"> だっていきなりダイアログ出てくるとか不審過ぎるし、タイミング取得できる様な仕組みも見当たらないし・・・</span><br />
<span style="font-size: xx-small;"><br /></span>
<br />
本題です。<br />
ここではNonCondensableな課金を例として挙げております。<br />
<br />
<br />
AppDelegate.h<br />
<br />
<pre class="brush:cpp" name="code">@interface AppDelegate : UIResponder <uiapplicationdelegate aymenttransactionobserver="aymenttransactionobserver"></uiapplicationdelegate></pre>
<br />
<br />
AppDelegate.m<br />
<pre class="brush:cpp" name="code">//未完トランザクション用
-(void)paymentQueue:(SKPaymentQueue *)queue updatedTransactions:(NSArray *)transactions{
for (SKPaymentTransaction *transaction in transactions) {
switch (transaction.transactionState) {
case SKPaymentTransactionStatePurchasing: {// 購入中
[queue finishTransaction:transaction];
//アイテムID取得したいならこの部分
break;
}
case SKPaymentTransactionStatePurchased: {// 購入成功
[queue finishTransaction:transaction];
break;
}
case SKPaymentTransactionStateFailed: { //購入失敗/中断
[queue finishTransaction:transaction];
break;
}
case SKPaymentTransactionStateRestored: {// 購入履歴復元
[queue finishTransaction:transaction];
break;
}
}
}
}
//オブザーバーの削除(NSNotificationCenterで呼ばれる)
-(void)removeTransaction {
[[SKPaymentQueue defaultQueue] removeTransactionObserver:self];
}
//オブザーバーの登録(NSNotificationCenterで呼ばれる)
-(void)addTransaction {
[[SKPaymentQueue defaultQueue] addTransactionObserver:self];
}
//なんか、スプラッシュ画面で呼ばれてる部分
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
〜〜〜〜〜〜〜
//何か色んな処理
〜〜〜〜〜〜〜
//オブザーバーの登録
[[SKPaymentQueue defaultQueue] addTransactionObserver:self];
// 通知センターに登録
//オブザーバーの破棄をするメソッド
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(removeTransaction) name:@"remove" object:nil];
//オブザーバーの登録をするメソッド
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(addTransaction) name:@"addtran" object:nil];
}
</pre>
<div class="p2">
という具合に、アプリ起動時に未完トランザクション用のオブザーバーの登録を済ませてしまいます。</div>
<div class="p2">
未完トランザクションがあった場合、-(<span class="s2">void</span>)paymentQueueホニャララが呼ばれますので取りあえずfinishTransactionを呼んじゃいます。</div>
<div class="p2">
ダイアログが表示されるのは、1回目に</div>
<div class="p2">
-(<span class="s2">void</span>)paymentQueue:(<span class="s3">SKPaymentQueue</span> *)queue updatedTransactions:(<span class="s3">NSArray</span> *)transactions</div>
<div class="p2">
に入った後(1回目は購入中に入ります)なので、そこで終了させてしまえば</div>
<div class="p2">
ダイアログは出ないみたいです。</div>
<div class="p2">
「任意のタイミングで処理したい」ならば、「//購入中」の部分で</div>
<div class="p2">
アイテムIDを適当なArrayにでも突っ込んで、</div>
<div class="p2">
お好きなタイミングで課金処理を走らせると良いかと思います。</div>
<div class="p2">
</div>
<div class="p2">
<span style="color: red;"><b>取りあえず破棄完了!!</b></span></div>
<div class="p2">
</div>
<div class="p2">
でもこのままだと、未完じゃない新規のトランザクションまで破棄されちゃいます。</div>
<div class="p2">
なので、別に実際の課金処理を用意してやります。</div>
<div class="p2">
</div>
<div class="p2">
MyStoreObserver.h</div>
<pre class="brush:cpp" name="code">#import <storekit torekit.h="torekit.h">
@interface MyStoreObserver : NSObject<skpaymenttransactionobserver>
@end
</skpaymenttransactionobserver></storekit></pre>
<div class="p1">
MyStoreObserver.m</div>
<pre class="brush:cpp" name="code">@implementation MyStoreObserver
- (void)paymentQueue:(SKPaymentQueue *)queue updatedTransactions:(NSArray *)transactions
{
NSLog(@"paymentQueue:updatedTransactions");
for (SKPaymentTransaction *transaction in transactions)
{
switch (transaction.transactionState)
{
case SKPaymentTransactionStatePurchasing:
{
// 購入処理中
break;
}
case SKPaymentTransactionStatePurchased:
{
[queue finishTransaction:transaction];
// 購入処理成功時の処理
break;
}
case SKPaymentTransactionStateFailed:
{
[queue finishTransaction:transaction];
// 購入処理エラー。ユーザが購入処理をキャンセルした場合もここにくる
// エラーが発生したことをユーザに知らせる
// [self failedTransaction:transaction];
if (transaction.error.code != SKErrorPaymentCancelled){
//エラーの場合
} else {
//ユーザーがキャンセルした場合
}
break;
}
case SKPaymentTransactionStateRestored:
{
[queue finishTransaction:transaction];
// リストア処理
[self restoreTransaction:transaction];
break;
}
}
}
}
// 全てのリストア処理が終了(その後、「購入処理の終了」が呼ばれる)
- (void)paymentQueueRestoreCompletedTransactionsFinished:(SKPaymentQueue *)queue
{
//何かの処理
}
// リストアの失敗(cancel時も呼ばれる)(その後、「購入処理の終了」は呼ばれない)
- (void)paymentQueue:(SKPaymentQueue *)queue restoreCompletedTransactionsFailedWithError:(NSError *)error
{
//何かの処理
}
// 購入処理の終了
- (void)paymentQueue:(SKPaymentQueue *)queue removedTransactions:(NSArray *)transactions
{
//南下の処理
}
@end
</pre>
<div class="p2">
んでもって、後は実際課金走らせる部分で<br />
○○○.m<br />
<pre class="brush:cpp" name="code">//上の方で宣言しておく
MyStoreObserver *mySKObserver;
~~~~~
~~~~~
//ここでダミー破棄の通知
NSNotification *n = [NSNotification notificationWithName:@"remove" object:self];
[[NSNotificationCenter defaultCenter] postNotification:n];
//重複すると怖いので一応破棄。多分無くても大丈夫
[[SKPaymentQueue defaultQueue] removeTransactionObserver:mySKObserver];
//実際に走らせるオブザーバーを登録
[[SKPaymentQueue defaultQueue] addTransactionObserver:mySKObserver];
~~~~~~~~~~
~~~~~~~~~~
-(void)viewWillDisappear:(BOOL)animated{
//使い終わったオブザーバーをここで削除
[[SKPaymentQueue defaultQueue]removeTransactionObserver:mySKObserver];
//ノーティフィケーションも削除
[[NSNotificationCenter defaultCenter]removeObserver:self];
//一応もう一回ダミーを立てるべきだろうか・・・
//NSNotification *n = [NSNotification notificationWithName:@"remove" object:self];
}
</pre>
という感じで、ダミーのオブザーバーと実際に課金走らせるオブザーバーを交換して上げる。<br />
取りあえずはこれで動いてる感じ!!<br />
参考サイト様一覧<br />
【なんてこったいブログ】<br />
http://nantekottai.com/2011/10/28/storekit/<br />
【アルデンテ】<br />
http://d.hatena.ne.jp/kozy_twt/20110401/1301680959<br />
【<span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: x-small; line-height: 16px;">In-App Purchaseプログラミング</span><em style="background-color: white; font-family: arial, sans-serif; font-size: small; font-style: normal; font-weight: bold; line-height: 16px;">ガイド</em>】<br />
https://developer.apple.com/jp/devcenter/ios/library/documentation/StoreKitGuide.pdf<br />
<br />
<br />
<br /></div>
<iframe frameborder="0" marginheight="0" marginwidth="0" scrolling="no" src="http://rcm-jp.amazon.co.jp/e/cm?lt1=_blank&bc1=000000&IS2=1&bg1=FFFFFF&fc1=000000&lc1=0000FF&t=eternalmistbl-22&o=9&p=8&l=as1&m=amazon&f=ifr&ref=tf_til&asins=4798128279" style="height: 240px; width: 120px;"></iframe>
<iframe frameborder="0" marginheight="0" marginwidth="0" scrolling="no" src="http://rcm-jp.amazon.co.jp/e/cm?t=eternalmistbl-22&o=9&p=8&l=as1&asins=B00CBPFN4U&ref=qf_sp_asin_til&fc1=000000&IS2=1&lt1=_blank&m=amazon&lc1=0000FF&bc1=000000&bg1=FFFFFF&f=ifr" style="height: 240px; width: 120px;"></iframe>Anonymoushttp://www.blogger.com/profile/13193723975557634690noreply@blogger.com0tag:blogger.com,1999:blog-8402929135737734692.post-83996250608838440642012-11-14T21:07:00.004+09:002012-11-14T23:11:10.111+09:00【iPhone】iPhoneでデバッグ時にだけ走るコード【デバッグ】今回はiPhoneアプリのお話。(Javaが打ちたい。。。ブログ書く時間ない。。。)<br />
<div>
<br /></div>
<div>
取りあえず私のやらかしたお話・・・</div>
<div>
iPhoneアプリのデバッグコード有効のままリリースしちゃった☆</div>
<div>
<br /></div>
<div>
こんなミスを二度と繰り返さない様に、デバッグの時だけ有効になる</div>
<div>
コードの書き方を残しておきます。</div>
<div>
<br /></div>
<div>
#define DEBUG 1</div>
<div>
とか書いて</div>
<div>
if(DEBUG){〜〜}</div>
<div>
とか書いていたのですが、この"DEBUG"を書き間違えるというミスを今回侵しました。</div>
<div>
なので、ビルドコンフィギュレーション(BuildConfiguration)によって自動で</div>
<div>
読み込む部分を変える様にしてみます。</div>
<div>
<br /></div>
<div>
Xcode左側のファイル一覧からProjectを選択</div>
<div>
Project->BuildSettings->Apple LLVM compiler 4.1 - Preprocessing</div>
<div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-PUMbYRDf2_o/UKOmbdM4XeI/AAAAAAAABxU/QvY-GRFnyHc/s1600/%E7%94%BB%E9%9D%A21.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" src="http://4.bp.blogspot.com/-PUMbYRDf2_o/UKOmbdM4XeI/AAAAAAAABxU/QvY-GRFnyHc/s1600/%E7%94%BB%E9%9D%A21.png" height="159" width="200" /></a></div>
<br /></div>
<div>
<br /></div>
<div>
<br /></div>
<div>
<br /></div>
<div>
<br /></div>
<div>
<br /></div>
<div>
<br /></div>
<div>
<br /></div>
<div>
<br /></div>
<div>
夫々で対応したコンフィグに対する定数を入れて行きます。</div>
<div>
自分はデバッグ環境の時のみ1になるようにしております。</div>
<div>
これで、#define定義した時と同じ動きをする模様。</div>
<div>
しかも、リリースとかデバッグとかアドホックとかのビルド環境によって値を変えられます!</div>
<div>
<br /></div>
<div>
後はコード内で</div>
<div>
if(DEBUG){</div>
<div>
//デバッグ時にのみ走らせたいコード</div>
<div>
}else{</div>
<div>
//本番時にのみ走らせたいコード</div>
<div>
}</div>
<div>
という書き方をすればオーケー。</div>
<div>
<br /></div>
<div>
なんか、Xcodeのバージョンによっては最初からDEBUG=1が</div>
<div>
設定されている事もあるようです。</div>
<div>
<br /></div>
<div>
序でに、こちらのサイトさんでは、デバッグ構成時にだけ走るLogの書き方が載っておりました。</div>
<div>
http://goo.gl/OFDqY</div>
<div>
<br /></div>
<div>
<br /></div>
<div>
最近Rubyのお勉強始めました。</div>
Anonymoushttp://www.blogger.com/profile/13193723975557634690noreply@blogger.com0