MonoTouch hiện đã bị cấm trên iPhone? [đóng cửa]


155

Một bài đăng gần đây của John Gruber lưu ý rằng những người hợp pháp sau đây:

3.3.1 — Applications may only use Documented APIs in the manner prescribed by Apple and must not use or call any private APIs.

Đã được sửa đổi như sau:

3.3.1 — Applications may only use Documented APIs in the manner prescribed by Apple and must not use or call any private APIs. Applications must be originally written in Objective-C, C, C++, or JavaScript as executed by the iPhone OS WebKit engine, and only code written in C, C++, and Objective-C may compile and directly link against the Documented APIs (e.g., Applications that link to Documented APIs through an intermediary translation or compatibility layer or tool are prohibited).

Và thực hiện các quan sát sau đây:

Tôi đọc ngôn ngữ mới này là các trình biên dịch chéo, chẳng hạn như trình biên dịch Flash-to-iPhone trong phiên bản Flash Professional CS5 sắp tới của Adobe, đều bị cấm. Điều này cũng cấm các ứng dụng được biên dịch bằng MonoTouch - một công cụ biên dịch các ứng dụng C # và .NET cho iPhone.

Điều này trên thực tế có cấm sử dụng Monotouch cho IPhone không?


4
Tôi tự hỏi nơi này để lại táo và các nhà phát triển monotouch hiện có hợp pháp. Điều gì xảy ra với các ứng dụng monotouch hiện có?
PeteT

2
@ petthing796: Bạn cần chấp nhận giấy phép mới này nếu bạn muốn đưa bất kỳ thứ gì mới vào iTunes Connect, nhưng tôi nghi ngờ họ sẽ lấy những thứ từ cửa hàng đã được gửi trước đó. Tuy nhiên, họ / có thể / thực thi điều này với các ứng dụng mới không dựa trên 4.0 nhưng chưa được gửi trước đó. Nhưng giống như mọi thứ trong App Store, chúng ta sẽ phải chờ xem!
Jason Coco

1
Rõ ràng thỏa thuận đó thuộc NDA
Chris S

apple.com/pr/l Library 2010/09/09statement.html aaaaaaaaaathankyooooooooooo hãy để sự điên rồ bắt đầu !!

2
Kể từ ngày 9/9/2010, đây là tranh luận. Apple đang thư giãn Quy tắc 3.3.2 foxbusiness.com/markets/2010/09/09/ Kẻ
Steve Mitcham

Câu trả lời:


88

Cập nhật -

Điều này đã thay đổi gần đây . MonoTouch sẽ không còn xung đột với thỏa thuận. Bất kỳ tuyên bố dưới đây là hoàn toàn lịch sử!

Vâng, có vẻ như khá rõ ràng từ thỏa thuận cấp phép của họ bây giờ rằng nếu ứng dụng gốc được viết bằng C # thì nó sẽ vi phạm giấy phép:

... Các ứng dụng ban đầu phải được viết bằng Objective-C, C, C ++ hoặc JavaScript khi được thực thi bởi công cụ WebKit của HĐH iPhone ...

Họ thậm chí còn đập nó thêm một chút nữa:

Các ứng dụng liên kết đến API tài liệu thông qua lớp hoặc công cụ dịch hoặc trung gian dịch thuật trung gian đều bị cấm

Loại bummer, MonoTouch và Flash CS5 -> bộ chuyển đổi iPhone rất tuyệt.


7
tuy nhiên, hãy xem twitter.com/migueldeicaza/status/11844609073 bằng cách đó, họ sẽ nói với ứng dụng MonoTouch từ người bản địa như thế nào?
Mauricio Scheffer

9
Apple lại hả. Hút chúng tôi bằng một thiết bị tuyệt vời, giao diện đồ họa sạch sẽ, giao diện cảm ứng đẹp ... nhưng ... ngăn chúng tôi phát triển bất cứ thứ gì cho nó trừ khi chúng tôi có mac, ngăn chúng tôi phát triển bất cứ thứ gì cho nó trừ khi đó là đối tượng C / C / C ++. Ý tôi là tất cả chúng ta sẽ nghĩ gì nếu microsoft xuất hiện và nói 'không - không thể phát triển bất cứ thứ gì trong windows trừ khi nó ở C - không bạn không thể sử dụng .NET framework nữa'.
peter

33
Điều này không có nghĩa gì với tôi. Theo thỏa thuận này, nếu bạn đã viết một ứng dụng bằng Flash và sau đó dịch nó sang Objective-C, có vẻ như nó sẽ vi phạm thỏa thuận (vì nó không được "viết ban đầu" trong Objective-C).
Michael Myers

