Podfile 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. platform :ios, '9.0'
  2. source 'https://github.com/CocoaPods/Specs.git'
  3. use_frameworks!
  4. def shared_pods
  5. ###
  6. # OWS Pods
  7. ###
  8. pod 'SignalCoreKit', git: 'https://github.com/signalapp/SignalCoreKit.git', testspecs: ["Tests"]
  9. # pod 'SignalCoreKit', path: '../SignalCoreKit', testspecs: ["Tests"]
  10. pod 'AxolotlKit', git: 'https://github.com/signalapp/SignalProtocolKit.git', branch: 'master', testspecs: ["Tests"]
  11. # pod 'AxolotlKit', path: '../SignalProtocolKit', testspecs: ["Tests"]
  12. pod 'HKDFKit', git: 'https://github.com/signalapp/HKDFKit.git', testspecs: ["Tests"]
  13. # pod 'HKDFKit', path: '../HKDFKit', testspecs: ["Tests"]
  14. pod 'Curve25519Kit', git: 'https://github.com/signalapp/Curve25519Kit', testspecs: ["Tests"]
  15. # pod 'Curve25519Kit', path: '../Curve25519Kit', testspecs: ["Tests"]
  16. pod 'SignalMetadataKit', git: 'https://github.com/signalapp/SignalMetadataKit', testspecs: ["Tests"]
  17. # pod 'SignalMetadataKit', path: '../SignalMetadataKit', testspecs: ["Tests"]
  18. pod 'SignalServiceKit', path: '.', testspecs: ["Tests"]
  19. # Project does not compile with PromiseKit 6.7.1
  20. # see: https://github.com/mxcl/PromiseKit/issues/990
  21. pod 'PromiseKit', "6.5.3"
  22. ###
  23. # forked third party pods
  24. ###
  25. # Includes some soon to be released "unencrypted header" changes required for the Share Extension
  26. pod 'SQLCipher', ">= 4.0.1"
  27. # Forked for performance optimizations that are not likely to be upstreamed as they are specific
  28. # to our limited use of Mantle
  29. pod 'Mantle', git: 'https://github.com/signalapp/Mantle', branch: 'signal-master'
  30. # pod 'Mantle', path: '../Mantle'
  31. # Forked for compatibily with the ShareExtension, changes have an open PR, but have not been merged.
  32. pod 'YapDatabase/SQLCipher', :git => 'https://github.com/signalapp/YapDatabase.git', branch: 'signal-release'
  33. # pod 'YapDatabase/SQLCipher', path: '../YapDatabase'
  34. # Forked to incorporate our self-built binary artifact.
  35. pod 'GRKOpenSSLFramework', git: 'https://github.com/signalapp/GRKOpenSSLFramework'
  36. #pod 'GRKOpenSSLFramework', path: '../GRKOpenSSLFramework'
  37. pod 'Starscream', git: 'git@github.com:signalapp/Starscream.git', branch: 'signal-release'
  38. # pod 'Starscream', path: '../Starscream'
  39. ###
  40. # third party pods
  41. ####
  42. pod 'AFNetworking', inhibit_warnings: true
  43. pod 'PureLayout', :inhibit_warnings => true
  44. pod 'Reachability', :inhibit_warnings => true
  45. pod 'YYImage', :inhibit_warnings => true
  46. end
  47. target 'Signal' do
  48. shared_pods
  49. pod 'SSZipArchive', :inhibit_warnings => true
  50. target 'SignalTests' do
  51. inherit! :search_paths
  52. end
  53. end
  54. target 'SignalShareExtension' do
  55. shared_pods
  56. end
  57. target 'SignalMessaging' do
  58. shared_pods
  59. end
  60. post_install do |installer|
  61. enable_extension_support_for_purelayout(installer)
  62. end
  63. # PureLayout by default makes use of UIApplication, and must be configured to be built for an extension.
  64. def enable_extension_support_for_purelayout(installer)
  65. installer.pods_project.targets.each do |target|
  66. if target.name.end_with? "PureLayout"
  67. target.build_configurations.each do |build_configuration|
  68. if build_configuration.build_settings['APPLICATION_EXTENSION_API_ONLY'] == 'YES'
  69. build_configuration.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] = ['$(inherited)', 'PURELAYOUT_APP_EXTENSIONS=1']
  70. end
  71. end
  72. end
  73. end
  74. end