Lỗi Xcode 6: Lớp không xác định trong tệp Trình tạo giao diện


600

Tôi đã nâng cấp lên Xcode 6 beta 4 và bây giờ Ứng dụng của tôi liên tục gặp sự cố với thông báo

Lớp X không xác định trong tệp Trình tạo giao diện.

Nó gặp sự cố vì được cho là Xcode không thể tìm thấy các lớp tùy chỉnh mà tôi đã liên kết trong Storyboard của mình nhưng nó cho thấy rằng chúng được liên kết chính xác trong giao diện Xcode.

Tôi tích cực mọi thứ được liên kết chính xác. Tùy chọn khác duy nhất của tôi có thể là xóa toàn bộ tệp bảng phân cảnh và bắt đầu lại từ đầu vì nó có thể bị hỏng theo cách nào đó.

Chỉnh sửa: Tôi cũng muốn thêm rằng tôi đã thử làm sạch, thiết lập lại trình giả lập, gây rối với các giai đoạn xây dựng, v.v. Không có cách nào hoạt động.


Bản sao có thể có của stackoverflow.com/questions
43216269 / Google

1
@ ImreKelényi Bạn nói đúng. Điều này đã xảy ra với tôi một lần nữa gần đây sau khi làm những gì bạn vừa mô tả.
Byte

Điều này làm việc cho tôi, stackoverflow.com/questions/1725881/ từ
vrunoa

Đó là lỗi đánh máy đối với tôi, gỡ lỗi nó thành phần tử Control, cho đến khi nó đến, chọn; Xem Trình điều khiển> trình kiểm tra danh tính> Lớp tùy chỉnh> Lớp. xóa nó nếu lớp đó không được xác định.
mavericks

9
XIN LƯU Ý! "Lỗi" này có thể xuất phát từ các nguồn gốc khác nhau. Nếu câu trả lời được chấp nhận không phù hợp với bạn thì hãy chuyển xuống và thử câu trả lời tiếp theo. Câu trả lời đúng cho tình huống của tôi là câu trả lời thứ 5.
Jacksonkr

Câu trả lời:


1454

Tôi đã giải quyết vấn đề này khi tôi đang gõ câu hỏi. Tôi hình dung tôi sẽ trả lời câu hỏi của mình và để nó ở đây cho bất kỳ ai khác có thể gặp phải vấn đề này khi sử dụng Xcode 6 beta 4.

Để giải quyết vấn đề này, bạn cần chọn từng đối tượng lớp tùy chỉnh của mình trong Storyboard (điều này bao gồm bất kỳ chế độ xem tùy chỉnh nào, ngay cả chính bộ điều khiển chế độ xem tùy chỉnh).

Sau đó, với các đối tượng được chọn, hãy mở trình kiểm tra danh tính và trong "Lớp tùy chỉnh", bạn sẽ thấy tùy chọn Mô-đun. Nhấp vào bên trong hộp văn bản Mô-đun và nhấn enter.

Đó là nó! Mô-đun hiện tại cho tất cả các đối tượng tùy chỉnh của tôi phải được đặt bên trong không chính xác bằng cách nào đó trong Xcode 6 beta 4. Nhưng không có dấu hiệu trực quan nào về điều này trong trình kiểm tra.

Lưu ý rằng nếu nhấn enter bên trong hộp văn bản Mô-đun không hoạt động, hãy thử chọn mũi tên sang phải và chọn thủ công mô-đun hiện tại của bạn, sau đó xóa hộp văn bản và nhấn enter. Bạn cũng có thể thử nhấn enter bên trong hộp văn bản lớp (mặc dù điều này thường là để giải quyết vấn đề khác).

Đây là một hình ảnh để làm cho mọi thứ rõ ràng hơn: nhập mô tả hình ảnh ở đây


70
Đối với tôi, nhấp vào bên trong "Mô-đun" và nhấn enter không hoạt động ổn định, nhưng chọn trường "Lớp" (và nhấn enter) luôn thực hiện công việc.
Imre Kelényi

2
Đối với tôi, mục tiêu đã được đặt chính xác, nhưng lớp vẫn không xuất hiện trong IB. Tuy nhiên, tôi nhận thấy rằng "Vị trí" của tệp hiển thị đường dẫn "Liên quan đến Dự án" thay vì "Liên quan đến Nhóm". Xóa tham chiếu tệp VÀ nhóm và thêm lại nó trong thư mục gốc của dự án làm việc cho tôi.
knl