3
@ John: Tôi nghĩ rằng họ đang 'cấm' các ứng dụng gốc - ít hơn là API của hệ điều hành mới của họ xoay quanh Silverlight / XNA và đó là cách được hỗ trợ để thực hiện. Tôi chưa thấy bất cứ điều gì để thực thi rằng bạn không thể viết Java (hoặc bất kỳ ngôn ngữ nào khác) cho trình biên dịch Silverlight trong các thỏa thuận cấp phép của Microsoft (chưa).
Ron Warholic

3
Cho đến khi tất cả điều này xảy ra, sản phẩm của chúng tôi trong quá trình phát triển chỉ là iPhone / iPad (những người quan tâm đến Android, v.v.) và trong MonoTouch. Bây giờ chúng tôi đã xem xét lại và bây giờ chúng tôi sẽ là Obj-C theo yêu cầu, nhưng chúng tôi cũng sẽ chắc chắn có hỗ trợ Android và WinPhone vào ngày 1. Một doanh nghiệp không thể có được sự không chắc chắn về hành vi, và do đó Apple đã làm ngược lại với những gì họ muốn - khiến các nhà phát triển tìm kiếm các giải pháp đa nền tảng thay vì chỉ Apple. Làm tốt.
mj2008

49

Cập nhật:

Apple đã bỏ (gần như) tất cả các yêu cầu kỹ thuật đối với ngôn ngữ và thư viện cho iOS, do đó, MonoTouch chắc chắn là một giải pháp khả thi. Xem thông báo của Apple .


Hầu hết mọi người ở đây chỉ đơn giản muốn lấy tài liệu của Apple bằng từ này và nói "vâng, nó bị cấm". Vâng, đây là quan điểm của tôi: tại thời điểm này, không ai thực sự có ý tưởng nào nếu MonoTouch sẽ bị cấm hay không, và tôi sẽ giải thích lý do:

Thỏa thuận Apple phiên bản 3 (không phải phiên bản mới nhất, trước đây) nêu rõ rằng việc sử dụng bất kỳ khuôn khổ nào khác để phát triển các ứng dụng khác ngoài các khuôn khổ do Apple cung cấp là bất hợp pháp.

3.3.2 Ứng dụng không được tự cài đặt hoặc khởi chạy mã thực thi khác bằng mọi cách, bao gồm nhưng không giới hạn thông qua việc sử dụng kiến ​​trúc trình cắm, gọi các khung công tác khác, API khác hoặc cách khác. Không được tải xuống hoặc sử dụng mã được giải thích trong Ứng dụng ngoại trừ mã được diễn giải và chạy bởi API tài liệu của Apple và (các) trình thông dịch tích hợp. http://adcdoad.apple.com/iphone/iphone_sdk_3.2__final/iphone_sdk_agferences.pdf

