須要系統MacOS 10.15,Xcode11,OC代碼和Swift代碼項目都行。ios
MacOS 10.15以後,Xcode11 能夠將iOS app秒變Mac app,對iOS開發者又將是一波潮流,MacOS的生態更加繁榮。Mac OS和iOS 系統仍是有許多不一樣之處,有不一樣的框架庫,雖然蘋果官方作了兼容處理,但大部分的第三方庫,並還未作徹底兼容。可能存在問題大概就是調用了廢棄方法,調用了iOS獨有類未終端限制等。 iOS 設備上的強大的手勢操做,能夠經過Macbook的觸摸板部分實現。git
用個小項目試了下,iOS能夠運行for Mac。項目小隻用了AFNetWorking 和Masonry、MJExtension、DGActivityIndicatorView 庫,遇到問題和參照解決方法。github
最新的AFNetworking 3.2.1sql
- (instancetype)initWithMemoryCapacity:(NSUInteger)memoryCapacity diskCapacity:(NSUInteger)diskCapacity diskPath:(nullable NSString *)path API_DEPRECATED_WITH_REPLACEMENT("initWithMemoryCapacity:diskCapacity:directoryURL:", macos(10.2,API_TO_BE_DEPRECATED), ios(2.0,API_TO_BE_DEPRECATED), watchos(2.0,API_TO_BE_DEPRECATED), tvos(9.0,API_TO_BE_DEPRECATED)) API_UNAVAILABLE(uikitformac);
=> API_UNAVAILABLE(uikitformac);
複製代碼
也許您應該使用新的API:macos
- (instancetype)initWithMemoryCapacity:(NSUInteger)memoryCapacity diskCapacity:(NSUInteger)diskCapacity directoryURL:(nullable NSURL *)directoryURL API_AVAILABLE(macos(10.15), ios(13.0), watchos(6.0), tvos(13.0));
複製代碼
問題已提交到github,但AFNetworking還未更新,能夠手動修改unlock保存。運行,如有pod install 須要再修改過了。bash
MacOS上並不在使用UIWebView ,所以UIWebView + AFNetworking不能編譯經過, 若是您未使用UIWebView+AFNetworking,您能夠臨時刪除這個類和相關引用。app
WCDB 庫是一個不錯的sqlite管理庫。可是在forMac編譯時,能夠將以下定義框架
#if defined(__APPLE__) && ((__MAC_OS_X_VERSION_MIN_REQUIRED > 1050) || \
(__IPHONE_OS_VERSION_MIN_REQUIRED > 2000))
# if (!defined(TARGET_OS_EMBEDDED) || (TARGET_OS_EMBEDDED==0)) \
&& (!defined(TARGET_IPHONE_SIMULATOR) || (TARGET_IPHONE_SIMULATOR==0))
# define HAVE_GETHOSTUUID 1
# else
# warning "gethostuuid() is disabled."
# endif
#endif
複製代碼
修改成ui
#if defined(__APPLE__) && ((__MAC_OS_X_VERSION_MIN_REQUIRED > 1050) || \
(__IPHONE_OS_VERSION_MIN_REQUIRED > 2000))
# if (!defined(TARGET_OS_EMBEDDED) || (TARGET_OS_EMBEDDED==0)) \
&& (!defined(TARGET_IPHONE_SIMULATOR) || (TARGET_IPHONE_SIMULATOR==0)) \
&& !defined(TARGET_OS_UIKITFORMAC)
# define HAVE_GETHOSTUUID 1
# else
# warning "gethostuuid() is disabled."
# endif
#endif
複製代碼
添加 !defined(TARGET_OS_UIKITFORMAC)
的判斷。spa
注意: 以上修改如有pod install 須要再次修改。