オープンデータとプログラミング

iOS

3Dプリンタアプリ MakerBot モバイル 2.1(iOS ・Android )のここがすごい!

screenshot_makerbot2

3Dプリンタで有名な MakerBot社からiOS ・Android 用の3Dプリンタアプリ「MakerBot Mobile 2.1」がリリースされましたね。

何ができるかというと、スマホから3Dプリンタの操作が全てできてしまうこと。

(1)ユーザの3Dプリンタ用データをスマホで管理できるMakerBotクラウドライブラリ

  http://www.makerbot.com/blog/2014/04/04/makerbot-desktop-best-place-keep-3d-models/

(2)数十万もの3Dプリンタ用データをダウンロード可能

  http://www.thingiverse.com/

(3)スマホから監視、一時停止、キャンセルなどの操作ができる

(4)3Dプリンタからの通知を受け取る

などなど。ほとんどの操作がスマホできてしまうようですね。

お金に余裕があれば1台欲しいですね。

ついにMSがWindowに iOS アプリを移植できるツールを発表!

http://9to5mac.com/2015/04/29/windows-10-ios-apps/

マイクロソフトは、「Build conference 2015」(2015年4月29日)でが彼らの iOS を移植する開発者向けのツール(恐らくVisual Studioのアップデート)をリリースすると発表しましたね。
このツールを使えば、Windows(デスクトップ)と Windows Phoneに両方で実行可能な「ユニバーサル Windows アプリ」としてリリースすることが可能になります。

開発者は、Visual Studioに、既存の Objective-C のソースコードをインポートすれば、Windows 10で動作するように変換することができてしまうとか。

アプリ(応用ソフト)が少ないOS、ハードが市場から淘汰されることは、過去のコンピュータの歴史を振り返ってみても明らかです。

モバイル市場で大きく後れをとったマイクロソフトがiOSやAndroidにキャッチアップするためには
この作戦しかなかったのでしょう。

2014年11月に「Visual Studio Community」の無償提供をはじめたのも、この戦略の布石だったと思えば納得です。

思い切った作戦に出たマイクロソフト、今後の展開に注目したいですね。

Xcode|Swift|@IBOutletのビックリマーク(!)の意味は!?

Xcode

こんにちは。

ストーリーボードで、コントロールと紐付けをしてあげると以下のようなコードが自動的に挿入されます。

変数の最後(行末)に感嘆符(!)が付いていますが、これはいったい何者でしょうか?

@IBOutlet var yourAge:UITextField! 

これは、yourAgeOptional型だということを意味しています。

つまり、yourAgeは、『空(nil)を許容しますよ』ということです。

もう少し詳しく知りたい方は、Optional型、アンラップ(unwrap)などのキーワードで検索してみてくださいね。

Xcode:didReceiveMemoryWarning() メソッドとは?

Xcode

didReceiveMemoryWarning() メソッドは、警告を受け取ったときに呼ばれるメソッドです。

画像ファイルなど、使用している大きなメモリ領域を解放します。

メモリ警告を無視するとアプリが異常終了する場合があります。

iOSシミュレーターにも、メモリ警告のシミュレート機能が備わっているので、テスト時に確認しておくと安心ですね。

import UIKit

class ViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }


}

didReceiveMemoryWarning() メソッドについては、以下の本に詳しく書かれています。

より詳しく勉強してみたい方は読んでみてはいかがでしょうか。

Xcode:nibファイルって何よ?

Xcode

nibファイルは『ニブファイル』と読みます。
iOSアプリの開発がはじめての方が、理解しにくいnibファイルについて解説します。

概要

nibファイルとは、簡単にいってしまうとボタンなどのUI要素の描画情報が記述されたファイルのことです。

iOSアプリの開発作業は、「プログラムコードの記述」と「UIの作成」の二つに大別できます。通常は「UIの作成」はInterface Builder(IB)※を使用してUIを作成する作業を行います。このIBで作成されたUI要素の描画情報がnibファイルに格納されます。

※以前はXcodeとは独立したアプリでしたが、現在ではXCodeに統合されています

名前の由来