Mặc dù đó là trường hợp (và thực tế là từ 2.x, apple không gặp vấn đề gì khi chấp nhận các ứng dụng thực hiện chính xác điều đó. Ví dụ: TẤT CẢ các trò chơi EA sử dụng tập lệnh Lua và rất nhiều người sử dụng các thư viện bên ngoài không có nguồn gốc từ iPhone. Ngay cả khi iPhone có các API gốc đó, Apple chưa bao giờ gặp sự cố khi chấp nhận các ứng dụng với các phiên bản khác nhau của nó, như SQLite.

Quan điểm của tôi là nói "CÓ, họ sẽ bị cấm" ngay bây giờ chỉ đơn giản là quá sớm. Điều rõ ràng duy nhất ở thời điểm này là Apple có thể trên thực tế sử dụng điều đó để cấm các ứng dụng. Giống như họ chấp nhận Ứng dụng ngày nay trái với một số quy tắc của họ, có lẽ họ sẽ tiếp tục làm như vậy.

Ngoài ra còn có hàng trăm (hoặc có thể vài nghìn?) Ứng dụng trong cửa hàng hiện đang chạy Mono và Apple sẽ cần chấp nhận cập nhật cho các ứng dụng đó. Các ứng dụng chính với hàng triệu doanh số đã được tạo bằng Mono (và Lua) và tôi nghi ngờ họ sẽ hoàn lại tiền cho mỗi người dùng.

Cuối cùng, các ứng dụng Enterprise được triển khai cho iPhone mà không có sự chấp thuận của Apple và đó là một thị trường lớn mà MonoTouch đang hoạt động (bản thân tôi phát triển các ứng dụng doanh nghiệp). Tại thời điểm này, Apple không thể cấm MonoTouch cho các ứng dụng đó và điều đó có lẽ sẽ đủ để MonoTouch tồn tại trong một thời gian dài.


Tôi thường đồng ý với bạn, ngoại trừ phần cuối cùng - Apple có thể dễ dàng nói rằng các bản cập nhật trong tương lai của các ứng dụng hiện tại phải được chuyển sang Objective-C bản địa.
Kendall Helmstetter Gelner

Chà, ngay cả khi các ứng dụng được chuyển sang Obj-C, ban đầu chúng được viết bằng một ngôn ngữ khác, vì vậy về mặt kỹ thuật chúng vẫn là bất hợp pháp, tôi đoán vậy .. Đó là lý do tại sao các quy tắc này không thực sự có ý nghĩa. Họ có thể sẽ xóa nó trong bản sửa đổi sau, ngay trước khi phát hành bản 4.0 cuối cùng.
Eduardo Scoz

3
Ngôn ngữ trước đó không cấm khuôn khổ nào cả. Nó nói rõ rằng những gì nó bị cấm là khởi chạy mã thực thi và liệt kê các khung làm một ví dụ về cách có thể được thực hiện. Ngôn ngữ bạn đã đăng không ảnh hưởng đến các ứng dụng đơn sắc hoặc ứng dụng Flash hoặc bất kỳ nhị phân được biên dịch trước nào khác mà không cố gắng diễn giải khi chạy.
fenomas

27

Cập nhật:

Những thay đổi mới đối với các phần 3.3.1, 3.3.2 và 3.3.9 đã khiến MonoTouch (và tất cả các trình biên dịch / ngôn ngữ / vv khác) hoàn toàn chấp nhận được trên iPhone. Xem thông báo của Apple


Miguel dường như không nghĩ vậy. Xem tweetphản hồi của Miguel . Không phản ứng thái quá ở đây và nói rằng Monotouch đã chết hoặc ngừng phát triển với Monotouch cho đến khi một số làm rõ đã được thực hiện bởi tất cả các bên liên quan.

Điều đó nói rằng tôi chắc chắn sẽ bắt đầu tăng nhiệt cho Apple cho các chính sách phát triển hà khắc như vậy. Những thứ như thế này và quy trình mơ hồ là chính sách phê duyệt của các ứng dụng iphone / ipad / touch sẽ đánh vào nỗi sợ hãi trong lòng các nhà phát triển. Điều gì tiếp theo, giấy phép của họ nói rằng nền tảng Quảng cáo duy nhất bạn được phép sử dụng là iAd? Không cho phép phân phối ứng dụng miễn phí mà không có iAd? Từ từ nâng thị phần của Apple về doanh thu bán hàng ứng dụng? Khi các nhà phát triển trong một hệ sinh thái bị khóa, chúng ta là những con ếch trong một nồi nước nóng, và Apple đang dần tăng nhiệt. Bây giờ là lúc để khám phá các nền tảng di động khác, bởi vì khi chúng trở nên tốt hơn, điều chính khiến mọi người nắm giữ nền tảng Apple là thiếu ứng dụng trên các nền tảng khác.


4
+1 (đặc biệt là "khám phá các nền tảng khác")
Tim

2
+1 mặc dù tôi mong đợi nhiều hơn từ các liên kết đó. "Không" không phải là rất nói, phải không? Micro-blog là một tai họa.
Dan Rosenstark

Đi khám phá, tôi đang gắn bó với Apple. Tôi đã có 2 máy Mac và giấy phép của nhà phát triển mà tôi sẽ sẵn sàng gia hạn trong năm nay để tôi có thể tiếp tục phát triển. Yêu nó hoặc bỏ nó, nhưng bỏ khóc về nó. Và chỉ cần đi mua một chiếc mac rồi ...
kirk.burleson

10

Tôi đã dành nhiều tháng buổi tối để thực hiện các ý tưởng cho một ứng dụng iPhone giết người trong Objective C. Công việc hàng ngày của tôi là C #. Tôi đã tải xuống MonoTouch C # khi nó trở thành một sự thay thế khả thi và chỉ mất 3 tháng để chuyển đổi mã của tôi sang MonoTouch C # dành riêng cho iPhone. Điều đó khiến tôi phát điên khi chuyển từ C # / Objective C.

Tôi phải làm gì bây giờ vứt bỏ tất cả và bắt đầu lại hoặc từ bỏ!?!

Tôi cảm thấy rất tiếc cho những người Mono. Điều này hoàn toàn sai. Đó là một điều để ngăn Adobe đã không tung ra sản phẩm của họ và không có khách hàng cũng như ngăn chặn MonoTouch, những người đã làm và cũng đã phê duyệt sản phẩm trong AppStore.

Tại sao bất cứ ai cũng muốn xây dựng một doanh nghiệp và đầu tư vào Apple khi họ sẽ lấy đi tất cả trong một thông báo khoảnh khắc mà không thể trả lời hoặc nghi ngờ?

Rõ ràng các nhà phát triển và khách hàng của Apple chăm sóc họ và các sản phẩm của họ là con đường một chiều.


Monotouch không có sản phẩm được phê duyệt trong cửa hàng ứng dụng - có rất nhiều ứng dụng trong cửa hàng ứng dụng được viết bằng Mono. Có một sự khác biệt lớn, trong đó có rất nhiều ứng dụng xung quanh để xem xét thay vì chỉ một.
Kendall Helmstetter Gelner

@ Kendall Helmstetter Gelner: Bạn đã sai. Có các ứng dụng MonoTouch trong cửa hàng ứng dụng.
Tim Scott

4
@Tim Scott, anh ấy đang nói ... oh quên nó đi.
Dan Rosenstark

1
Bạn phải xem xét lượng thời gian phát triển mà adobe sẽ đưa vào trình biên dịch iPhone của họ. Apple để họ tiếp tục đi trên con đường đó khi biết rằng nó sẽ đến hơn một năm và vào phút cuối đã lấy đi. Chi phí cho họ hàng triệu trong thời gian phát triển và mất doanh số.
PeteT

@Tim: Và có bao nhiêu trong số những ứng dụng đó được phát triển bởi những người Monotouch? Đọc những gì tôi nói một lần nữa. @yar: Cảm ơn bạn đã cố gắng giải thích.
Kendall Helmstetter Gelner

9

Tôi hy vọng Apple sẽ bị từ chối vì chính sách nực cười này. Sự kiêu ngạo không hấp dẫn và nói chung là xấu cho kinh doanh. Đây là một trong những lý do tôi chưa bắt đầu phát triển iPhone.

Hầu hết các nhà cung cấp phần cứng và hệ điều hành đều vui mừng khi có thêm các công cụ và đối tượng để viết lên nền tảng của họ. Apple đang có lập trường rằng các công cụ (braindead) của họ là trò chơi duy nhất trong thị trấn.

Quảng cáo "Big Brother" từ năm 1984 ngày càng phù hợp hơn ...

BIÊN TẬP

Cách nó được viết dường như cũng ngụ ý rằng nếu tôi đã viết .net cho trình dịch C / apple khách quan thì mã không được chấp nhận vì mã gốc không phải là mục tiêu c. Đó là lố bịch (và không thể thực hiện được.)


2
Phần kiêu ngạo là gì? Bạn có nghĩ rằng họ đang làm điều này bởi vì họ nghĩ rằng mã của họ sạch hơn, hoặc cái gì đó?
bpapa

3
Bạn đang nói nó không kiêu ngạo?
Tim

4
@bpapa Sự kiêu ngạo không giới hạn trong các vấn đề kỹ thuật - nó cũng bao gồm cả quan điểm kinh doanh. Họ kiêu ngạo ở chỗ họ nghĩ rằng họ có thể thoát khỏi nó và đó là hành vi chấp nhận được. Chỉ vì đó có thể là một "chiến lược kinh doanh" không có nghĩa là bạn được miễn khỏi bị gọi là ngu ngốc và kiêu ngạo.
Tim

3
Trên thực tế, họ sẽ "thoát khỏi nó" bởi vì các thiết bị HĐH iPhone sẽ tiếp tục thành công lớn và các nhà phát triển sẽ tiếp tục phát triển cho nó và các nhà phát triển mới sẽ tham gia. Tôi đã đưa ra một lựa chọn vài năm trước, tôi có thể ngồi và than vãn về việc tôi không thể phát triển Java trên iPhone như thế nào, hoặc tôi có thể học Cốc Cốc và tạo các ứng dụng cho iPhone. Đừng hối tiếc về quyết định của tôi.
bpapa

5
@Ben Um, không - nó có liên quan vì ông lớn của Apple ... Nó được gọi là trớ trêu.
Tim

7

Unity cũng dựa trên Mono và cùng với đó là một sản phẩm thương mại khá lớn, tôi tưởng tượng rằng đây là một vấn đề mà chúng ta chưa nghe thấy đến cuối.

Cấm tất cả các ứng dụng không được viết bằng Obj-C / C ++, về lý thuyết cũng cấm tất cả các trò chơi Unity, trong đó có một số lượng lớn đã có trong cửa hàng ứng dụng.

Câu hỏi này cũng đã được hỏi trên trang web Unity answer và câu trả lời chính thức của họ là:

"Chúng tôi vừa nghe về iPhone OS4.0 và Điều khoản dịch vụ mới. Mặc dù chúng tôi tin rằng chúng tôi hoàn toàn tuân thủ những điều này nhưng hiện tại chúng tôi đang làm tất cả những gì có thể để Apple xác minh điều này. Ngay khi chúng tôi biết chính xác, tất nhiên chúng tôi sẽ chia sẻ thông tin đó với mọi người. Xin vui lòng chờ đợi trong khi chúng tôi hiểu điều này. "

Hãy thú vị để xem những gì họ được Apple nói.

Vấn đề là, chắc chắn nói rằng một ứng dụng phải được viết bằng một ngôn ngữ nhất định là một chút sai lầm, vì một khi ứng dụng được biên dịch, nó luôn luôn là một nhị phân nguyên gốc bất kể nó được xây dựng như thế nào. Tôi đoán là tất cả những gì họ có thể tìm kiếm là một loại chữ ký trong tệp nhị phân để phát hiện công cụ được xây dựng với nó. Một cách tiếp cận thiếu sót.

EDIT: Có một cái nhìn tổng quan thú vị về tình huống trên blog này: monotouch bây giờ đã chết trong nước, thỏa thuận của nhà phát triển iphone mới có nghĩa là gì


7

Thỏa thuận cấp phép mới rõ ràng rõ ràng về điều đó. Vì vậy, CÓ, nó sẽ bị cấm.

Lời khuyên, nếu bạn muốn thực sự phát triển cho iPhone, hãy thử XCode. Nếu bạn đã quen thuộc với Java hoặc C # hoặc C ++ tốt hơn, thì việc học Objective-C sẽ không khó lắm.

iPhone / iPad là ứng dụng kinh doanh thành công mới và họ sẽ làm bất cứ điều gì để duy trì hoạt động kinh doanh này, có thể họ sẽ không cấm các ứng dụng Monotouch ngay bây giờ, nhưng ai biết sẽ có động thái tiếp theo? Vì vậy, nếu bạn thực sự quan tâm đến nhà phát triển iPhone, thay vì gặp ác mộng rằng công việc của bạn có thể bị từ chối. Chỉ cần chuyển sang XCode, ít nhất điều đó sẽ làm giảm tỷ lệ từ chối ứng dụng của bạn. Do đó, lời khuyên của tôi.


18
Nó không khó lắm đâu. Bất cứ ai sử dụng monotouch đều biết Objective C. Đó là Objective C rất tệ để phát triển so với các ngôn ngữ hiện đại.
James Moore

3
@jamesmoorecode: +1 thật khủng khiếp
abatishchev

1
Yeh, tôi đã dành thời gian để tìm hiểu Obj-c và tất cả các API của Touch Touch để tôi không phải viết một ứng dụng gốc theo cách mà Apple muốn. Đó chỉ là lý do tại sao tôi muốn làm điều đó khi tôi có thể sử dụng MonoTouch để thực hiện nhanh hơn nhiều và chia sẻ 'logic kinh doanh' (chứ không phải giao diện người dùng) với WP7 và Silverlight cho ứng dụng trình duyệt và máy tính để bàn?
U62

4
Có một lý do rất nhiều ứng dụng trên kho ứng dụng thường xuyên bị sập: object-C. Ngay cả những người có cấu hình cao như digg.com
Chris S

2
Tôi đã học được obj c trên tàu đi làm sáng nay - không khó - nhưng nó hôi thối - đó là một ngôn ngữ cổ xưa, dài dòng - tôi muốn viết các ứng dụng iPhone trong nghệ thuật T-SQL ASCII.

6

Tôi nghĩ một cái gì đó để xem xét mạnh mẽ là động lực của Apple.

Tôi đồng ý với các tình cảm khác được đăng trực tuyến rằng Apple đang cố gắng ngăn chặn hàng hóa hóa các ứng dụng - có nghĩa là, ngày càng có nhiều ứng dụng được viết bằng các khung tạo ra các ứng dụng có thể chạy trên nhiều thiết bị.

Nhưng đó không phải là Monotouch. Monotouch là tất cả về việc sử dụng các khuôn khổ của Apple để viết các ứng dụng - nhưng thông qua Mono, không phải Objective-C. Vì vậy, từ quan điểm đó, những gì Monotouch đang làm không phải là điều thực sự khiến Apple bận tâm.

Tôi vẫn cho rằng các nhà phát triển nên viết bằng ngôn ngữ bản địa của nền tảng mà họ đang sử dụng, vì mọi thứ thường trơn tru hơn khi bạn không giới thiệu hệ thống có thể có sự không khớp trở kháng trừu tượng - tất cả các khung Cacao được xây dựng để sử dụng Objective-C, và chúng có ý nghĩa nhất khi bạn quen với triết lý của Objective-C. Nhưng tôi hy vọng rằng Apple sẽ đứng về phía cho phép MonoTouch được sử dụng.


1
Bất cứ ai hạ thấp phân tích hợp lý của tôi sẽ đi đến địa ngục của nhà phát triển, chỉ để cho bạn biết (định nghĩa về việc viết các ứng dụng di động chỉ nhắm mục tiêu Windows Mobile 6.5 vĩnh viễn). Ý tôi là, tranh luận với tôi nhưng tại sao downvote vì một lý do tại sao nó có thể không bị cấm? Tại sao không thử tìm hiểu những gì Apple đang làm thay vì chỉ tham gia vào lữ đoàn và lữ đoàn khi ngọn đuốc đầu tiên được thắp sáng?
Kendall Helmstetter Gelner

Đồng ý Kendal, +1 cho cân bằng.
si618

+1 Một lý lẽ hợp lý
Bill Bill

1
+1 cho kẻ thua kém và quan điểm khác biệt của anh ta. Bất cứ khi nào tôi đi ngược lại với số đông của nhóm nghĩ rằng tôi đã bỏ phiếu cho đến khi tôi buộc phải xóa bài đăng.
kirk.burleson

5

Tất cả những gì Apple đang nói là bây giờ bạn phải sử dụng các ngôn ngữ của năm 1980 để phát triển đối thủ cạnh tranh vượt trội về ứng dụng di động ....

Làm cho cảm giác hoàn hảo. Âm thanh như một chiến lược chiến thắng với tôi.

Nó cũng ngăn bạn sử dụng bất kỳ thư viện bên thứ 3 nào mà bạn không thể đảm bảo đã được phát triển trong C, C ++ hoặc Objective C.

Về cơ bản, điều đó có nghĩa là bạn không thể mua trong API của trò chơi, chẳng hạn như Unity.


2
Chà, xem xét rằng smalltalk-80 là khoảng một chục năm trước c # ...
Stephan Eggermont

như bạn chắc chắn biết rằng Objective C về cơ bản là C với một số tiện ích mở rộng SmallTalk.
AnthonyLambert

4

Chỉ cần thêm 2 xu của tôi. Có vẻ như sau khi đọc phần này: (ví dụ: Các ứng dụng liên kết với API tài liệu thông qua lớp hoặc công cụ dịch thuật trung gian bị cấm) không có gì để thảo luận. Họ đã bày tỏ chúng rõ ràng. Không chỉ họ đang cấm MonoTouch và Unity3d, có vẻ như họ cũng đang cấm Titanium Framework . Tuy nhiên, sau khi đọc bài viết, tôi thấy mình thực sự bối rối. Tôi không quen thuộc với luật pháp Hoa Kỳ, nhưng nó có hợp pháp không? Ý tôi là, không phải họ vi phạm một số luật chống độc quyền sao?

Ngoài ra, tôi không thể hiểu được động lực của họ. Họ không chỉ mất một phần lợi ích của các nhà phát triển, họ cũng sẽ mất đi sự tôn trọng của các nhà phát triển, tôi nghĩ vậy.


4

Kể từ hôm nay, Phần 3.3.1 của Giấy phép Chương trình dành cho nhà phát triển Apple iOS hiện đã được hoàn nguyên về văn bản cũ:

3.3.1 Ứng dụng chỉ có thể sử dụng API tài liệu theo cách do Apple quy định và không được sử dụng hoặc gọi bất kỳ API riêng tư nào.

Apple đã phát hành một tuyên bố chính thức về những thay đổi giấy phép.

Điều này sẽ chỉ ra rằng bây giờ được phép sử dụng MonoTouch.


+1 để bao gồm nội dung thực tế và không chỉ là một liên kết hoặc tuyên bố.
davidtbernal

3

Một mục tiêu của nhóm Mono là chuyển Silverlight sang iPhone bằng MonoTouch / Moonlight để phát triển đa nền tảng. Điều đó hơi giống với việc chuyển Flash sang iPhone. Ngoài ra còn có Monodroid trên đường giúp chúng tôi chuyển các ứng dụng và, bạn biết đấy, Apple chạy amonk mỗi khi ai đó nói "Android" :-) IMHO, nếu Apple nhắm mục tiêu Adobe với thỏa thuận mới, họ cũng sẽ nhắm mục tiêu vào Novel. Chúng tôi có thể đang suy đoán và có một NDA nhưng nhiều người trong chúng tôi đã đầu tư rất nhiều thời gian vào nền tảng này vì vậy chúng tôi cần phải làm rõ tình hình. Chúng ta không thể đợi mùa hè tới để thảo luận về vấn đề này. Ví dụ: tôi đã được một người bạn yêu cầu giúp công ty của anh ấy tạo ra một ứng dụng MonoTouch cho một khách hàng. Có phải thỏa thuận mới chỉ ảnh hưởng đến việc phân phối App Store? Còn phân phối trong nhà thì sao?