8
Ồ Cảm ơn vì điều này, tôi không nghĩ rằng mình sẽ đến đó bằng cách khác. Điều này đã khắc phục sự cố bắt đầu xảy ra sau khi tôi thêm @objc(...)vào một trong các lớp Swift của mình.
ndbroadbent

12
Vấn đề này vẫn còn trong XCode 7.2. Giải pháp này đã làm việc.
Tom Fast

3
Đây vẫn là một vấn đề trong Xcode 8.3.1 ... thật đáng xấu hổ
Sepehr Behroozi

99

Đôi khi Xcode bị mất customModule="AppName" customModuleProvider="target"

Để khắc phục, hãy mở bảng phân cảnh dưới dạng mã nguồn và thay thế dòng này:

<viewController storyboardIdentifier="StoryboardId" id="SomeID" customClass="CustomClass"
sceneMemberID="viewController">

đến đây:

<viewController storyboardIdentifier="StoryboardId" id="SomeID" customClass="CustomClass"
 customModule="AppName" customModuleProvider="target" sceneMemberID="viewController">

7
Trên thực tế trong trường hợp của tôi, tôi đã phải loại bỏ customModuleProvider, sau đó lỗi đã biến mất.
Maciej Swic 11/03/2015

3
Guillermo, vẫn diễn ra trong Xcode vào cuối tháng 3!
Ed Manners

3
@MaciejSwic Loại bỏ customModuleProvidernó đã làm cho tôi là tốt, cảm ơn bạn!
Sakiboy

1
Còn đối với các tập tin xib thì sao?
SleepsOnNewspapers

