前期准备

专有钉iOS客户端使用cocoapods(1.7.5)版本集成,主要支持语言为Objective-C,另含少部分swift语言,ISV开发者可以使用Objective-C来开发集成应用(Bundle),目前集成应用接口层还未适配swift。

专有钉钉客户端团队也在努力适配swift,如您却有使用需求,请联系专有钉钉技术支持。

脚手架+Mock工具+接口库

DTKOpenTool.zip

Cocoapods版本

1.7.5

最小支持iOS版本号

iOS:10.0

SWIFT ABI

swift 5.0

三方SDK依赖

专有钉客户端中引了一些常用的三方SDK,开发者开发Bundle时,如需引用三方SDK,则需满足以下条件

  1. 引用三方SDK时,推荐使用cocoapods引入
  2. 引用三方SDK时,只能使用版本号引入,不能使用git地址或http地址引入
  3. 依赖申明
    • Podfile:按照cocoapods规范引入,例如 pod SDWebImage '5.0.0
    • Bundle.plist(开发者开发的sdk的描述文件,详情见Bundle介绍):在dependency中插入依赖库的名称和版本号(重要,用来申明sdk接入专有钉客户端时,所引用的三方SDK及版本)
    • 注:专有钉集成开发者开发的SDK时,不会将SDK上传至任何pod源,所以不需要提供podspec文件,但开发者在MockApp中集成SDK时,需要用到podspec文件。

三方SDK引用

引用三方SDK时,需使用尖括号引入对应模块的modular header,禁止使用引号引用。例如 #import <SDWebImage/SDWebImage.h>

三方SDK依赖冲突

开发者开发的bundle所依赖的三方SDK,有可能和专有钉自身引用的三方SDK有版本冲突,专有钉引用的常用三方SDK列表如下,开发者在开发过程中应当避免使用存在冲突的版本

  1. # for Objective-C
  2. pod 'Shimmer', '1.0.2'
  3. pod 'Bolts', '1.9.1'
  4. pod 'FileMD5Hash', '2.0.0'
  5. pod 'TOCropViewController', '2.3.6'
  6. pod 'pop', '1.0.8'
  7. pod 'SWTableViewCell', '0.3.7.1'
  8. pod 'Masonry', '1.1.0'
  9. pod 'FSCalendar', '2.7.9'
  10. pod 'MJRefresh', '3.2.1.1'
  11. pod 'Reachability', '3.1.1'
  12. pod 'FMDB', '2.5.1'
  13. pod 'ZipArchive', '1.4.0'
  14. pod 'YYKit'
  15. pod 'SDWebImage', '5.3.1.2'
  16. pod 'PinYin4Objc', '1.1.1'
  17. pod 'SVWebViewController', '1.0'
  18. pod 'GPUImage', '0.1.7'
  19. pod 'FastCoding', '3.2.1'
  20. pod 'BlocksKit/Core', '2.2.5'
  21. pod 'OpenSSL', '1.0.2m1'
  22. pod 'JSONModel', '1.8.0'
  23. pod 'CocoaLumberjack', '3.6.0'
  24. pod 'HexColors', '4.0.0'
  25. pod 'FDFullscreenPopGesture', '1.1'
  26. pod 'YYKeyboardManager', '1.0.1.1'
  27. pod 'PureLayout','3.1.5'
  28. pod 'CPDataDrivenLayout', '1.0.0.1'
  29. pod 'IconFontKit/Core', '2.1.2'
  30. pod 'SDWebImage', '5.3.1.2'
  31. pod 'KVOController', '1.2.0'
  32. pod 'JRSwizzle', '1.1.0'
  33. pod 'TZImagePickerController', '3.3.1'
  34. pod 'FCFileManager', '1.0.20'
  35. pod 'FCFileManager', '1.0.20'
  36. pod 'AMapFoundation', '1.6.5.1'
  37. pod 'AMapSearch', '7.8.0'
  38. pod 'MAMapKit', '7.4.20.1'
  39. pod 'MBProgressHUD', '1.1.3'
  40. # for Swift
  41. pod 'SnapKit', '5.0.1'
  42. pod 'RxSwift', '6.0.0'
  43. pod 'RxCocoa', '6.0.0'
  44. pod 'RxRelay', '6.0.0'
  45. pod 'SwiftyJSON', '5.0.0'
  46. pod 'UIActionKit', '0.1.0'
  47. pod 'Then', '0.1.1'
  48. pod 'QuickTableViewController', '1.3.1'
  49. pod 'Repeat', '0.6.0'
  50. pod 'Kingfisher', '5.15.8'
  51. pod 'PromiseKit', '6.13.3'