2015年2月28日土曜日

[Unity]uGUIのButtonを押したあとハイライトが残ってしまう問題

Button(Script)のNavigarion -> Automatic -> Noneにする。


このNavigarionという機能はボタンなどのUIを使用した時にどういった動作するか決めるものらしい。

2015年2月26日木曜日

[AndroidSDK]Dependency Project:application:unspecified on project app resolves to an APK archive which is not supported as a compilation dependency.

AndroidStudioで以下のエラーが発生した
Warning:
Dependency Project:application:unspecified on project app resolves to an APK archive which is not supported as a compilation dependency. 
File:Users/UserName/AndroidStudioProjects/project/application/build/outputs/apk/application-release-unsigned.apk

プロジェクトの依存関係がおかしい、らしく原因は
apply plugin: 'com.android.application'
build.graleで保持しているアプリケーションが2つあったので
1つを
apply plugin: 'com.android.library'
にしてインポートしたところ解消された。

ライブラリにしたモジュールはbuild.graleからapplicationIdを削除する必要がある。

Android Studioでは
プロジェクト -> アプリケーション
                   -> ライブラリ
                   -> モジュール
といった関係でプロジェクト内には3種類のリソースがあるようだ

2015年2月25日水曜日

[AndroidSDK]Android Studio for macでオートインポートが動作しない

macでAuto importは
Control + Option + o
となっているが動作がうまくいっていなかったが
設定が足りなかった。

Android Studio -> Preferences -> Editor ->Auto Import > Insert imports on paste
-> All
に設定、さらに
Add unambigious imports on the fly
にチェックをする必要がある。

stackoverflow
What is the shortcut to Auto import all in Android Studio?
http://stackoverflow.com/questions/16615038/what-is-the-shortcut-to-auto-import-all-in-android-studio

2015年2月19日木曜日

[AndroidSDK]No resource found that matches the given name 'Theme.AppCompat.Light.DarkActionBar'

AndroidSDK+Eclipseでプロジェクトを新規作成時に以下のエラーが発生した
プロジェクトはTarget SDKが4.4 Min SDKが2.2に設定されていた

error: Error retrieving parent for item: No resource found that matches the given name 'Theme.AppCompat.Light.DarkActionBar'.
styles.xml /ProjectName/res/values-v14 line 8 Android AAPT Problem

サポートライブラリが足りてない、
ということでインポートするのだが、やり方がちょっと手間だ
EclipsからFile -> import -> Android - Exsting Android Code in Workspace

"android-sdk\extras\android\support\v7\appcompat"
を選択する

Project -> properties -> Android
を開き
先ほどのインポートしたファイルを選択すると、足りていないファイルがインポートされる

"android-sdk\extras\android\support\v7\"
をインポートすると、v7のライブラリをすべてインポートできる

2015年2月18日水曜日

[AndroidSDK]Gradle DSL method not found: 'compile()'

Android Studioで追加されたBuild.gradleでGithubにあるモジュールをしようと
dependenciesを追加したところ以下のエラーが発生した。
Gradle DSL method not found: 'compile()'

結果からと言うとprojectのbuild.gradleではなくappのbuild.gradleにdependenciesを追加すると良い

stackoverflow
Android gradle build Error:(9, 0) Gradle DSL method not found: 'compile()'.
http://stackoverflow.com/questions/26851230/android-gradle-build-error9-0-gradle-dsl-method-not-found-compile

2015年2月17日火曜日

[iOS]main.mでEXC_BAD_ACCESSエラー

return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
でEXC_BAD_ACCESSが発生した時はデバッグモードのゾンビオブジェクトを見たり
エラー時にログを発生される方法がある。

Zero4Racer PRO Developer's Blog
iOS 開発で、EXC_BAD_ACCESS とさよならするための6つのルール
http://www.zero4racer.com/blog/88

DJやったり、IPhoneアプリ開発やったり、、、
【iPhoneアプリ】EXC_BAD_ACCESSを解決する
http://dj32mitsu.blog.fc2.com/blog-entry-21.html


しかし今回コーディングをしているうちにどうしても解消できないエラーが発生した。
エラー内容はMain.mでのEXC_BAD_ACCESSだが、どうしても解消できない。
コードを1つ1つ検証してみた結果
main.m後に呼び出されるAppDelegate.mで呼び出されるはずの関数をコメントアウトしていた。
というのが原因だった。

間接的な原因はAppDelegateをいろいろと変更しているうちにおかしなクラスになってしまったようだ。
AppDelegateで行う処理はAppDelegateでないとできない処理だけにしてこう。

2015年2月3日火曜日

[iOS]setNavigationBarHiddenで座標frameがずれる

iOS7以降setNavigationBarHiddenを呼び出すとViewControllerのSubViewsが UINavigationbarが消えた分y座標が変更される(-44.0移動する) 自動で変更したくない時は
self.automaticallyAdjustsScrollViewInsets = NO;
を使用する

2015年2月2日月曜日

[iOS]iOS7以降のStatusbar、Navigationbar、Toolbarのメモ

//ProjectAppDelegate.m
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    float version = [[[UIDevice currentDevice] systemVersion] floatValue];
    if (version >= 8.0) {
        //iOS8でtoolbar naigationbarの透過をオフにする
        //iOS7ではsetTranslucentでBOOLを受け付けないのでクラッシュする
        [[UINavigationBar appearance] setTranslucent:NO];
        [[UIToolbar appearance] setTranslucent:NO];
    }
    return YES;
}

//ViewController
- (void)viewWillAppear:(BOOL)animated {
    [super viewWillAppear:animated];
   
    isHidingStatusBar = YES;
    //iOS7 ステータスバーの表示/非表示切り替え
    //navigationBarHidden toolbarHiddenを呼び出した時にも呼ばれる
    [self setNeedsStatusBarAppearanceUpdate];
    //iOS7
    self.navigationController.navigationBarHidden = YES;
    self.navigationController.toolbarHidden = YES;

    [self.navigationController.navigationBar setBarTintColor:[UIColor blackColor]];
    [self.navigationController.navigationBar setTintColor:[UIColor whiteColor]];
    [self.navigationController.navigationBar setTranslucent:YES];
    [self.navigationController setNavigationBarHidden:NO];
    
    [self.navigationController.toolbar setBarTintColor:[UIColor blackColor]];
    [self.navigationController.toolbar setTintColor:[UIColor whiteColor]];
    [self.navigationController.toolbar setTranslucent:YES];
}

- (void)viewWillDisappear:(BOOL)animated
{
    [super viewWillDisappear:animated];
    //[[[UIApplication sharedApplication] keyWindow] tintColor]は変更がない限りデフォルトカラー
    [self.navigationController.navigationBar setBarTintColor:[[[UIApplication sharedApplication] keyWindow] tintColor]];
    [self.navigationController.navigationBar setTintColor:[[[UIApplication sharedApplication] keyWindow] tintColor]];
    
    [self.navigationController.toolbar setBarTintColor:[[[UIApplication sharedApplication] keyWindow] tintColor]];
    [self.navigationController.toolbar setTintColor:[[[UIApplication sharedApplication] keyWindow] tintColor]];
}


//setNeedsStatusBarAppearanceUpdateで呼び出される
- (BOOL)prefersStatusBarHidden {
    //ステータスバーの表示/非表示をBoolで指定
    return isHidingStatusBar;
}

//setNeedsStatusBarAppearanceUpdateで呼び出される
- (UIStatusBarAnimation)preferredStatusBarUpdateAnimation
{
    //アニメーションの設定
    return UIStatusBarAnimationFade;
}