7
Vẫn đang diễn ra ... những chuyện như thế này khiến tôi muốn khóc :(
Luke

72

Tôi đã có vấn đề này sau khi đổi tên một lớp nhanh chóng. Đã giải quyết nó bằng cách sử dụng lệnh @objc:

@objc(ForumTopicListViewController) class ForumTopicListViewController

4
Điều này đã sửa nó cho tôi, tôi đã có @objc class Xvà thay đổi để @objc(X) class Xlàm việc.
Joe

1
Bạn cũng có thể thử xóa dữ liệu dẫn xuất của mình, xem stackoverflow.com/questions/24039932/
Kẻ

Có vấn đề này sau khi đổi tên lớp ViewControll mặc định từ mẫu dự án Single View. Tôi tự hỏi ma thuật nào đã được sử dụng để @objc()chỉ thị không cần thiết cho lớp ViewContoder 'gốc' ...
Berend Klein Haneveld

Tôi đi về phía đối diện. Tôi đã chỉ định tên mô-đun trong tệp Storyboard nhưng cũng đã thêm chỉ thị @objc.
WeZZard

1
KHÔNG làm việc cho tôi. :( Không phải là giải pháp của tên Mô-đun hoạt động.
huyền thoại mã hóa

64

Dự án có nhiều mục tiêu

Trong trường hợp của tôi, tôi đang làm việc trên Project với nhiều Mục tiêu và vấn đề là "kế thừa từ Target" đã không được kiểm tra. Chọn "kế thừa từ mục tiêu" đã giải quyết vấn đề của tôi

nhập mô tả hình ảnh ở đây


Cảm ơn đã đăng bài này. Giải quyết vấn đề tôi đã thấy rất nhanh.
JaredH

Tôi đã ở trong hoàn cảnh tương tự. (XCode 9.4.1) Tôi đã tạo một ứng dụng iOS có tên FilesTestA, với UIView tùy chỉnh có tên MxFileView (bao gồm MxFileView.swift và MxFileView.xib). Sau đó, tôi đã thêm một mục tiêu khác: tiện ích hôm nay ("FilesTestAWidget"). Giải pháp cho việc sử dụng MxFileView trong widget: (1) class = "MxFileView"; (2) kiểm tra "Kế thừa mô-đun từ mục tiêu" (hoặc bỏ chọn nó và nhập thủ công "FilesTestAWidget"); (3) trong mục tiêu ứng dụng, đảm bảo rằng cả MxFileView.swift và MxFileView.xib đều bao gồm FilesTestAWidget trong Tư cách thành viên mục tiêu của họ.
Kenster999

Điều này đã xảy ra với tôi trong một dự án mới từ mẫu mặc định trong Xcode 10.1 (một mục tiêu ứng dụng iOS duy nhất và 2 mục tiêu thử nghiệm). Hộp kiểm đã được bỏ chọn cho tất cả các bộ điều khiển chế độ xem tùy chỉnh của tôi (và do đó, văn bản giữ chỗ là "Không"). Sau khi xem qua và kiểm tra hộp kiểm cho mọi bộ điều khiển xem tùy chỉnh trong bảng phân cảnh của tôi, vấn đề đã được giải quyết.
Mason

58

Điều này làm việc cho tôi ..

Kiểm tra nguồn đã biên dịch của bạn, xem tệp đó (ví dụ: ViewContoder.m) có được thêm hay không, trong trường hợp của tôi, tệp ViewContoder không được thêm vào nên nó gây ra lỗi cho tôi ..

nhập mô tả hình ảnh ở đây


@CarmenA Bạn chỉ bao giờ thêm tệp '.m' vào Compile Sources. Đây thực sự là giải pháp chính xác (& duy nhất) cho một số người.
Jacksonkr

Tôi đã thử một vài giải pháp khác mà không gặp may. Điều này đã lừa Vì một số lý do kỳ lạ, một mục tiêu bị thiếu một tệp nguồn mang lại cho tôi sự phù hợp.
galactikuh

đối với tôi cũng vậy .. Đã xảy ra vì một số giải quyết xung đột
Eldhose

46

Điều này có thể xảy ra trong bất kỳ Xcode nào trên 6.0. Nó đã xảy ra với tôi sau khi đổi tên một số lớp ViewContoder trong dự án Swift (nhưng tôi đoán nó cũng sẽ xảy ra với Obj-C). Bạn chỉ cần mở trình xây dựng giao diện, đi đến Trình kiểm tra danh tính của ViewContoder đã đổi tên lớp, chọn lớp và nhấn Enter. Điều đó sẽ gán lại lớp đã đổi tên thành ViewContoder đã chọn và cũng đặt lại Giá trị Mô-đun bị mất sau khi đổi tên lớp.

Cập nhật cho Xcode 8.1 (có thể là 8.0):

Xcode 8.1 vừa gặp sự cố. Đơn giản và khó chịu chỉ là sự cố và không in bất cứ điều gì. Tôi đã theo đuổi vụ tai nạn ma quái đó trong một giờ chỉ để biết rằng đó là điều rất giống nhau - lớp không được chỉ định trong IB. Nếu bạn gặp một số sự cố ảo, trước tiên hãy kiểm tra IB cho các lớp chưa được gán.


cám ơn vì cái này. có vẻ như việc làm theo đề xuất của bạn khiến Xcode cập nhật mô-đun (theo lớp trong IB) từ Không thành Hiện tại. Tôi nghĩ vấn đề là chỉ cần nhập tên w / out nhấn enter không thể kích hoạt cập nhật mô-đun bằng Xcode.
rockiesGrizzly

Điều này làm việc cho tôi. Tôi vô tình đổi tên một lớp trình điều khiển, vì vậy rõ ràng nó không còn tồn tại khi trình điều khiển xem được tải.
Litehouse

32

Đôi khi bộ điều khiển bạn đang cung cấp sẽ mất tư cách thành viên mục tiêu từ ứng dụng hiện tại. Trong trường hợp đó, nhấn enter trên trường "Mô-đun" sẽ không làm gì cả. Chuyển đến bộ điều khiển và đảm bảo rằng nó có thành viên đích được đặt thành ứng dụng hiện tại.


Đây cũng là vấn đề đối với tôi - nhiều mục tiêu dẫn đến tệp lớp vô tình không được đưa vào mục tiêu tôi đang xây dựng.
Ryan Kreager 6/07/2015

Tôi đã hợp nhất các tập tin và bỏ lỡ điều này trong một trong những mục tiêu của mình, câu trả lời tuyệt vời
Benjamin Jimenez

Tốt, hợp nhất pbx đã phá vỡ các giá trị thành viên mục tiêu.
hệ thống

32

Kích hoạt Inherit Module From Targetlấy mô-đun đích chính xác. Điều đó đã giải quyết vấn đề.

nhập mô tả hình ảnh ở đây


Xác nhận. Điều này đã giúp tôi giải quyết vấn đề.
Chris8447

Tôi thường gặp vấn đề này khi chuyển đổi bộ điều khiển xem từ Objective-C sang Swift. Tôi gõ lại chữ cái cuối cùng và nhấn Enter. Nên làm thủ thuật là tốt.
DevNebulae

30

Câu trả lời của tôi: đặt Mô-đun tùy chỉnh bằng với tên Pod tùy chỉnh (trong ví dụ của tôi - tên lớp tùy chỉnh) như trên ảnh chụp màn hình được đính kèm

Giải pháp này dành cho một trường hợp cụ thể : dành cho các lớp xem tùy chỉnh từ khung Pod (hoặc Carthage ).

Cơ sở hạ tầng: XCode8, Swift3

nhập mô tả hình ảnh ở đây


18

Tôi đã sửa nó bằng cách làm chính xác điều ngược lại với những gì ChikabuZ đề xuất (mặc dù cảm ơn vì đã chỉ ra). Trong tập tin bảng phân cảnh, tìm thấy điều này:

<viewController storyboardIdentifier="StoryboardId" id="SomeID" customClass="CustomClass" customModule="AppName" customModuleProvider="target" sceneMemberID="viewController">

và thay thế nó bằng cái này:

<viewController storyboardIdentifier="StoryboardId" id="SomeID" customClass="CustomClass" sceneMemberID="viewController">

Tôi không thể tin được mình mất bao nhiêu giờ để khắc phục lỗi trong trình biên dịch Swift và Xcode 6


17

Chọn đúng Modulecho tôi Custom Classtôi đã giải quyết vấn đề này.

Đây là:

nhập mô tả hình ảnh ở đây


13

Tôi đã gặp vấn đề này trong Xcode 8 , để giải quyết nó, tôi đã phải sửa đổi bảng phân cảnh trong trình soạn thảo văn bản.

Nói chung, tìm kiếm sự kiểm soát của bạn và loại bỏ customModulecustomModuleProvider từ thực thể kiểm soát.

Đã làm một mẹo cho tôi.


Hừ! Hack đẹp :)
Vexy

10

Tôi đã từng gặp vấn đề tương tự.

Trong trường hợp của tôi, Xcode không thêm lớp tùy chỉnh của tôi vào: Target> Build Phase> Compile Source.

Vì vậy, tôi khuyên bạn nên xác minh xem CustomClass.m của bạn có ở đó không.

nhập mô tả hình ảnh ở đây

Tôi hy vọng cái này sẽ giúp bạn.


Đây là những gì đã xảy ra với tôi, và may mắn tìm thấy lối thoát của tôi! Tôi đã đến đây để trả lời nhưng bạn là người đầu tiên. Cảm ơn!!!
Gabriel Piffaretti

9

Tôi đã gặp vấn đề này trong Xcode 6.1 khi tôi gỡ bỏ Main.storyboard, LaunchScreen.xibtệp và các ViewControllerlớp mặc định khỏi dự án của tôi.

Tôi đã sửa nó bằng cách xóa Launch Screen FileMain Interfacecác mục từInfo.plist



8

Tôi googled ở khắp mọi nơi cho điều này. Không có câu trả lời nào phù hợp với tôi cho đến khi tôi gặp 1 anh chàng yêu cầu tôi chuyển thư mục dự án của mình sang máy tính để bàn. Nó chỉ hoạt động tự động. Rõ ràng nếu bạn có thư mục dự án của bạn vào sâu trong nhiều thư mục, XCODE thực sự bị hỏng.


Tôi gặp vấn đề này trong Xcode 7 beta 5 một lần nữa kể từ khi tôi gặp nó trong Xcode 6 trước đó. Lần này, phương pháp này hiệu quả với tôi.
Jake Lin

1
Trong phòng thu hình ảnh có một vấn đề tương tự. Nhưng ở đó, chúng tôi nhận được một thông báo cảnh báo rõ ràng nói rằng đường dẫn quá dài và mọi thứ không thể được thêm hoặc chỉnh sửa. Không chắc nó có giống với XCODE hay không, nhưng sau tập đó tôi giữ tất cả các dự án của mình trong tài liệu hoặc máy tính để bàn và không bao giờ gặp vấn đề này nữa. Tôi thậm chí đã đưa ra lời khuyên này cho ai đó sử dụng Xamarin Studio và nó cũng có hiệu quả với họ ...
VBaarathi

7

Những bước này làm việc cho tôi.

1) Xóa dữ liệu phái sinh.
2) Xóa các tệp .h và .m
3) Tạo lại các tệp .h và .m


