Macのはじめの一歩:初心者向けOS Xについて Mac OS Xでのプログラミング:iPhone向けのライティング 「Fn」キーの便利な機能

このトピックでは、公式 SDK を使用して iPhone 用の簡単なアプリケーションを作成する方法を説明します。 入手は簡単です。必要なものは次のとおりです。
1. Intel ベースの Mac (ただし、PowerPC でも動作しますが、少しいじった後)
2.iPhone SDK。 私はベータ 2 で書きます。developer.apple.com に登録すると最新バージョンを入手できます。 Beta 2 は torrent で見つけることができます

ハローハブ

モスクワにあまり負担をかけないようにするために、最も単純なことを行います。アプリケーションは Habr ロゴを表示するだけです。 XCode を開きます ( 32ビットモード) を選択し、新しい Cocoa Touch アプリケーションを作成します。

これを HelloHabr という名前にしてデスクトップに保存しましょう。

プロジェクト作成の達人はすでにそれをやってくれています。 main.m の内容を見てみましょう。
#輸入

Int main(int argc, char *argv)
{
NSAutoreleasePool * プール = [初期化];
//iPhone ではガベージ コレクションを使用できないため、作業を容易にするために自動解放プールを使用します
int retVal = UIApplicationMain(argc, argv, nil, @"HelloHabrAppDelegate");
// アプリケーションを起動するには、この関数を呼び出す必要があります。 @"HelloHabrAppDelegate" - コントロールが転送されるクラス
;
retValを返します。
}

次に、HelloHabrAppDelegate.h を見てみましょう。
#輸入

HelloHabrAppDelegate.m では次のようになります。
#import "HelloHabrAppDelegate.h"
#import "MyView.h"

@implementation HelloHabrAppDelegate
//これらのディレクティブは、コンパイル時に . を介して呼び出すのではなく、ゲッターとセッターを入力することを意味します
合成ウィンドウ。
contentView を合成します。

//UIApplicationから委任された関数
- (void)applicationDidFinishLaunching:(UIApplication *)application (
// メインウィンドウを作成します
self.window = [[ initWithFrame:[bounds]] autorelease];
// contentView を作成する
self.contentView = [[ initWithFrame:[ applicationFrame]] autorelease];
// contentView をメイン ウィンドウに追加して表示されるようにします
;
// メインウィンドウを表示します
;
}

- (void)dealloc (;
;
;
}

小さなハードウェア部分が完了したので、アプリケーションの作成を開始しましょう。 habr ロゴをアプリケーション フォルダーに保存します。 次に、それをフォルダーから XCode ウィンドウ内のプロジェクトの Resources フォルダーにドラッグします。

次に、タイプ「UIImageView *」の新しいフィールド「habrView」を MyView クラスに追加しましょう。 MyView.h は次のようになります。
#輸入

次に、MyView クラスで init および dealloc プロシージャを定義しましょう。
#import "MyView.h"

@implementation MyView
- (id) initWithFrame:(CGRect)frame (if(self = ) (
//背景色 - 黒
];
//habr ロゴの画像を含む新しいオブジェクトを作成します
UIImage *画像 = ;
// ロゴを表示するコンポーネントを作成します
self->habrView = [ initWithFrame:CGRectMake(0, 0, .width, .height)];
;
];

;
//habr ロゴ表示コンポーネントをフォームに追加します
;
}
自分自身を返します。
}

- (無効) dealloc (;
;
}
終わり

全て。 コンパイル、実行して、必要なものを取得します。

そして今度は、怠け者向けのアプリケーションを作成する方法です。 Dashcode では、iPhone および iPod Touch 用の Web アプリケーションを作成できます。 ダッシュコードを開き、テンプレートとして RSS を選択します。 「ページ属性」タブに移動し、ページタイトル:「Harbrahabr RSS」、フィード URL:「feed://habrahabr.ru/rss/main/」を設定します。 次に、「Harbrahabr RSS」タブ (デザイナーが開きます) に移動し、「My RSS Feed」という記述を「Habrahabr RSS Feed」に変更します。

「実行」をクリックして、Habr の RSS リーダーを入手します。

基本的にすべてです。 コメントでのレビュー、要望、提案をお待ちしています

更新:書式を少し調整しました。コードは読みやすくなりましたが、理想からは程遠いです。

私は自宅で MacBook Pro を数か月間使用していましたが、より優れた Mac プログラマーになるのに役立つ良い本やガイドはないものかと考えていました。 おそらく Mac 版の Linux プログラミング入門に相当します。 注記。 私は Mac アプリケーションのプログラミング方法に関するリソースを探しているのではなく、一般的な開発環境として Mac を使用するためのより一般的なガイドを探しています。

背景として、私は日中は Windows プログラマーです。 また、私は何年にもわたって、特に学校で、ソケット プログラミング、グラフィックス、インストール タイプの作成など、Linux と BSD に関する作業をいくつか行ってきました。 家ではJava、Scala、PHPなどをやります。 マックで。

