2013年9月13日金曜日

WindowsでiPhone/iPad開発の実施

仕事柄、色々となデバイス、OS上でのいろいろな言語を使った開発を行います。

C#でiPhone/iPad上のアプリを作る場合は、Xamarinを使います。
Windows上のVisual Studio 2012でもiPad上でアプリケーションをデバック実行出来ました。
もちろん、Mac上のXamarin上でC#の開発も出来ました。

XamarinのC#のバージョンは4.0となっており、await/waitが使えたり、Linqが使えたりするので、通信やDBを使う業務アプリケーションの開発が非常にパワフルにできます。

これはすごく便利な環境です。
ちょっとでバック実行を開始するまでの時間が掛かるのが難点ですが、PhoneGap(Cordova)やTitaniumなどに比べるとすこぶるコーディングが楽です。

そしてGUIの機能をフルに使えるので、かっこいいアプリケーションを量産できる。

C#で作られたiOS/MacOSのアプリに興味が有る方は、こちらまで


using System;
using MonoTouch.UIKit;
using System.Drawing;
namespace HelloWorld_App2
{
    public class MyViewController : UIViewController
    {
        UIButton button;
        int numClicks = 0;
        float buttonWidth = 200;
        float buttonHeight = 50;
        public MyViewController()
        {
        }
        public override void ViewDidLoad()
        {
            base.ViewDidLoad();
            View.Frame = UIScreen.MainScreen.Bounds;
            View.BackgroundColor = UIColor.White;
            View.AutoresizingMask = UIViewAutoresizing.FlexibleWidth | UIViewAutoresizing.FlexibleHeight;
            button = UIButton.FromType(UIButtonType.RoundedRect);
            button.Frame = new RectangleF(
                View.Frame.Width / 2 - buttonWidth / 2,
                View.Frame.Height / 2 - buttonHeight / 2,
                buttonWidth,
                buttonHeight);
            button.SetTitle("Click me", UIControlState.Normal);
            button.TouchUpInside += (object sender, EventArgs e) =>
            {
                button.SetTitle(String.Format("clicked {0} times by kiyo744", numClicks++), UIControlState.Normal);
            };
            button.AutoresizingMask = UIViewAutoresizing.FlexibleWidth | UIViewAutoresizing.FlexibleTopMargin |
                UIViewAutoresizing.FlexibleBottomMargin;
            View.AddSubview(button);
        }
    }
}

2013年9月5日木曜日

DELLのPawer Edgeにて「E2111 SBE DIMM4」が発生

Dell OpenManage Server Administratorで見てみると
メモリアレイのDIMM4が状態×(エラー)となっている。

詳細を見てみると

「シングルビット警告のエラーレートを超えました
  シングルビットエラーのエラーレートを超えました」

が発生していました。

補足
  このPower Edge 1900って当時はものすごく効果な
  イメージで購入したのに、自分のノートPCより
  全然スペックが低いのに驚いた。
 
  ノートPC   メモリ16GB
             SSD 960GB+HDD7200rpm 500GB
  サーバ     メモリ 7GB
             HDD 7200rpm  1.5TB

6,7年しか立っていなのに、、、

2013年9月4日水曜日

PhoneGapでのアーカイブ作成時のエラー

アーカイブを作成すると
clang: error: linker command failed with exit code 1 (use -v to see invocation)
が発生しました。

対応は、
http://stackoverflow.com/questions/12621421/phonegap-cordova-build-error-apple-mach-o-linker-error-no-such-file-or-direct
の通り、2.9のバグのようです。

2013年7月20日土曜日

'autorelease' is unavailable: not available in automatic reference counting modeとは

ARCが有効なのに、releaseやautoreleaseを記載したために発生した。
 
例)
  downloadData = [[[NSMutableData alloc]initWithCapacity:1] autorelease];
  downloadFile = [[[BRRequestDownload alloc]initWithDelegate:self] autorelease];
 
  downloadData = [[NSMutableData alloc]initWithCapacity:1];
  downloadFile = [[BRRequestDownload alloc]initWithDelegate:self];