Cái này cũng có tác dụng với tôi. Tôi thậm chí đã làm cho nó hoạt động mà không xóa dữ liệu dẫn xuất.
jaytrixz

Điều này đã có hiệu quả với tôi, cảm ơn Arwin rất nhiều, nhưng tôi vẫn không hiểu tại sao nó lại gây ra lỗi như vậy bởi vì tôi đã không sửa đổi bất cứ điều gì trong lớp hoặc trong IB trước đây
Kirtikumar A.

7

Tôi đã giải quyết điều này bằng cách mở tệp bảng phân cảnh của mình dưới dạng mã nguồn và sử dụng lệnh-F để tìm kiếm lớp không xác định của tôi và xóa lớp tùy chỉnh được liên kết với nó.


6

Những gì @gfrs nói là chính xác, bạn cần đặt Module. Tuy nhiên, tôi đã từng gặp phải một vấn đề rằng lớp học của tôi không được liệt kê trong Classdanh sách thả xuống. Cuối cùng, tôi đã xóa tệp swift, khởi động lại Xcode và tạo lại tệp. Cuối cùng, lớp đã được liệt kê và có thể được sử dụng trong Storyboard.

Cũng có một cái nhìn về câu trả lời này , có vẻ như để giải quyết vấn đề 'thực tế' mà tôi gặp phải.


