Alb*_*rto 14 macos xcode cocoa static-libraries ios
我正在创建现有OSX应用程序的iOS版本,并想知道在两者之间共享代码的最佳实践是什么.有问题的代码仅取决于基础框架和Sqlite动态库,因此它应该在两个平台上编译并运行良好.
在我看来,有三种可能的选择:
上述方法之一是否有可能比其他方法更好?如果没有,选项2似乎是最简单的.
我已经这样做了并采用了第三种方法;一个单独的静态库。我选择这种方法的原因是因为它可以保存在自己的 git 存储库中,并在以后与其他项目共享。
然而,需要克服的一件事是确定您正在编译的平台。我使用以下代码片段解决了这个问题,该代码片段定义SYSINFO_IOS或SYSINFO_OSX然后在库源/头文件中使用:
#import <TargetConditionals.h>
#if !TARGET_OS_IPHONE && !TARGET_IPHONE_SIMULATOR
#define SYSINFO_OSX 1
#else
#define SYSINFO_IOS 1
#endif
Run Code Online (Sandbox Code Playgroud)
这个片段应该在它自己的头文件中。
| 归档时间: |
|
| 查看次数: |
2407 次 |
| 最近记录: |