Tại sao Apple không nói chuyện tốt với các anh chàng Mono và thay vào đó họ bỏ hỗ trợ cho Droid ....
AnthonyLambert

1
@tony tại sao họ lại bỏ hỗ trợ cho một nền tảng mở hơn nhiều
PeteT

2

Bảng tính tài liệu google này có một danh sách dài các ứng dụng sẽ bị ảnh hưởng bởi thỏa thuận mới. Một số đáng chú ý đã là số 1 trong kho ứng dụng cho thể loại của họ:

  • Sự độc quyền
  • Nước chanh Tycoon
  • Bóng bay
  • Những người định cư
  • Zombieville

Một trong những điều thú vị là Toy Story.


1
Thỏa thuận mới bao gồm tất cả các phiên bản của HĐH, không chỉ 4.0.
Philippe Leybaert

Điểm hay, tôi quên bạn phải ký một thỏa thuận mới trên trang web
Chris S

2

Các ứng dụng của nhiều người đã được chấp nhận trong vài ngày qua được viết với sự trợ giúp của đơn điệu và thống nhất, trong khi tôi cũng đang sử dụng nó cũng như obj-c, kể từ khi thông báo và thay đổi trong thỏa thuận, vì vậy GO FIGURE, ... tốt ol'WTF đến với tâm trí. Nó có vẻ là một con heo đất lưỡng cực.