Loại bỏ và thêm lại tập tin lớp làm việc cho tôi. Cảm ơn!
Nicolas Miari

6

Tôi đã giải quyết vấn đề này bằng cách nhập tên Mô-đun (không may là danh sách thả sẽ không hiển thị gì ...) trong Lớp tùy chỉnh của trình kiểm tra danh tính cho tất cả các trình điều khiển và chế độ xem.

Bạn cũng có thể cần phải chỉ ra nhà cung cấp mục tiêu. Để đạt được mục tiêu này, bạn có thể mở bảng phân cảnh ở chế độ sourcecode và thêm thuộc tính "customModuleProvider" trong cả hai khung nhìn ViewContoder và View angle.


6

Giải pháp của tôi (Xcode 8.1 Swift 3.0):

Lớp xxx không xác định trong tệp Trình tạo giao diện.

Mở StoryBoard dưới dạng Mã nguồn và tìm kiếm xxx . Xóa thuộc tính có chứa giá trị xxx . Xây dựng và chạy.


WTF? Điều này là hoàn toàn cần thiết cho tôi, cảm ơn bạn. Tôi đã phải xóacustomModule="" customModuleProvider=""
Dan Rosenstark

1
Nếu chúng tôi cố gắng xuất bản một ứng dụng lên cửa hàng ứng dụng có lỗi như thế này, ứng dụng sẽ bị từ chối mà không cần suy nghĩ.
ibrahimyilmaz

Tôi không đồng ý. Tôi vừa gửi bản dựng mà tôi phải sửa đổi theo cách này cho TestFlight và nó đã sẵn sàng để thử nghiệm Beta ... chúng ta sẽ thấy những gì xảy ra trên cửa hàng ứng dụng thực tế, nhưng đó là lỗi IB IMO. Cảm ơn!
Dan Rosenstark

4

Trong trường hợp của tôi, tôi đã thêm một cờ -ObjCvào Other Linker Flagstrong cài đặt dự án để làm cho nó hoạt động. Ngoài ra tôi đã thử với -all_loadcờ và nó cũng hoạt động tốt.

nhập mô tả hình ảnh ở đây


3

Trong trường hợp của tôi, lớp được tham chiếu trong Storyboard / xib không có Tư cách thành viên mục tiêu .

Để khắc phục, hãy cung cấp cho các lớp đó .h.mcác tệp thành viên mục tiêu giống như các lớp khác của bạn.

Không có thành viên mục tiêu được thiết lập.