これまで私は Eclipse、QuickSilver、TextMate を使用してきました。 VMWare Fusion、XCode、NetBeans は構成されていますが、使用しません。 DVI KVM スイッチは、実際のキーボード、トラックボール、モニターに接続します。 最近、MacPorts との戦いが終わるまで残って、x86_64 が必要であることに気づきました。 私が遭遇した最大の問題は、PHP のセットアップです。 なぜ MySQL と GD ライブラリが付属していないのかわかりません。 最終的に、それがグーグル検索であることに気づき、ソースから拡張機能を構築しました。 アーキテクチャ全体がどのように機能するかなど、Mac プログラマーになるための基本的なチュートリアルをメモも受け取らなかった、または読んでいなかったような気がします。 Windows プログラマーが Mac OS X 上で十分な生産性を発揮するにはどうすればよいでしょうか?

変化。 開発したいアプリケーションの具体的な種類は、私の意見ではあまり重要ではありません。 先ほど述べた Java、Scala、PHP、あるいは Cocoa、C++ などでも構いません。

私は特定の本、リソース、より効率的な Mac プログラマーになるためのヒント、できれば「XYZ をインストールする」以上のものを探しています。

6 件の回答

ツールなどを再考するよりも、Mac OS X がシステムレベルでどのように動作するかの概要を理解する必要があるようです。 このような場合は、Apple の (基本的な) Mac OS X システム アーキテクチャ ガイドから始めて、次に Mac OS X の入門に進みます。これで、開始するのに十分な概要が得られるはずです。

あなたの質問からは、プログラミングで何をするつもりなのかは明らかではありませんが、Cocoa/OS X 開発を進めることに決めた場合は、Aaron Hillegass による Mac OS X 用の Cocoa プログラミングをお勧めします。

私は約 5 年前に Windows から Mac OS X に移行しましたが、自分も同じ状況に陥ることがよくあります。 Windows では、Mac OS X のように生産性を高めることはできません (可能な限り生産性を高めることができます)。

正直に言うと、Mac OS X と Windows の間には小さな違いがたくさんあります。 このように考える人 (通常はゲーマーと開発者のみ) の最大の理由は、Mac を Windows マシンとして使用しようとしていることにあります。 Ctrl キーではなくコマンド キーを使用する必要があることなどを受け入れることを学ぶ必要があります。

望むものではなく、そうしなければならないから Mac を使っているようです。 慣れてしまえば Windows よりもはるかに優れています。

多くの Windows プログラマーが Mac に来ても、Mac を正しく学ぼうとしないのは、「ずっと Windows を使ってきた」からすべてを知っていると考えて満足してしまうからだと思います。 Spotlight、Expose、「Mac OS X キーボード ショートカット」などを一度発見すると思います。 Windows を使用していたときよりもはるかに生産性が向上していることに気づくでしょう。そして、Windows は使っていて本当に楽しい OS です。

入手できる最高の Mac アプリをいくつかチェックしてください。 「トップ 100 Mac アプリ」を検索することもできます。

また、ある種の Web サーバーを Mac OS X に直接セットアップしようとしていることに気付きました。Web サーバーは付属していますが、MySQL やその他の拡張機能を追加する場合、私は MacPorts の道を選びません。 VMWare Fusion または VirtualBox (オープン ソース) を入手し、仮想マシンでサーバーを実行します。 ずっときれいになりました。 ローカルのバージョン管理を処理する Subversion/trac FreeBSD VM があります。

現在 Xcode を使用していない場合は、ぜひ学習して、できるだけ早く使用する必要があることを付け加えておきます。 これは Visual Studio よりもはるかに使いやすい IDE であり、作業がずっと楽になります。

おそらく Windows のヘルプ サイトに何年も費やしてきたでしょうが、Mac でもある程度同じことをしなければならないことを忘れないでください。 Mac の使用中に問題が発生した場合は、ServerFault について質問してください。 私たちは皆、喜んでお手伝いいたします。

私もあなたと同じ状況です。 私は開発に Windows を使用しており、約 1 年前 (オフィスに引っ越したとき) に自宅用に MBP を購入しました。 MBP で実際の作業を行うのに非常に苦労しています。 なんとか2画面のWindows環境にも慣れてきました。 しかし、それで立ち止まらないでください。 入手することをお勧めするプログラムは次のとおりです。

  • 転送 - 優れた FTP クライアント
  • MAMP - ほぼそのままの状態で Web サーバーを実行します。 基礎的な開発に適しています。
  • Quicksilver - アプリケーションをすばやく見つけるのに役立ちます。
  • ジェスチャを伴うスペース (ジェスチャをカスタマイズして、ある画面から別の画面に移動します。私は 3 本の指を使いますが、滑りやすいです)。
  • Entourage - 電子メール用
  • ターミナル - SSH 用 (パテ代替) (付属)
  • Dreamweaver/BBedit/Textmate (どれもかなりまともですが、私は IDE のファンではなく、Windows の editplus 愛好家です)。

あなたの質問は COCOA の学習に関するものではなく、MAC のより効率的な使用に関するものだと思います。 上記のツールが役に立ちます。

残念ながら、あなたの質問はあなたが実際に何を望んでいるのかについてはあまり明確ではありません。

