กฎ
objc_import
ดูแหล่งที่มาของกฎobjc_import(name, deps, hdrs, alwayslink, archives, aspect_hints, compatible_with, deprecation, exec_compatible_with, exec_group_compatible_with, exec_properties, features, includes, package_metadata, restricted_to, sdk_dylibs, sdk_frameworks, sdk_includes, tags, target_compatible_with, testonly, textual_hdrs, toolchains, visibility, weak_sdk_frameworks)
กฎนี้จะห่อหุ้มไลบรารีแบบคงที่ที่คอมไพล์แล้วในรูปแบบไฟล์
.a นอกจากนี้ ยังช่วยให้ส่งออกส่วนหัวและทรัพยากรได้โดยใช้แอตทริบิวต์เดียวกันกับที่ objc_library รองรับ
อาร์กิวเมนต์
| Attributes | |
|---|---|
name | 
        
           ชื่อ (ต้องระบุ) ชื่อที่ไม่ซ้ำกันสำหรับเป้าหมายนี้  | 
      
          deps
         | 
        
                     รายการป้ายกำกับ ค่าเริ่มต้นคือ   | 
      
          hdrs
         | 
        
                     รายการป้ายกำกับ ค่าเริ่มต้นคือ  ส่วนหัวเหล่านี้อธิบายอินเทอร์เฟซสาธารณะสำหรับไลบรารีและจะ พร้อมให้แหล่งที่มาในกฎนี้หรือในกฎที่ขึ้นอยู่กับกฎนี้ รวมไว้ ส่วนหัวที่ไม่ได้มีไว้ให้ไคลเอ็นต์ของไลบรารีนี้รวมไว้ ควรแสดงอยู่ในแอตทริบิวต์ srcs แทน ระบบจะรวบรวมข้อมูลเหล่านี้แยกจากแหล่งที่มาหากเปิดใช้โมดูล  | 
      
          alwayslink
         | 
        
                     บูลีน ค่าเริ่มต้นคือ  srcs และ non_arc_srcs แม้ว่าบางไฟล์จะไม่มี
สัญลักษณ์ที่ไบนารีอ้างอิงก็ตาม
ซึ่งจะมีประโยชน์ในกรณีที่โค้ดไม่ได้เรียกอย่างชัดเจนโดยโค้ดใน
ไบนารี เช่น หากโค้ดลงทะเบียนเพื่อรับการเรียกกลับบางอย่าง
ที่ได้รับจากบริการบางอย่าง
         | 
      
          archives
         | 
        
                     รายการป้ายกำกับ (ต้องระบุ) รายการไฟล์.a ที่ระบุไว้ในเป้าหมาย Objective-C ซึ่ง
ขึ้นอยู่กับเป้าหมายนี้
         | 
      
          includes
         | 
        
                     รายการสตริง ค่าเริ่มต้นคือ  #include/#importเส้นทางการค้นหาที่จะเพิ่มลงในเป้าหมายนี้