・・・
 [NSMutableData release];
[[BRRequestDownload release];
 
ARCを有効にする場合は、

  downloadData = [[NSMutableData alloc]initWithCapacity:1];
  downloadFile = [[BRRequestDownload alloc]initWithDelegate:self];
・・・
クラス変数の場合は

  downloadData = nil;
   downloadFile = nil;
終わったらInstrumentsで開放を確認する



 
ARCの変更は、
 

SSD960GBにしました。crucial CT960M500SSD1

念願のcrucial CT960M500SSD1を購入し換装しました。
http://www.crucial.com/store/ProductMarketing_m500.aspx


性能は

-----------------------------------------------------------------------
CrystalDiskMark 3.0.1 x64 (C) 2007-2010 hiyohiyo
                           Crystal Dew World : http://crystalmark.info/
-----------------------------------------------------------------------
* MB/s = 1,000,000 byte/s [SATA/300 = 300,000,000 byte/s]
           Sequential Read :   458.027 MB/s
          Sequential Write :   397.238 MB/s
         Random Read 512KB :   402.896 MB/s
        Random Write 512KB :   365.297 MB/s
    Random Read 4KB (QD=1) :    20.402 MB/s [  4980.9 IOPS]
   Random Write 4KB (QD=1) :    53.052 MB/s [ 12952.1 IOPS]
   Random Read 4KB (QD=32) :   324.482 MB/s [ 79219.2 IOPS]
  Random Write 4KB (QD=32) :   274.469 MB/s [ 67009.0 IOPS]
  Test : 1000 MB [C: 38.8% (136.2/351.2 GB)] (x5)
  Date : 2013/07/12 19:26:00
    OS : Windows 7  SP1 [6.1 Build 7601] (x64)



です。

換装手順は、
EaseUS Todo Backup Free5.6
を使用しました。(前回のINTELのSSD 320への換装と同じやり方)

なぜか、このツールで換装すると、MBRが故障するので、回復をかけて上げる必要があります。

それが注意点となります。



iOSでのエラー対応について

No 'assign','tetain', or 'copy' attribute is specified - 'assign' is assumed
Default property attribute 'assign' not appropriate for non-GC object
FTPのロジックを作っています。
進捗率表示やキャンセル機能があるもの。

上記のエラーが発生して困っていました。

ARCの有効・無効を意識して開発しないと行けないんですね。
あとは最終試験では、Leaksを使用した試験も必要ですね。

参考にしたサイト
http://www.crossbridge.biz/enable-arc

2013年7月11日木曜日

メモリを16GBへ増設したので、デスクトップヒープを増やした


http://support.microsoft.com/kb/947246/ja

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\SubSystems]
↓増やした設定内容

%SystemRoot%\system32\csrss.exe
ObjectDirectory=\Windows SharedSection=4096,30720,2048
Windows=On
SubSystemType=Windows
ServerDll=basesrv,1
ServerDll=winsrv:UserServerDllInitialization,3
ServerDll=winsrv:ConServerDllInitialization,2
ServerDll=sxssrv,4
ProfileControl=Off
MaxRequestThreads=16

補足

デスクトップモニタでヒープサイズを確認したようしたらエラーが発生した。。。。

デスクトップヒープモニタ
http://www.microsoft.com/en-us/download/confirmation.aspx?displayLang=en&id=17782
デスクトップヒープモニタの使い方
http://support.microsoft.com/kb/914216/ja
dheapinst - Driver Installation error occured (124)

11:17:34.42>dheapinst.exe -y srv*http://msdl.microsoft.com/download/symbols
  dheapinst - Driver Installation error occured (124)
>NG。

11:18:58.65>set _NT_SYMBOL_PATH=symsrv*symsrv.dll*C:\Symbols*http://msdl.microsoft.com/download/symbols
11:19:34.68>dheapinst
>NG

結局、何度実施してもデスクトップヒープは起動できずに本日は諦めた。orz