CSONG, trò chơi Unity cuối cùng GiantMOTO, thuộc TRÒ CHƠI MỚI HẤP DẪN - YESTERDAY, có trên màn hình giật gân của nó trên Tải bằng chữ lớn, ĐƯỢC CẤP ĐIỆN B UNNG UNITY. Vì vậy, tất cả các phỏng đoán, giả định, vv là thực sự ra khỏi cửa. Nó có thể nói tất cả những gì trong phiên bản mới, nó chắc chắn KHÔNG được thi hành. Và montouch là trung tâm phát triển duy nhất HOÀN TOÀN hiển thị API iPhone và xây dựng HOÀN TOÀN thành obj-c bằng XCode.


1

Từ những gì thỏa thuận cấp phép cho biết các ứng dụng MonoTouch rõ ràng sẽ không được phép trong AppStore.

Câu hỏi thú vị hơn là, đối với khuôn khổ / ứng dụng nào họ sẽ thực thi nó? Họ cũng sẽ phải viết các bài kiểm tra tự động để kiểm tra xem các ứng dụng có được viết nguyên bản hay không, bởi vì những người phê duyệt ứng dụng sẽ không có thời gian / kỹ năng để làm điều đó cho mỗi ứng dụng. Các ứng dụng này sẽ không đặt nhãn dán ở đó 'Sử dụng MonoTouch / Flash'.