Đây là vấn đề của tôi, nhưng trong khi thử nhiều giải pháp khác nhau, tôi đã gây ra vấn đề mà câu trả lời của Epic Byte đã khắc phục. Bạn phải có mã nguồn của mình trong mục tiêu bạn đang xây dựng, nhưng trong IB bạn cần đặt bộ điều khiển xem là một phần của mục tiêu hiện tại.
SafeFastExpressive

Thành viên mục tiêu cũng là vấn đề của tôi, nhìn khắp nơi, nhưng nhờ câu trả lời này mà tôi có thể giải quyết nó.
Borzh

3

Giải pháp của tôi là xóa @objc khỏi định nghĩa lớp Tùy chỉnh.


2
Một số ví dụ với lời giải thích sẽ là tuyệt vời.
Nilambar Sharma

2

Tôi đã phải đối mặt với vấn đề khi tôi chuyển bảng phân cảnh từ dự án Swift sang dự án Objective-c, nhận thấy câu trả lời của vvkuznetsov , hóa ra hai dự án sử dụng cùng một mã định danh. Tôi "Sản phẩm -> Làm sạch" và nhấn phím Enter trên trường văn bản Mô-đun và Lớp. vấn đề đã biến mất


2

Tôi đã sửa lỗi này dọc theo dòng của Laura nhưng tôi không cần phải tạo lại các tập tin.

Sử dụng XCode 4, trong Project Navigator, chọn tệp .m chứa lớp mà nó đang phàn nàn về

Đi đến Xem-> Tiện ích-> Hiển thị Trình kiểm tra tệp (phần này sẽ hiển thị Trình kiểm tra tệp ở bên phải, với thông tin .m-file đó)

Mở phần Thành viên mục tiêu và đảm bảo rằng mục tiêu của bạn được chọn cho tệp .m này

Khi tôi thêm tệp .m của mình vào dự án của mình, nó đã không thêm nó vào mục tiêu mặc định của tôi vì một số lý do và điều đó khiến tôi gặp phải lỗi mà bạn đã đề cập.


2

Vấn đề của tôi là lỗi người dùng. Tôi đã có một UIView chung trong bảng phân cảnh của mình và trong phần Lớp tùy chỉnh của Thanh tra danh tính, tôi đã vô tình thay đổi tên từ UIView thành vô nghĩa.

Tất cả những gì cần sửa là thay đổi nó trở lại thành UIView.


Tôi đã làm điều tương tự, nhưng tôi đã vô tình thêm tên Bộ điều khiển Chế độ xem Tùy chỉnh vào phần lớp tùy chỉnh của chế độ xem gốc của ViewControllers. Vì vậy, tôi đã tìm kiếm lý do tại sao View Controller không thể được tìm thấy khi nó là chế độ xem gốc trong toàn bộ thời gian.
TMin

1

Điều chỉ làm việc cho tôi là thực sự thêm tên mô-đun vào tệp xib ...

Sooo, các tập tin xib trông như thế này:

mymodule.MyViewController.xib (Module being the name of the proyect, usually)

Theo tôi, giải pháp HORRIBLE, nhưng đó được cho là cách Apple muốn chúng tôi làm điều đó ngay bây giờ.

Câu hỏi này cho thấy 3 công việc có thể xảy ra xung quanh phiên bản beta 4 ... rõ ràng Apple đã không hữu ích lắm trong tình huống này theo một số người vì họ gọi nó là "Hoạt động như dự định".


1

Tôi gặp vấn đề tương tự với Xcode Phiên bản 6.1 (6A1052d). Tôi nghĩ vấn đề xuất hiện nếu bạn đổi tên Dự án Ứng dụng / Xcode của mình.

Giải pháp của tôi là thêm tên mô-đun trong trình xây dựng giao diện theo cách thủ công.


1

Tôi gặp vấn đề này sau khi tôi thêm mục tiêu mới, sau đó tạo lớp mới bằng hộp thoại 'Tệp mới' nhưng vô tình không kiểm tra mục tiêu mới cũng như mục tiêu ban đầu trong hộp thoại tạo, vì vậy đối tượng chỉ được thêm vào mục tiêu ban đầu. Giải pháp là xóa các tệp nguồn (chỉ xóa tham chiếu) sau đó thêm lại chúng bằng cách sử dụng 'Thêm tệp', lần này kiểm tra cả hai mục tiê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.