拡張子は.nibです。この拡張子が呼び名の由来です。
nibはNeXTStep Interface Builderの頭文字からとったものです。

ストーリーボードファイルとの関係

UI要素の描画情報はストーリーボードファイル(Storybordファイル)に格納されているのでは?と思うかもしれません。実は、ストーリーボードファイル(Storybordファイル)の正体は、複数のnibファイルを一つにまとめたものです。

ViewControllerとの関係

アプリ(ViewController)が起動されるときに、nibファイルからUI要素の描画情報が読み込まれ、インスタンス化され、起動直後の画面が描画されます。

ViewController.swiftviewDidLoad()メソッドには、

Do any additional setup after loading the view, typically from a nib.

とコメントが記載されています。

「ボタンなどのUI要素がnibファイルからロードされ、インスタンス化されたらあとは
 あなたが設定等を自由に記述してくださいね」、

ということです。

import UIKit

class ViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }


}

viewDidLoad()の中でプログラムを記述することによって、UI要素の色を変えたり、ボタンを追加したりすることができるわけですね。

nibファイルについては、以下の本に詳しく書かれています。

より詳しく勉強してみたい方は読んでみてはいかがでしょうか。

XCODE:ユーティリティエリアとは?

xcodeユーティリティエリア

xcodeの右側の部分です。

上の画像の右側の赤い線で囲んだ部分です。

ユーティリティエリアは特に臥煙を設計する場合に各種コントロールを表示したり、各コントロールのパラメータが変更できるように設計されています。

ツールバーを選択することにより、各エリアを表示させたり非表示にしたりして、画面の小さなMacでも快適にプログラムを作成できるように配慮されています。

Appleの iOS 8.3 へのアップデートはアプリやゲーム、iFunBoxのデータ管理の自由を奪う!?

http://customstoday.com.pk/apples-ios-8-3-update-ruins-freedom-of-controlling-data-in-our-installed-apps-games-ifunbox/

Appleの最近リリースのiOS 8.3アップデートは、iFunBox、IEXPLORER、iToolsなどのアプリが

端末上のアプリのディレクトリにアクセスさせないようにしてしまう。

いくつかのアプリは、一時的な修正で対応したがが、すべてが再び働いているまでには少し時間がかかるだろう。

彼らは共有が有効になってiTunesのファイルを持っていない限り、基本的に、これらのユーティリティがiOSの8.3のアプリにアクセスすることを防ぐ。

これにより、ユーザーは手動でファイルを介して転送したり、バックアップしたファイルの情報を保存できないことになる。

iFunBoxは、公式Facebookページ上でこの問題について説明している。

「iOS 8.3は、私たちのインストールアプリとゲーム内のデータを制御する私達の自由を台無しにしている

アップルは、iOS 8.3以降、インストールアプリの全体サンドボックスディレクトリへのアクセスを遮断した。

以前は唯一の書き込みが実行可能ディレクトリ内のブロックである。

今、私たちは完全に我々自身のデバイスのアプリの制御を失った。私たちは状況を調査している。

解決策があるとする前に、デバイスがジェイルブレイクされていない場合、iFunboxは、

任意のアプリのデータディレクトリを開くには失敗する。」

続きを読む…

原文

LONDON: Apple’s recently released iOS 8.3 update prevents desktop file explorers like iFunBox, iExplorer, iTools, and others from accessing the app directories on your devices. A few have updated with temporary fixes, but it might take a little while before everything’s working again. Essentially, iOS 8.3 prevents these utilities from accessing apps unless they have iTunes File Sharing enabled. This means users can’t manually transfer over files or back up save file information. iFunBox explains the problem on their Facebook page: “OS 8.3 ruined our freedom of controlling data in our installed Apps and Games. Apple blocked access of the entire sandbox directory of every installed App since iOS 8.3. Previously only writing is block in executable directory.
Read more…

iOS 8.3で人気のファイル管理アプリ(iFunBox、iTools、iExplorer、iBackupBot、PhoneViewなど)を使えなくなった件

http://www.iclarified.com/48418/ios-83-blocks-file-manager-software-from-accessing-app-data

アップルは、iPhone、iPadとiPod touchでアプリ・ディレクトリにアクセスするアプリの能力をブロックするリリースiOS 8.3で、変化をもたらしました。