クロスプラットフォームで何かを書きたい場合は、テスト用の仮想マシンがあると非常に便利です。 Linux では常に VirtualBox を使用してきましたが、OS X でも同様に動作します。

言葉

覚えておいてください。「初めに言葉がありました...」 まさにそれです。 この一連の記事では、以下の環境でどのようにプログラミングできるかを理解し、説明していきます。 Mac OS X何をする価値があり、何をする価値がないのか。 では、なぜこれが必要なのでしょうか? 結局のところ、他にもたくさんのシステムがあります。

引数...

各オペレーティング システムには独自の引数があります。 そして多くの場合、いずれかのシステムのプログラミングは選択や好みの問題ではなく、技術仕様の一部です。 この場合、(合理的に)議論することは非常に困難です。 そしておそらく唯一 Mac OS X(そしてコンピュータ全般 りんご)私たちは、職場をめぐるこの紛争において、少なくとも何らかの形で自分たちを守ることができます。

何でもプログラムしてみましょう。 たとえば、ウェブの場合。 この場合、ほとんどの場合、私たちは Apache/MySQL/P(HP/Perl/Python)。 ここにいる人には何の問題もありません OS。 ただし、すべてがブラウザーで視覚的にどのように見えるかを確認する必要があります。 そして、(合法的な)起動が不可能であるため、すべてのシステムが機能不全に陥ります Mac OS Xサイトがどのように機能するかを確認するには サファリ。 でも逆に、お好きなだけどうぞ。 3 つのバージョンがあります。

そうですね、たとえ特別に何かを開発する必要があるとしても、 Linux/Windows。 この場合、適切なプラットフォーム、適切なプラットフォームを選択する必要があるようです。 OS。 でも待ってください、なぜでしょうか? 仮想マシンでは、これらのシステムは見事に機能します。 同時に、ネットワークをローカルでエミュレートすることも可能です (1 つのサーバーでサーバーを実行します)。 V.M.、クライアントから別のクライアントへ)、スナップショットを取得します(状態を保存) V.M.後続のロールバックのために特定の時点で) など。

そして最後に、あなたが自分の作品を投稿することを誰も禁じていません。 Linuxまたは ウィンドウズ(または両方を同時に) マック。 その逆はできません。 必要に応じて、そのようにして簡単に。

Mac に理由のあるデメリットはありますか? はい、あります。 病的な敵意。 特定のものを必要とする人もいます。 たとえば、カスタマイズ性 。 または、タイトル バーをダブルクリックしてウィンドウを最大化します。 必要なのはそれだけです。 この場合 マックOS バツは厳禁であり、この場合はネガティブな感情しか出てきません。

そして事実…

そして事実は単純です。 開発者カンファレンスではますます一般的になってきています MacBookそして MacBook Pro。そこではプレゼンテーションが開催され、開発のプロトタイプと最終リリースがデモンストレーションされます。

Mac は開発者の生活に非常に密接に浸透しています。 そしていくつかの場所では彼らは単に彼らを征服しました。 例えば、 ジャワ発達。 カンファレンスで JavaOne全コンピュータの 60% が会社のラップトップです りんご.

まあ、歌詞はもう十分です。 実際に何を提供するのか見てみましょう りんごプログラミングについて、そしてそれを使用するためにすべてをセットアップすることがいかに便利であるかについて説明します。

2つあげてよ!

必ずしも明白ではなく、さまざまな開発者にとって必ずしも容易に理解できるわけではない単純なことが 2 つあります。 特に最終製品ではないものを作成する人 (メモ帳)そして他の人のためのプラットフォーム (1C)。

まず、プラットフォームを作成するには、その上で何かを実行する必要があります。 つまり、サードパーティのプログラマがそのプログラムを作成できるようになります。 どんな大騒ぎだったか思い出しましょう iPhone SDK...もちろん、今までほとんどなかったのですが、 SDKそのままでは配られませんでした。 そして、そのような品質のものはほとんどありませんでした。 あるいは、たとえば、それが開発されたとき ソニー プレイステーション 3, 開発キット(開発者ツール、 開発者ツールキット)コンソール自体よりもはるかに早くからその準備ができていました。 そのため、コンソールがリリースされるまでに、少なくともいくつかのゲームがすでに登場している可能性があります。 だからこそ道具は重要なのです。 これは非常に重要です。 そして、 りんごこれはよくわかります。 無料で配布されます (どの Mac にも OS ディスクが付属しており、 SDK)、彼らは非常に積極的に開発しています。

第二に、大規模なプラットフォームを作成するのは、多くの人々 (同じ Mac を使用している) にとって多大な作業です。 人はそれぞれ違うので、ツールも多様であるべきです。 この目的のために、 Mac OS X従来、動作するようにすでに構成された、いくつかのスクリプト言語が提供されています。 実は、 Mac OS X -唯一の OS (現在は登場し始めています) Linux)、もともとそこにある ジャワ。したがって、以下の条件でプログラミングを開始するには、 Mac OS X、たとえば、ダウンロードしてインストールする必要はありません。 パイソンスクリプトを書きたい場合。 座って書くだけです - それはすでにそこにあり、すでに設定されています。

つづく…