1
Tôi đoán nó sẽ là một quá trình tự động. Tôi đoán là monotouch và trình biên dịch flash sẽ để lại các mẫu mã phổ biến từ chuyển đổi có thể được chọn ra theo thống kê từ mã được biên dịch.
PeteT

3
yup nếu apple sử dụng một số quy trình tự động, chắc chắn họ sẽ tìm thấy mô hình chuyển đổi. Nhưng chính sách này từ áp dụng là vô lý. Tôi có nghĩa là Obj-C hút ngôn ngữ thực sự tối nghĩa của nó. Tôi thực sự thích những gì MonoTouch đang cung cấp.
Shoaib Shaikh

@Shoaib Chắc chắn đồng ý rằng nó là vô lý và sẽ chuyển rất nhiều nhà phát triển sang Android và windows phone, theo một cách nào đó là tốt cho cạnh tranh.
PeteT

1

Câu trả lời ngắn gọn cho tất cả các blob trong thỏa thuận là .

Apple về cơ bản là tự bắn vào chân mình bằng cách giới hạn các chương trình ở một vài ngôn ngữ:

  • C - không thực sự phù hợp để phát triển ứng dụng ngày nay, do tính chất cấp thấp của nó. Nó chủ yếu là một ngôn ngữ lập trình hệ thống ngày nay.
  • C ++ - khiến cho việc quay điện thoại của bạn trở nên khó khăn hơn, nhưng khi điều đó xảy ra, đó là với bazooka. Ngoài Qt, không có bất kỳ khung ứng dụng hoàn chỉnh nào để sử dụng trong C ++ (và Qt không hỗ trợ iPhone - chưa).
  • Objective-C - được phát minh bởi Apple và tất nhiên sẽ được hỗ trợ.
  • JavaScript chạy trong WebKit - về cơ bản là một ứng dụng web.