และเป้าหมายที่ขึ้นอยู่กับเป้าหมายนี้ทั้งหมด
เพื่อรองรับไลบรารีของบุคคลที่สามและไลบรารีโอเพนซอร์สที่ไม่ได้
ระบุเส้นทางของทั้งเวิร์กสเปซในคำสั่ง
#import/#include
ระบบจะตีความเส้นทางที่สัมพันธ์กับไดเรกทอรีแพ็กเกจ และจะรวม
ราก genfiles และ bin (เช่น  ซึ่งต่างจาก COPTS โดยระบบจะเพิ่มแฟล็กเหล่านี้สำหรับกฎนี้ และทุกกฎที่ขึ้นอยู่กับกฎนี้ (หมายเหตุ: ไม่ใช่กฎที่ขึ้นอยู่กับกฎนั้น) โปรด ระมัดระวังเป็นอย่างยิ่ง เนื่องจากอาจส่งผลกระทบในวงกว้าง หากไม่แน่ใจ ให้เพิ่ม Flag "-iquote" ไปยัง COPTS แทน  | 
      
          sdk_dylibs
         | 
        
                     รายการสตริง ค่าเริ่มต้นคือ   | 
      
          sdk_frameworks
         | 
        
                     รายการสตริง ค่าเริ่มต้นคือ  เมื่อลิงก์ไบนารีของ Apple ระดับบนสุด ระบบจะลิงก์เฟรมเวิร์ก SDK ทั้งหมดที่แสดงอยู่ในกราฟการอ้างอิงแบบทรานซิทีฟของไบนารีนั้น  | 
      
          sdk_includes
         | 
        
                     รายการสตริง ค่าเริ่มต้นคือ  #include/#import ที่จะเพิ่มลงในเป้าหมายนี้
และเป้าหมายที่ขึ้นอยู่ทั้งหมด โดยแต่ละเส้นทางจะสัมพันธ์กับ
$(SDKROOT)/usr/include
         | 
      
          textual_hdrs
         | 
        
                     รายการป้ายกำกับ ค่าเริ่มต้นคือ   | 
      
          weak_sdk_frameworks
         | 
        
                     รายการสตริง ค่าเริ่มต้นคือ   | 
      
objc_library
ดูแหล่งที่มาของกฎobjc_library(name, deps, srcs, data, hdrs, alwayslink, aspect_hints, compatible_with, conlyopts, copts, cxxopts, defines, deprecation, enable_modules, exec_compatible_with, exec_group_compatible_with, exec_properties, features, implementation_deps, includes, linkopts, module_map, module_name, non_arc_srcs, package_metadata, pch, restricted_to, sdk_dylibs, sdk_frameworks, sdk_includes, stamp, tags, target_compatible_with, testonly, textual_hdrs, toolchains, visibility, weak_sdk_frameworks)
กฎนี้จะสร้างไลบรารีแบบคงที่จากไฟล์ต้นฉบับ Objective-C ที่ระบุ
อาร์กิวเมนต์
| Attributes | |
|---|---|
name | 
        
           ชื่อ (ต้องระบุ) ชื่อที่ไม่ซ้ำกันสำหรับเป้าหมายนี้  | 
      
          deps
         | 
        
                     รายการป้ายกำกับ ค่าเริ่มต้นคือ   | 
      
          srcs
         | 
        
                     รายการป้ายกำกับ ค่าเริ่มต้นคือ   | 
      
          hdrs
         | 
        
                     รายการป้ายกำกับ ค่าเริ่มต้นคือ  ส่วนหัวเหล่านี้อธิบายอินเทอร์เฟซสาธารณะสำหรับไลบรารีและจะ พร้อมให้แหล่งที่มาในกฎนี้หรือในกฎที่ขึ้นอยู่กับกฎนี้ รวมไว้ ส่วนหัวที่ไม่ได้มีไว้ให้ไคลเอ็นต์ของไลบรารีนี้รวมไว้ ควรแสดงอยู่ในแอตทริบิวต์ srcs แทน ระบบจะรวบรวมข้อมูลเหล่านี้แยกจากแหล่งที่มาหากเปิดใช้โมดูล  | 
      
          alwayslink
         | 
        
                     บูลีน ค่าเริ่มต้นคือ  srcs และ non_arc_srcs แม้ว่าบางไฟล์จะไม่มี
สัญลักษณ์ที่ไบนารีอ้างอิงก็ตาม
ซึ่งจะมีประโยชน์ในกรณีที่โค้ดไม่ได้เรียกอย่างชัดเจนโดยโค้ดใน
ไบนารี เช่น หากโค้ดลงทะเบียนเพื่อรับการเรียกกลับบางอย่าง
ที่ได้รับจากบริการบางอย่าง
         | 
      
          conlyopts
         | 
        
                     รายการสตริง ค่าเริ่มต้นคือ  โปรดทราบว่าสำหรับโปรเจ็กต์ Xcode ที่สร้างขึ้น ระบบจะแยกวิเคราะห์เส้นทางไดเรกทอรีที่ระบุโดยใช้แฟล็ก "-I" ใน copts จากนั้นจะเพิ่ม "$(WORKSPACE_ROOT)/" ไว้ข้างหน้าหากเป็นเส้นทางแบบสัมพัทธ์ และเพิ่มลงในเส้นทางการค้นหาส่วนหัวสำหรับเป้าหมาย Xcode ที่เกี่ยวข้อง  | 
      
          copts
         | 
        
                     รายการสตริง ค่าเริ่มต้นคือ  โปรดทราบว่าสำหรับโปรเจ็กต์ Xcode ที่สร้างขึ้น ระบบจะแยกวิเคราะห์เส้นทางไดเรกทอรีที่ระบุโดยใช้แฟล็ก "-I" ใน copts จากนั้นจะเพิ่ม "$(WORKSPACE_ROOT)/" ไว้ข้างหน้าหากเป็นเส้นทางแบบสัมพัทธ์ และเพิ่มลงในเส้นทางการค้นหาส่วนหัวสำหรับเป้าหมาย Xcode ที่เกี่ยวข้อง  | 
      
          cxxopts
         | 
        
                     รายการสตริง ค่าเริ่มต้นคือ  โปรดทราบว่าสำหรับโปรเจ็กต์ Xcode ที่สร้างขึ้น ระบบจะแยกวิเคราะห์เส้นทางไดเรกทอรีที่ระบุโดยใช้แฟล็ก "-I" ใน copts จากนั้นจะเพิ่ม "$(WORKSPACE_ROOT)/" ไว้ข้างหน้าหากเป็นเส้นทางแบบสัมพัทธ์ และเพิ่มลงในเส้นทางการค้นหาส่วนหัวสำหรับเป้าหมาย Xcode ที่เกี่ยวข้อง  | 
      
          defines
         | 
        
                     รายการสตริง ค่าเริ่มต้นคือ  -D แฟล็กเพิ่มเติมที่จะส่งไปยังคอมไพเลอร์ โดยควรอยู่ในรูปแบบ KEY=VALUE หรือ KEY และจะส่งไปยังคอมไพเลอร์สำหรับเป้าหมายนี้ (เช่น copts
) รวมถึงไปยัง objc_ ทั้งหมดที่ขึ้นอยู่กับเป้าหมายนี้ด้วย
ขึ้นอยู่กับการแทนที่ "สร้างตัวแปร" และ
การแยกโทเค็น Bourne Shell
         | 
      
          enable_modules
         | 
        
                     บูลีน ค่าเริ่มต้นคือ   | 
      
          implementation_deps
         | 
        
                     รายการป้ายกำกับ ค่าเริ่มต้นคือ  deps โดยส่วนหัวและเส้นทางรวมของไลบรารีเหล่านี้ (และ
การขึ้นต่อกันแบบทรานซิทีฟทั้งหมด) จะใช้สำหรับการคอมไพล์ไลบรารีนี้เท่านั้น และไม่ใช่ไลบรารีที่
ขึ้นอยู่กับไลบรารีนี้ ไลบรารีที่ระบุด้วย implementation_deps จะยังคงลิงก์
ในเป้าหมายไบนารีที่ขึ้นอยู่กับไลบรารีนี้
         | 
      
          includes
         | 
        
                     รายการสตริง ค่าเริ่มต้นคือ  #include/#importเส้นทางการค้นหาที่จะเพิ่มลงในเป้าหมายนี้
และเป้าหมายที่ขึ้นอยู่กับเป้าหมายนี้ทั้งหมด
เพื่อรองรับไลบรารีของบุคคลที่สามและไลบรารีโอเพนซอร์สที่ไม่ได้
ระบุเส้นทางของทั้งเวิร์กสเปซในคำสั่ง
#import/#include
ระบบจะตีความเส้นทางที่สัมพันธ์กับไดเรกทอรีแพ็กเกจ และจะรวม
ราก genfiles และ bin (เช่น  ซึ่งต่างจาก COPTS โดยระบบจะเพิ่มแฟล็กเหล่านี้สำหรับกฎนี้ และทุกกฎที่ขึ้นอยู่กับกฎนี้ (หมายเหตุ: ไม่ใช่กฎที่ขึ้นอยู่กับกฎนั้น) โปรด ระมัดระวังเป็นอย่างยิ่ง เนื่องจากอาจส่งผลกระทบในวงกว้าง หากไม่แน่ใจ ให้เพิ่ม Flag "-iquote" ไปยัง COPTS แทน  | 
      
          linkopts
         | 
        
                     รายการสตริง ค่าเริ่มต้นคือ   | 
      
          module_map
         | 
        
                     ป้ายกำกับ ค่าเริ่มต้นคือ   | 
      
          module_name
         | 
        
                     สตริง ค่าเริ่มต้นคือ   | 
      
          non_arc_srcs
         | 
        
                     รายการป้ายกำกับ ค่าเริ่มต้นคือ   | 
      
          pch
         | 
        
                     ป้ายกำกับ ค่าเริ่มต้นคือ   | 
      
          sdk_dylibs
         | 
        
                     รายการสตริง ค่าเริ่มต้นคือ   | 
      
          sdk_frameworks
         | 
        
                     รายการสตริง ค่าเริ่มต้นคือ  เมื่อลิงก์ไบนารีของ Apple ระดับบนสุด ระบบจะลิงก์เฟรมเวิร์ก SDK ทั้งหมดที่แสดงอยู่ในกราฟการอ้างอิงแบบทรานซิทีฟของไบนารีนั้น  | 
      
          sdk_includes
         | 
        
                     รายการสตริง ค่าเริ่มต้นคือ  #include/#import ที่จะเพิ่มลงในเป้าหมายนี้
และเป้าหมายที่ขึ้นอยู่ทั้งหมด โดยแต่ละเส้นทางจะสัมพันธ์กับ
$(SDKROOT)/usr/include
         | 
      
          stamp
         | 
        
                     บูลีน ค่าเริ่มต้นคือ   | 
      
          textual_hdrs
         | 
        
                     รายการป้ายกำกับ ค่าเริ่มต้นคือ   | 
      
          weak_sdk_frameworks
         | 
        
                     รายการสตริง ค่าเริ่มต้นคือ   |