Archive for 프로그래밍

[swift2] #available

 

if #available (iOS 9, OSX 10.10, watchOS 1, *){

// iOS9용 API 구문…

}else{

}

[iOS9]

간만에 UIWebView 를 써보려는데 요청해도 웹 내용이 안나와서 삽질중에..

ATS!

아! 그때 물어보셨던게 이거였구나…. 느끼고..

일단 자세한건 나중에… info.plist 에

<key>NSAppTransportSecurity</key>
<dict>
<key>NSExceptionDomains</key>
<dict>
<key>testdomain.com</key>
<dict>
<key>NSIncludesSubdomains</key>
<true/>
<key>NSExceptionAllowsInsecureHTTPLoads</key>
<true/>
<key>NSExceptionRequiresForwardSecrecy</key>
<true/>
<key>NSExceptionMinimumTLSVersion</key>
<string>TLSv1.2</string>
<key>NSThirdPartyExceptionAllowsInsecureHTTPLoads</key>
<false/>
<key>NSThirdPartyExceptionRequiresForwardSecrecy</key>
<true/>
<key>NSThirdPartyExceptionMinimumTLSVersion</key>
<string>TLSv1.2</string>
<key>NSRequiresCertificateTransparency</key>
<false/>
</dict>
</dict>
</dict>

뭐 이런식….

testdomain.com 에… 본인의 도메인 넣으면 끝!

똭!

[Swift2/Xcode7] func performOperation 구현할 때…

func performOperation(operation:Double->Double) {

        ifoperandStack.count >= 1 {

            displayValue = operation(operandStack.removeLast())

            enter()

        }

    }

스탠포드 대학의 swift 강좌를 보면서 다시 정리 하던 중에,

performOperation 메소드를 구현해야 하는 곳이 있었다.

강좌는 잘 진행 되던데… Swift2 / Xcode7 에서는

“Compiler error: Method with Objective-C selector conflicts with previous declaration with the same Objective-C selector”

에러가 발생했다.

헐… 당연 구글링을 하였으며, 거기에 답이 있었다.

http://stackoverflow.com/questions/29457720/compiler-error-method-with-objective-c-selector-conflicts-with-previous-declara

여기를 보면, 마지막에 명쾌한 답이 있다. 요약해 보자면 메소드 위에

@nonobjc

넣어 주면 된다. 끝… 이제 삽질의 답을 찾았으니, 강좌 계속 듣자.. ㅋㅋ 또 다른 삽질을 위하여…

[Unity5] 아이폰/안드로이드 기기올려보기 「簡単な2Dゲーム」 “2번째”

http://www.tegine.com/wordpress/?p=465

이글에 이어서 쓰는 내용입니다. (上のリンクの追加内容)

여기서 우선 미사일이 나오지 않았던 문제는…(弾丸…画像が黒画像は。。。)

스크린샷 2016-01-12 오전 1.27.44

유니티에서 안드로이드 기기 연결후 build & run 할때 셋팅 하는 부분의 Other Settings -> Preload Shaders 에 체크 표시가 꺼져 있는것을 위의 그림처럼 Check 해주면 해결된다. (이걸 몰랐으… ㅜ)