Họ đang cố tình giới hạn những công cụ bạn có thể sử dụng để phát triển cho iPhone, điều này gần như chắc chắn sẽ khiến họ gặp rắc rối nghiêm trọng. Tôi chắc chắn một cộng đồng có quy mô tốt sẽ thoát khỏi sự phát triển của iPhone và chuyển sang một nền tảng khác như Windows Mobile, Symbian, Android hoặc Maemo, hoàn toàn mở - bạn có thể tự do viết ứng dụng của mình trong LOLCODE.

Ngoài khả năng tạo ra iPhone rác cho các nhà phát triển, nó còn mang đến cho Adobe một nụ hôn đẹp: Apple cố tình chặn Flash khỏi iPad và giờ họ cũng đang chặn nó khỏi iPhone. Nummer là tính năng lớn nhất CS5 của Adobe Flash đang triển khai các ứng dụng Flash cho iPhone.

tl; dr: Apple về cơ bản là tự bắn vào chân mình bằng động thái này.


Apple đã tự bắn vào chân mình ngay từ đầu và mọi người đều nói: "Apple sẽ phải chịu số phận do kiến ​​trúc khép kín". Hóa ra việc tự bắn vào chân mình - như bất kỳ nhân viên tư vấn nào sẽ nói với bạn - thường là một chiến lược tốt.
Dan Rosenstark

