2010-06-06 19 views
5

Apple không muốn bất kỳ ai tạo ứng dụng iPhone bên ngoài môi trường Xcode/Objective-C. Làm thế nào họ thực sự có thể thực thi điều này?Chính sách iPhone Dev mới ... Apple thực thi điều này như thế nào?

Nếu không phải là Xcode IDE, ví dụ Unity, biên dịch sang iPhone thực thi, Apple sẽ biết môi trường dev nào bạn đã sử dụng để tạo ứng dụng? Họ có thể có Xcode biên dịch một số loại chữ ký vào thực thi mà không ai biết?

+0

@Longpoke: Tôi nghĩ rằng nó đã được đưa ra chủ yếu để ngăn chặn Adobe. – dreamlax

+3

Chờ đã, cái gì? chủ quan và tranh luận? Tôi không đồng ý, tôi nghĩ đây là một câu hỏi hay - làm sao táo có thể nhận ra vi phạm 3.3.1? – Colin

+2

Tại sao điều này "chủ quan"? Chỉ có một câu trả lời đúng, hoặc là họ có một số cách để biết ai đang phá vỡ quy tắc mà không có ninja, hoặc họ không. –

Trả lời

1

Đối với các công cụ như đoàn kết, corona, flash và các nền tảng khác được sử dụng để 'tạo' ứng dụng iphone, Apple có thể 'dịch ngược' và kiểm tra ứng dụng của bạn (xem các mẫu chức năng được tạo, v.v ...). Từ đó, họ có thể đoán rằng ứng dụng của bạn đã được tạo bằng công cụ như vậy.

Trong giới hạn, điều này là không thể. Hãy xem xét những điều sau đây: Tôi viết một số mã kịch bản để tạo ra một loạt mã mục tiêu-c. Sau đó, tôi nhập thủ công các tệp mục tiêu-c vào xcode và xây dựng ứng dụng. Làm thế nào táo có thể phân biệt mã được tạo bởi tập lệnh từ mã do con người viết? Có lẽ tôi chỉ có xu hướng viết mã mà xảy ra để tìm máy được tạo ra. Không có cách nào để táo xác định xem mã có được "ban đầu được viết bằng mục tiêu c, c, c + + hay javascript" hay không, nhưng điều này vẫn là, về mặt kỹ thuật, vi phạm thỏa thuận. Đó là lý do tại sao phần 3.3.1 của thỏa thuận là vô nghĩa.

0

Tôi tin rằng nhiều công cụ dịch giả này có một số loại thư viện chức năng thời gian chạy phổ biến để xử lý các phần không thể dịch được 1: 1. Các chức năng đó có thể khá ổn định bất kể ứng dụng của bạn là gì. Bằng cách đó sẽ không có nhu cầu thực sự để dịch ngược ứng dụng. nhưng thay vì chỉ tìm cách sử dụng các chữ ký chức năng đó.

FWIW Tôi thấy toàn bộ ý tưởng hạn chế lựa chọn công cụ của người dùng là một động thái xấu.

1

Hầu hết các hệ thống tự động thực hiện mọi việc theo một cách cụ thể, không khó để phát hiện. Nếu bạn đã từng xem mã PHP hoặc JavaScript mà Adobe Dreamweaver tạo ra, ví dụ, bạn biết việc tìm kiếm những thứ như thế này dễ dàng như thế nào.

1

Apple đang thực hiện việc này để ngăn mọi người sử dụng khung phát triển Flash của Adobe. Cũng cần lưu ý rằng quyết định của Apple để hạn chế Khung Ứng dụng như thế này đang khiến DOJ/FTC hoặc một số cơ quan chính phủ bắt đầu một cuộc điều tra không chính thức về các hoạt động độc quyền.

From this article: "Theo nguồn Hollywood của bài viết, của Apple cấm công nghệ Adobe Flash trên iPhone và iPad là những gì đã thúc đẩy chính phủ để poke xung quanh."

Họ thực sự không có một vấn đề cho đến bây giờ với các khung công tác khác vì Adobe không có một khung công tác dựa trên môi trường Flash. Bây giờ có một, Apple sẽ hạn chế bất cứ điều gì mà nói/trông/mùi/hành vi như một ứng dụng Adobe Flash trên iPhone. Theo ý kiến ​​của tôi, họ sẽ không làm bất cứ điều gì với các khung công tác khác, nhưng họ sẽ thực thi quy tắc chỉ dành cho Adobe. Điều đó mang đến toàn bộ điều thực hành độc quyền.

Các vấn đề liên quan