(build & runの設定する部分でOther Settings -> Preload Shaders のチェック→解決!なるほど〜〜

설정해 주면, 안드로이드 스튜디오나 이클립스 열것 없이 Unity5 가 바로 USB에 연결되어 있는 안드로이드 기기에 바로 올려준다.” (設定くれれば、Androidのスタジオや、Eclipseを 実行なくUnity5がすぐUSBに接続されているAndroid端末に直接上げてくれる。)

이 부분은 수정이 필요한게 조건이 붙는 것이다. C# 스크립트 코드에 에러가 없어야 바로 기기에 올라간다. 에러 시에는 apk 만들 경로를 물어 본다. (これは。。。C#スクリプトコードのエーラが無い場合。。。)

게임을 안드로이드 기기에서 Portrait 로 고정하고 싶은 경우에는 우측 설정 부분에서

스크린샷 2016-01-12 오전 1.27.17

이부분의 체크들을 해제해 주면 된다.

 

그리고 기초 과정 및 2D 게임 만들기에는 없었던 내용으로, 기기에 올라가면 키보드가 아니라 터치를 인식해서 Player 를 이동시켜야 하는데 그 부분 소스를 공개해 보겠다. 물론 손이 아닌 발로 짰기 때문에 정리는 필요하지만, 당장 필요한 분들은 이용해 주시기 바랍니당. ㅋㅋㅋ (나름 삽질의 결과 입니다. ㅠㅠ) 미세한 조정이 필요하긴 하지만 이동은 되더라고요…

(講義は後の検索を介して実装したコードです。)

Player.cs 에서 MoveControl() 메소드 부분을

void MoveControl ()
    {
        float horizontal = 0.0f;     //Used to store the horizontal move direction.
        float moveX;

        //****

        #if UNITY_EDITOR || UNITY_EDITOR_64 || UNITY_EDITOR_OSX

            horizontal = Input.GetAxis(Horizontal);

        #else

        if (Input.touchCount > 0 && Input.GetTouch(0).phase == TouchPhase.Moved) {
        // Get movement of the finger since last frame
        Vector2 touchDeltaPosition = Input.GetTouch(0).deltaPosition;
            if (touchDeltaPosition.x > gameObject.transform.position.x){
                horizontal = 1f;
            } else if(touchDeltaPosition.x < gameObject.transform.position.x) {
                horizontal = -1f;
            } else {
        horizontal = 0;
            }
        }

        #endif

        moveX = moveSpeed * Time.deltaTime * horizontal; // 프레임   리

        transform.Translate (moveX, 0, 0); // Z

        Vector3 viewPos = Camera.main.WorldToViewportPoint (transform.position);

        viewPos.x = Mathf.Clamp01 (viewPos.x);

        Vector3 worldPos = Camera.main.ViewportToWorldPoint (viewPos);

        transform.position = worldPos;

    }

이상입니다. ㅎㅎㅎ 잠 자야 겠어용. ㅋ

(ここからです。。。おやすみなさい。。。)

[Unity5] 아이폰/안드로이드 기기올려보기 「簡単な2Dゲーム」

Unity5에서 간단한 2D 슈팅게임을 따라서 만들어 보고, 맥용 앱으로 만들어 보았다.

Unity5で簡単2Dシューティングゲームをこのように作ってみて、Mac用のアプリで作ってみた。

내친김에 걍 빌드만 다시 올리면 되지… 하고 아이폰용을 올려보았다.

ついでにiPhone用でビルドした。

개발자 등록되어 있다면 (기기에 본인의 프로젝트를 올릴수 있다면) Xcode에서 프로젝트 불러온 뒤 빌드 하면, 아이폰 기기에서 돌아가는 것은 확인.

開発者登録されている場合は(機器の本人のプロジェクトを上げている場合)Xcodeでプロジェクト呼んで来た後、ビルドすると、iPhoneの機器で帰ることを確認。

안드로이드는, Bundle Identifier  를 설정해 달라고 한다. (Unity5 내부에서… 참고로 본인은 Unity 5.3.1f1 을 맥프레 2015에서 사용중)

Androidは、Bundle Identifierを設定することが必要になります。

(실은 빌드 올리는 중에 SDK 위치 물어보는데… 이건 뭐지? 하고 걍 꺼버린건 안자랑.. ㅜㅜ)

(実はビルド上げる中SDKの場所聞くけど…これは何?してそのまま取り出してしまったのなら…ㅜㅜ)

구글 검색해서

Google検索して

http://answers.unity3d.com/questions/162141/android-bundle-identifier-has-not-been-setup.html

요기를 발견.

このサイトを発見した。

설정해 주면, 안드로이드 스튜디오나 이클립스 열것 없이 Unity5 가 바로 USB에 연결되어 있는 안드로이드 기기에 바로 올려준다.

設定くれれば、Androidのスタジオや、Eclipseを 実行なくUnity5がすぐUSBに接続されているAndroid端末に直接上げてくれる。

우어….

これ。。ちょう〜いいな。。。

근데 슈팅게임인데 bullet 아니.. 걍 총알… 이미지가 검정 이미지로 대체되어 나온다. 아오… 이건 뭐지?

ところでシューティングゲームなのにbullet。。。そのまま弾丸…画像が黒画像に置き換えられてくる。なに〜これ?

android-bullet-issue

 

좀 더 알아봐야 겠다.

그리고 한 가지 더,,,,

そして、もう一つ,,,,

 

Unity5.3.1f1 64bit (맥용) 에서,

Unity5.3.1f1 64bit(Mac用)で、

Scene 전환할떄, 기존의  Application.LoadLevel (Game);   에서 LoadLevel에 중간삭선이 좌악 가져 있는 것을 확인했다.

Sceneの切り替え時に。。。既存のApplication.LoadLevel( “Game”);でLoadLevelが廃止??

구글링 해보니, http://answers.unity3d.com/questions/1113197/applicationloadlevel-obsolete-but-scenemanagerload.html

요기를 발견하였다.

 

グーグリングてみると、http://answers.unity3d.com/questions/1113197/applicationloadlevel-obsolete-but-scenemanagerload.html

発見した。

 

Application.LoadLevel is giving me crashes under Unity 5.3.1f1 (64-bit) so I suggest we all move to using the using UnityEngine.SceneManagement a.s.a.p.

이것을 보자면 나랑 같은 이슈를 겪은 사람이 있나보다. 빨리 이 문제에 대한 패치가 나왔으면 좋겠다.

아니면, 내가 잘 못 이용하고 있는 것인가? 하아…..

これ見ると私と同じ問題を経験した人がいるかよりも。早くこの問題に対するパッチが出てきたら良いだろう。

それとも、私にはよくない利用しているのだろうか?はぁ…..

 

Thanks for ibatstudio…

http://www.ibatstudio.com/unity5/

http://www.ibatstudio.com/u2dshoot/

 

=================

 

추가 내용

追加内容

씬 바뀐다… 얏호~~~

シーン変わる…やった。。

(왼쪽) 0. Canvas 밑의 Button 선택

(左)0. Canvasの下のButtonを選択

(오른쪽에서) 1. 스크립트를 추가 (여기서는 LogoManager.cs)를 드래그 해서 추가하였음.

(右から)1.スクリプトを追加(ここでLogoManager.cs)をドラッグして追加した。

2. 스크립트를 선택해서, OnClick 부분으로 Drag

2.スクリプトを選択して、OnClick部分的にDrag

3. 2까지 하면, BtnStart(버튼명) 이 입력됨. 이때 옆의 메소드 선택에서 구현한 씬 변경 메소드를 선택하면됨. 여기서는 ChangeToScene() 으로 하였음.

3.2まで すると、BtnStart(ボタン名)が入力される。この時、横のメソッドの選択で実装したシーンの変更メソッドを選択すれば良い。ここでは、ChangeToScene()にした

스크린샷 2016-01-08 오전 2.30.35

 

테스트 결과 Application.LoadLevel (Deprecated 예정) 이랑, 새로운 SceneManager,LoadScene 기법 모두 작동 되는 것 확인함.

テスト結果Application.LoadLevel(Deprecated予定)やら、新しいSceneManager、LoadSceneテクニックの両方で動作されることを確認する。

 

이상… 이제 잠을 자도 되겠군. ㅋㅋㅋ

以上…今寝てもされます。ふふふ。。。

 

 

[내손의서당2] 1년만에 업데이트 한 내손의서당2

 

스크린샷 2015-12-27 오전 6.43.28

1. 일단, KeyStore 파일은 잘 관리 해야겠다.
– 이클립스에 적용하려고 만든 keyStore도 일단 Android Studio 에서도 어찌보면(?) 당연하게 적용됨.

2. 단 APK 자체 버젼코드와 버젼이름(versionCode와 versionName)이 문제가 되는데 이클립스에서는 AndroidManifest.xml에서 관리 한 것을,
Android Studio에서는 app\build.gradle 에서 관리된다는 사실.

3. 2의 문제로 한 3시간 30분 정도 삽질 한 것은 안자랑… ㅜㅜ

4. 언제 구글 플레이 스토어에 올라 올지 모르겠으나, 일단 올렸으니…
자자

5. 개발때는 4.0 버젼과 4.4.2 버젼의 기기에서만 테스트 해보았습니다. – 그래서, 5.0 이상 기기에서 이상 동작시에는 알려 주시면 버그수정 하겠습니다. 혹은 5.0 이상 기기 대여 및 저렴이 구입도 염두에 있습니다.

6. 음.. 음… 화면 밑에 음… 음… 광고… 는 귀엽게 봐주세영… ㅋㅋ [가끔은 실수로 눌러 주시는 것도.. ] 에험.. 켁…

아.. 아닙니다. ㅋ

 

Android APK Version control file

eclipse -> AndroidManifest.xml

Android Studio->App\build.gradle

Don’t forget plz….

I finish to upload my app into google play store!!! ^^*

addr : https://play.google.com/store/apps/details?id=com.tegine.chunjabasic

version 2.0 [But, Use Android 4.4 or higher version Only]

I develop my app in android version 4.0 and 4.4.2 …

So, My app may not work properly in Android version 5.0 or higher.

[iOS8.3] Disappear UISlider???? bug, I found this…

// for ios8.3 [forbid disappear slider]

    [[UISliderappearance] setMinimumTrackTintColor:[UIColorcolorWithRed:0green:0blue:1alpha:1.0f]];

    [[UISliderappearance] setMaximumTrackTintColor:[UIColorcolorWithRed:0green:0blue:1alpha:1.0f]];

[자작도구]SQLite 용 파일을 공개해 봅니다. [한국 주식시장 흉내 데이터]

짧지 않은 기간동안 삽질한 결과물을 그저 공유해 봅니다.

한국 코스피 코스닥 주식시장을 흉내내본 DB 파일입니다.

https://github.com/darkhani/myhandStockDB

스크린샷 2015-05-15 오전 1.56.05

 

아! 압축부터 푸셔야 합니다. unzip plz….

개인적으로는 모바일용으로 나왔으면 하는 게임이 있어 이렇게 적어 봅니다.

모티브는

http://chartgame.com/play.cgi?bfduc9

제가 몰라서 그렇지 아마 이미 출시 되어 있을수도 있겠지요…

만약 사용자가 자산이 없는 경우에는

아이폰 게임(https://itunes.apple.com/kr/app/adventure-capitalist!/id927006017?mt=8)

이것처럼 알바 개념을 넣어서 돈 모이면, 주식에 투자 하는… 뭐 그런 게임 기획이다.

앱내 구입 기능으로 좀 뭔가 될듯 한데… 차트 분석기 설명도 넣고.. 음…

https://github.com/darkhani/myhandStockDB

 

이것으로 나마 상상의 나래를 펼쳐 봅니다.

 

[OpenSource]내손의서당-안드로이드-를 Github에 공개 하였습니다.

스크린샷 2015-05-13 오전 1.31.54

 

[프로젝트 다운로드 github는 여기]

안녕하세요?

대한민국 학생들에게 프로그래밍 교육 하는것에 전적으로 찬성표를 던지는 한인택입니다.

프로그래밍 배웠다고 해서 모두모두 개발자가 되지는 않는다고 생각합니다만,

뭔가 생각을 정리하고, 문제 해결하는데 있어서 접근법에 대해서는 나름 체계적으로 배울수 있지 않을까? 하는 생각이 듭니다.

다만, 내가 개발 해봐서 아는데… 하는 갑질은 걱정됩니다. ^^ 하하.

 

이번에 공개한 프로젝트는 안드로이드 개발을 공부하면서 연습삼아 만들어본 작품입니다.

물론 구글플레이에도 올려 둔 것 이고요.

[앱 다운로드는 여기]

이 프로젝트에서 뭔가 쓸만한 내용이 있을지 모르겠지만,

“오호 괜찬은데?” 라던가… “아! 대박.. 이건 아니지.. ” … 라든가 하는

안목을 키우는 면에서는 좋은 교보재가 될 수 있다고 생각합니다.

완전 고수님들은 말고, 초보~ 1,2년차 분들에게 추천 드립니다. ㅋㅋㅋㅋㅋㅋㅋㅋㅋ

아참 밑의 광고는 눌…… 씁… 강제는 아닙니다. ㅋㅋㅋ

[ios-xcode] 삽질할 뻔 한것을 기록합니다.

문제

objc_msgSend()报错Too many arguments to function call ,expected 0,have3

해결책

Xcode에서 프로젝트 최 상위를 누른다음에…

Build Setting–> Apple LLVM 6.0 – Preprocessing–> Enable Strict Checking of objc_msgSend Calls  改为 NO 로 설정

http://blog.csdn.net/u014351782/article/details/41347479 -> 谢谢。