2008-12-18 25 views
19

Mono có được chuyển sang iPhone chưa? Tôi muốn viết các ứng dụng .NET cho iPhone, và việc học Objective C không phải là một lựa chọn cho tôi.Mono trên iPhone?

+2

Xin hãy giải thích về việc tại sao học Objective-C "không phải là một lựa chọn" và những gì bạn cảm thấy bạn muốn đạt được bằng cách viết các ứng dụng .NET thay vì các ứng dụng sử dụng các khuôn khổ mẹ đẻ của iPhone. –

+0

Tôi đang ở trong cùng một chiếc thuyền, xem xét việc có một chiếc iPhone để bắt đầu viết mã cho nó vào tháng Tám năm ngoái. Sau đó, ba điều đã xảy ra: Tôi nhìn vào mã iPhone, tôi đọc những câu chuyện về phát triển cho iPhone và Android đã được phát hành. Tạm biệt iPhone !!! – jcollum

+0

@jcollum, tôi hy vọng bạn thích phát triển với <1 triệu điện thoại so với> 10 triệu. Điều này có thể thay đổi, nhưng iPhone là sự lựa chọn phát triển tại thời điểm này tôi sẽ nói. – rustyshelf

Trả lời

41

Mono hôm nay là có sẵn trong hai hình thức:

  • Mono với bindings để API iOS mỗi http://monotouch.net
  • Mono như một công cụ scripting powering Unity3D
+0

Thật không may giấy phép của Xamarin (mà liên kết của bạn trỏ đến) là không tốt cho chúng tôi. Có cơ hội để chạy Net trên iOS mà không có Xamarin không? –

+0

@ user695797 cũng .. nguồn mở hoặc giấy phép mono từ xamarin .. Một hoặc giấy phép khác nên bao gồm tất cả các delployments (Hoặc bạn có thể nói chuyện trực tiếp với xamarin như công ty của tôi đã làm) – IanNorton

0

Không bao giờ nói không bao giờ, nhưng vì nó sẽ đòi hỏi một thời gian chạy để chạy quá, tôi không thể nhìn thấy nó bao giờ xảy ra. Apple sẽ phải xử phạt và cài đặt thời gian chạy mono/.net với firmware chuẩn. Cũng vậy với Java quá tôi đoán ...

+0

Tuy nhiên, chúng tôi cũng đã bẻ khóa iPhone! –

17

Xin lỗi nhưng không hoàn toàn đúng: http://www.mono-project.com/Mono:Iphone

+1

Điều đó cũng đúng. Điều đó nghe có vẻ đau đớn so với chỉ học Objective-C. Phần yêu thích của tôi là: * Cần một số lượng đáng kể việc biên dịch chéo, điều này rất dễ dàng. * Không có API iPhone nào được hiển thị, vì vậy bạn có được nền tảng cơ bản. – rustyshelf

+0

Ngoài thực tế là bạn _must_ chương trình trên máy Mac và _must_ thuộc về chương trình Nhà phát triển của Apple. Bạn có thể lập trình để chống lại một cái gì đó mà bạn biết, nhưng nếu bạn hầu như đã có (và Apple _may not_ chấp nhận mã của bạn vì bạn đang sử dụng các công cụ phát triển không được viết bởi chúng), thì bạn cũng có thể làm nó "đúng cách" thông qua mục tiêu C. –

3

Here's a blog entry từ Miguel de Icaza thấy Mono chạy trên iPhone

(tôi nghi ngờ đó là một chiếc điện thoại jailbroken, và KiwiBastard có thể khá chính xác về những thay đổi của nó từng là chính thức)

1

Câu hỏi này được hỏi nhiều lần. Nếu bạn muốn viết ứng dụng chính thức dành cho iPhone bạn cần phải:

  • có một máy Mac thực

  • học Objective-C và Cocoa Touch

  • uống kool cấp cứu

Cố gắng làm việc xung quanh bất kỳ điều nào ở trên là lãng phí thời gian của bạn và của chúng ta. Như tôi đã nói nhiều lần trước khi nó là con đường của Steve hoặc đường cao tốc, và nếu bạn muốn phát triển trên iPhone, bạn nên học bài học đó sớm hơn là sau này.

+1

Nó không phải là cách hay đường cao tốc của Steve? –

+0

Điểm tốt, tôi cố định loại ... mặc dù 'của' có thể hoạt động tốt, vì Steve có thể đã xây dựng đường cao tốc ngay từ đầu ... – rustyshelf

+0

Oh và cũng sẵn sàng mạo hiểm thời gian của bạn trở nên vô ích khi Nhóm cửa hàng iPhone từ chối mã của bạn hoặc xác định rằng Apple sắp phát hành phiên bản ứng dụng của riêng bạn. – jcollum

-1

Xin lỗi, nhóc, nhưng Obj-C là cách duy nhất. Tại sao nó "không phải là một lựa chọn"?

Ứng dụng của bạn sẽ không phải là "tùy chọn" đối với Apple cho App Store trừ khi được viết bằng Obj-C trên Xcode và được ký đúng cách.

5

Đối với những người nói này, xin vui lòng listen to Miguel de Icaza mình nói về chủ đề với Scott Hanselman trên podcast 24NOV2008 Hanselminutes (khoảng điểm 23:50).

Ngắn câu chuyện: có các kế hoạch để có được các ứng dụng Silverlight được biên dịch tĩnh để tuân thủ các yêu cầu của Apple.
Bạn sẽ không thể chạy chúng trong trình duyệt nhưng chúng sẽ được tích hợp đầy đủ các ứng dụng iPhone giống như bất kỳ ứng dụng nào khác.

+0

Và làm thế nào để có được giới hạn chính thức trong App Store mà nói rằng bạn không thể sử dụng một thông dịch viên không đi kèm với điện thoại? Bạn có thể làm bất cứ điều gì trên một chiếc điện thoại Jailbroken tất nhiên, nhưng có lẽ đó không phải là những gì anh ta đang tìm kiếm. –

+1

Vâng, bạn nên nghe chương trình. Điểm mấu chốt là ứng dụng của bạn sẽ được __statically compiled__ và sẽ trở thành một ứng dụng gốc khác. –

+0

Bạn sử dụng AOT để biên dịch trước mã, vì vậy nó không còn được biên dịch JIT nữa. – jpobst

3

First Mono game hits the Apple AppStore. Vì vậy, không chỉ là nó về mặt kỹ thuật có thể, Apple cũng sẽ chấp nhận chúng.

+0

Hãy nhớ rằng thời gian chạy Mono không thực sự chạy trên những trò chơi đó; nó được dịch hoàn toàn sang mã gốc. – Randolpho

8

Chúng tôi đang phát triển liên kết Cocoa Touch được gọi là MonoTouch và chuỗi công cụ đầy đủ AOT sẽ cho phép tạo ứng dụng iPhone gốc bằng Mono và MonoDevelop. Đây sẽ là một sản phẩm thương mại, với bản beta được lên kế hoạch cho tháng Tám. Hãy theo dõi!

Miguel có blogged about this.

3

Điều này cho phép bạn sử dụng C# cho iPhone ngay bây giờ (chỉ mới được phát hành gần đây, tôi nghĩ), nhưng bạn vẫn phải có máy Mac.

http://monotouch.net/