我正在尝试绑定(bind)一个框架,该框架有自己的 Info.plist,它需要 iphoneos8.2。根据文档
https://developer.xamarin.com/guides/cross-platform/macios/binding/objective-sharpie/tools/
我安装了 Xcode 6.2,它在 Applications/Contents/...
sharpie xcode -sdks -v
应返回在/Application/Xcode*.app 中找到的任何 sdk。但是,我的输出仍然只显示 9.3 sdks。我还尝试按照其他帖子中的建议将 8.2 sdk 复制到 Xcode.app/Contents/.. 文件夹中,但无济于事。输出确实同时看到 Xcode 7.3.1 和 6.2,但它没有列出 sdk:Xcode 6.2 下的 iphoneos8.2 只有 macosx10.10 sdk。就像我说的那样,8.2 iphoneos8.2 在 6.2 的 contents/developer/sdks 文件夹中得到确认。
有谁知道为什么 8.2 sdk 不会被 sharpie 找到?
Best Answer-推荐答案 strong>
所以这是为什么没有出现的简短说明。
目标 Sharpie 枚举 /Applications/Xcode*.app 因此你会认为它会拾取旧的 iphoneos SDK。但是它不能这样做,因为它依赖于 clang 其中clang 具有针对相应 iphoneos 的最低兼容性版本, macosx , 和 watchos .因此在这种情况下,iphoneos 必须 > 8.3,任何满足此要求的都将根据 sharpie xcode -sdks 进行检测命令。
这些当然直接来自clang:
http://clang.llvm.org/docs/AttributeReference.html#availability
iOS
Apple 的 iOS 操作系统。最小部署目标由 -mios-version-min=*version* 指定或 -miphoneos-version-min=*version* 命令行参数。
苹果电脑
Apple 的 Mac OS X 操作系统。最小部署目标由 -mmacosx-version-min=*version* 指定命令行参数。出于向后兼容性原因支持 macosx,但已弃用。
tvos
Apple 的 tvOS 操作系统。最小部署目标由 -mtvos-version-min=*version* 指定命令行参数。
watch
Apple 的 watchOS 操作系统。最小部署目标由 -mwatchos-version-min=*version* 指定命令行参数。
关于ios - 目标 Sharpie 在使用 iPhoneos 9.3 时看不到旧版 iPhone SDK,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/39048954/
|