iFunBox、iTools、iExplorer、iBackupBotとPhoneViewのような人気のアプリケーションは、以前、インストールされたアプリのサンドボックスディレクトリにアクセスすることができました。

これは、ファイルを速く得るか、編集することに役立っていた。

iFunBoxは、フェイスブックに状況に関して最近最新版を郵送しました:

iOS 8.3は、我々の装置されたアプリケーションと大会でデータをコントロールすることの我々の自由を滅ぼしました。

アップルは、iOS 8.3からあらゆるインストールされたアプリの全てのサンドボックスディレクトリのアクセスを妨害した。
以前、文書だけは実行可能なディレクトリのブロックです。

その時、我々は我々自身の装置でアプリケーションの制御を全く失いました。

我々は、状況を調査しています。 解決がある前に、装置がjailbrokenでないならば、iFunboxはどんなアプリのデータ・ディレクトリでも開くことができません。

問題を発見してから、開発者は、どのように、アップルが彼らのアクセスを妨害しているか、そして、iFunboxが部分的な回避方法を見つけたか調査していました。

我々は、サンドボックスアクセス背中**forにto**をとても決意しているそれらのアプリケーションを持ってくるために、ちょうど解決を見つけ出しました。

現在、サンドボックスアクセスは「UIFileSharingEnabled」鍵を彼らのinfo.plist[iPhoneOSKeys.html]で本当のものに設定しておいているアプリケーションに利用できるだけです、そして、アクセスは制限されますために/文書ディレクトリだけ。

それで、漫画の読本とビデオ・プレーヤーのようなアプリケーションは、USBケーブルによって移っている速い内容から利益を与えられ続けます。

IAPによるゲームは、より少ない攻撃面があることによって、よりよく保護されています。 完全に困難だったすぐ後、我々は問題に関して最新版をリリースします。

この部分的な回避方法を使用するiFunbox v2.95は、リリースされました。 許可される『iTunesファイル共有』によるすべてのアプリは、閲覧しているサンドボックスのために開けられることができます。 他のアプリにアクセスするために、あなたはjailbrokenである必要があります。

Macroplant(iExplorerの開発者)は、それがまだiOS 8.3の変化を調査しているが、バックアップ部を通してアプリ・データにアクセスする当面の解決案を提供する点に注意します。

我々は8.3がアップデートするiOSがどのようにアプリケーション・ディレクトリへの接近を妨害したかについて、現在調査しています、そして、我々はそれのまわりで方法を調べています。

すべてのiDevice transferユーティリティはこの正確な同じ妨害されたアクセスをiOS 8.3に感じているようであるので、それはiExplorerのただのバグまたはiBrowseでありません。 アップルは、アプリがiOSでアクセスされることができる方法で、何かを確かに変えました。

いずれにせよ、回避方法として、あなたのiPhoneまたはiPadからあなたのコンピュータへアプリ・ファイルを移すために、iTunesがバックアップ・エクスプローラ部のアプリとクリックの文書と図書館サブフォルダを支える時から、あなたはその代わりにバックアップ地域に行くことができます。 それから、ちょっとアプリをフォルダ(あらゆるアプリは逆の領域フォーマット(com.developer.AppName)の彼らの束IDと発表されます)のリストで発見してください、そして、あなたは単にドラッグすることができて/どんなファイルでもコンピュータまたは右クリックに落とすことができて、フォルダに輸出を選ぶことができます。

 

続きを読む…

English

Apple has made a change with the release iOS 8.3 that blocks the ability of software applications to access app directories on the iPhone, iPad, and iPod touch. Popular applications such as iFunBox, iTools, iExplorer, iBackupBot and PhoneView were previously able to access the sandbox directory of installed applications. This was useful for quickly obtaining or editing files. iFunBox recently posted an update on the situation to Facebook: iOS 8.3 ruined our freedom of controlling data in our installed Apps and Games. Apple blocked access of the entire sandbox directory of every installed App since iOS 8.3. Previously only writing is block in executable directory. Now we totally lost the control of Apps on our own devices. We are investigating the situation.
Read more…