美文网首页
直接编译iOS项目中的Swift源文件

直接编译iOS项目中的Swift源文件

作者: GitArtOS | 来源:发表于2021-03-01 15:40 被阅读0次

    直接编译会报错,因为依赖了UIKit或其它库,需要额外指定-target-sdk

    1.sdk直接指定Xcode对应的SDK.

    //模拟器
    /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulatorXX.X.sdk`
    //真机
    /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOSXX.X.sdk`
    //mac
    /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSXXX.X.sdk
    

    使用相应的命令获取 例如:

    ➜  ~ xcrun --show-sdk-path --sdk macosx                         
    /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.1.sdk
    ➜  ~ xcrun --show-sdk-path --sdk iphonesimulator      
    /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator14.4.sdk
    ➜  ~ xcrun --show-sdk-path --sdk iphoneos               
    /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS14.4.sdk
    
    

    2.target指令集-apple-ios版本/指令集-apple-ios版本-simulator

    这里在操作时用Mac/iPhone代替apple也是可以的,分别指代MaciPhone平台。当然TVwatch也同理。
    对应目标平台i386、x86_64、armv7、armv7s、arm64、arm64e等,这里iOS版本最低iOS7
    如:arm64e-apple-ios14.0x86_64-apple-ios14-simulatorarmv7-iphone-ios12.0arm64-mac-macosx11.0

    //模拟器
    swiftc -emit-sil -sdk $(xcrun --show-sdk-path --sdk iphonesimulator)  -target x86_64-apple-ios14.0-simulator ViewController.swift >> ./ViewController.sil
    //真机
    swiftc -emit-sil -sdk $(xcrun --show-sdk-path --sdk iphoneos)  -target arm64e-apple-ios14.0 GitViewController.swift >> ./GitViewController.sil
    //mac
    swiftc -emit-sil -sdk $(xcrun --show-sdk-path --sdk macosx) -target arm64-apple-macosx11.0 GitViewController.swift >> ./GitViewController.sil
    

    更详细的介绍可以观看官方讲解视频

    相关文章

      网友评论

          本文标题:直接编译iOS项目中的Swift源文件

          本文链接:https://www.haomeiwen.com/subject/xxeafltx.html