Vâng, hãy tiếp tục nín thở để cộng đồng có kích thước tốt đó thoát khỏi sự phát triển của iPhone!
kirk.burleson

Objective-C không thực sự được phát minh bởi Apple, nó chỉ được áp dụng như LLVM và các phần tương tự của BSD :)
Emil Marashliev

1

Bây giờ là vài tháng sau sự kiện chớp nhoáng và Monotouch và Unity khá rõ ràng đang hoạt động tốt.

Theo "Các ứng dụng liên kết đến API tài liệu thông qua lớp hoặc công cụ dịch thuật trung gian hoặc công cụ bị cấm"

Monotouch biên dịch mã thành nhị phân riêng, không có "lớp". Chúng được đề cập đến đôi khi như thời gian chạy .NET, Java JVM hoặc Flash runtime.


Nó nói về API tài liệu. Vì vậy, tôi nghĩ rằng việc bạn biên dịch vào thư viện bản địa hay không là không quan trọng
vodkhang

Vấn đề là, bạn muốn mua máy Mac để phát triển cho iPhone. Điều này không chỉ áp dụng cho Java và Flash, mà còn cho đơn âm, vì đơn âm cho phép bạn phát triển trên máy tính windows / Linux. Nhưng không giống như Java hay Flash, mono có lẽ không được sử dụng nhiều, vì vậy họ chưa quan tâm.
Stefan Steiger

1

Các ứng dụng Mono thường sẽ biên dịch thành mã byte, và sẽ yêu cầu biên dịch JIT (chỉ trong thời gian) để chạy chúng do đó cần có khung .Net hoặc khung Mono. Tuy nhiên, trong trường hợp của iOS và Android, ứng dụng Mono sẽ biên dịch thành mã gốc. Do đó, trong mắt Apple, không có lớp thứ ba , Apple sẽ không bao giờ cấm Mono. Vì vậy, bạn có thể thoải mái phát triển với MonoTouch và phân phối ứng dụng của mình. Để đảm bảo cho bạn hơn nữa, có nhiều ứng dụng Mono (bao gồm cả trò chơi và ứng dụng) trên AppStore đã xuất hiện từ lâu.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.