2012-01-12 35 views
19

Có bất kỳ thông tin hiện tại nào về thời gian hoặc không phải là phương pháp gian lận là hợp pháp/bất hợp pháp trên App Store không?App Store - Phương pháp Swizzling Legality

Các điểm dữ liệu duy nhất mà tôi có thể tìm thấy là Three20 framework shakeup một thời gian trở lại, mà bắt đầu với thông báo này:

ứng dụng của bạn, xxx, hiện đang được đưa lên App Store được sử dụng method_exchangeImplementations để trao đổi việc thực hiện Apple cung cấp các API với các triển khai của riêng bạn. Do sắp tới thay đổi, hành vi này trong ứng dụng của bạn có thể gây ra sự cố hoặc gây ra sự cố mất dữ liệu người dùng trên iPhone OS 4.0 .

xxx sử dụng method_exchangeThực hiện để trao đổi việc triển khai của dealloc với phương thức ttdealloc của bạn. Nó cũng trao đổi việc thực hiện của phương thức popViewControllerAnimated: với phương thức của bạn popViewControllerAnimated2 :.

Vui lòng giải quyết vấn đề này ngay lập tức và tải tệp nhị phân mới lên Kết nối iTunes. Chúng tôi có thể xóa đơn đăng ký của bạn nếu chúng tôi tin rằng làm như vậy là thận trọng hoặc cần thiết.


Khi tôi đang tìm kiếm xung quanh, mỗi cuộc nói chuyện gần đây tôi có thể tìm về swizzling và cửa hàng ứng dụng dường như để tham khảo các sự cố three20 cùng. Thông báo có vẻ khá cụ thể và tôi tự hỏi liệu sự cố có phải là vấn đề thay đổi cụ thể với những thay đổi mà Three20 đã thực hiện hoặc nếu method_exchangeImplementations bị cấm phổ biến.

Có bất kỳ điểm dữ liệu nào khác về việc liệu thực tiễn có được phép không? Có bất kỳ nhà phát triển nào với Ứng dụng trong cửa hàng đang sử dụng sự gian lận không?

Cảm ơn!

+1

Chính xác thì bạn thực sự muốn làm gì? Trong hầu hết các trường hợp, phương pháp rắc rối là một hack có thể tránh được với thiết kế tốt hơn. – JeremyP

+4

Tôi đang bỏ phiếu để đóng câu hỏi này là chủ đề không chính thức vì đó là về chính sách từ chối của Apple. Xem thêm: [Tại sao chúng tôi không hỗ trợ khách hàng cho công ty yêu thích của bạn] (https://meta.stackoverflow.com/questions/255745/why-were-not-customer-support-for-your-favorite-company). – FelixSFD

Trả lời

7

AFNetworking, một lib rộng rãi (IMO) được sử dụng cho các yêu cầu mạng, được sử dụng cho đến ít nhất phiên bản 1.3.4 để hỗ trợ các mã trạng thái và loại nội dung có thể chấp nhận được trong các phương thức lớp.

Vì vậy, có vẻ như hợp pháp để làm điều đó.

Lưu ý: Họ đã sử dụng class_replaceMethod chứ không phải method_exchangeImplementations.

+0

Tôi đã thực hiện tìm kiếm không gian làm việc cho 'method_exchangeImplementations' trong AFNetworking không thể tìm thấy bất kỳ tham chiếu nào về nó.AFNetworking chỉ sử dụng thư viện thời gian chạy cho một số danh mục của chế độ xem và nó sử dụng phương thức objc_setAssociatedObject để gắn giá trị khóa. Tôi không phải là phương pháp nổi loạn. –

+0

AFNetworking đã trải qua một cuộc đại tu lớn, có thể phiên bản 2.0 hoạt động mà không bị vướng bận. Tuy nhiên, cho đến và bao gồm cả phiên bản 1.3.4 nó đã sử dụng class_replaceMethod trước đó trong AFHTTPRequestOperation. –

+0

vui lòng cập nhật câu trả lời của bạn sau đó. –

0

Thông thường, bạn sẽ phải gỡ lỗi để xem khi nào một phương pháp cụ thể được gọi hoặc trong trường hợp bạn không thể phân loại thứ gì đó hoặc sử dụng danh mục cho nó. Nếu bạn không có lịch biểu chặt chẽ về việc đưa Ứng dụng của mình lên cửa hàng ứng dụng, tôi đoán bạn có thể thử gửi đơn đăng ký của mình bằng phương pháp và xem liệu nó có được chấp nhận hay không. Không có ứng dụng nào được xem xét theo cùng một cách, đôi khi nó thực sự chỉ dành cho người đánh giá.

+0

có ai đã thử điều này không? hoặc tôi sẽ là người đầu tiên tìm ra? –

+1

@ShayanRC nó là hợp pháp, bạn có thể sử dụng sự gian lận. – Peres

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