project.pbxproj 40 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721
  1. // !$*UTF8*$!
  2. {
  3. archiveVersion = 1;
  4. classes = {
  5. };
  6. objectVersion = 52;
  7. objects = {
  8. /* Begin PBXBuildFile section */
  9. 29EA5B41281B01640092BA56 /* Psi.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = 29EA5B3E281B00EE0092BA56 /* Psi.xcframework */; };
  10. 4E89F7FE1E2ED3CE00005F4C /* LookupIPv6.c in Sources */ = {isa = PBXBuildFile; fileRef = 4E89F7FC1E2ED3CE00005F4C /* LookupIPv6.c */; };
  11. 4E89F7FF1E2ED3CE00005F4C /* LookupIPv6.h in Headers */ = {isa = PBXBuildFile; fileRef = 4E89F7FD1E2ED3CE00005F4C /* LookupIPv6.h */; };
  12. 52BE676825B8A615002DB553 /* PsiphonClientPlatform.h in Headers */ = {isa = PBXBuildFile; fileRef = 52BE676725B8A615002DB553 /* PsiphonClientPlatform.h */; settings = {ATTRIBUTES = (Public, ); }; };
  13. 52BE676D25B8A635002DB553 /* PsiphonClientPlatform.m in Sources */ = {isa = PBXBuildFile; fileRef = 52BE676B25B8A635002DB553 /* PsiphonClientPlatform.m */; };
  14. 662659271DD270E900872F6C /* Reachability.h in Headers */ = {isa = PBXBuildFile; fileRef = 662659251DD270E900872F6C /* Reachability.h */; settings = {ATTRIBUTES = (Public, ); }; };
  15. 662659281DD270E900872F6C /* Reachability.m in Sources */ = {isa = PBXBuildFile; fileRef = 662659261DD270E900872F6C /* Reachability.m */; };
  16. 669541B71EF9FECF0038E125 /* build-git-commit.txt in Resources */ = {isa = PBXBuildFile; fileRef = 669541B61EF9FECF0038E125 /* build-git-commit.txt */; };
  17. 66BAD3351E525FBC00CD06DE /* JailbreakCheck.h in Headers */ = {isa = PBXBuildFile; fileRef = 66BAD3331E525FBC00CD06DE /* JailbreakCheck.h */; settings = {ATTRIBUTES = (Public, ); }; };
  18. 66BAD3361E525FBC00CD06DE /* JailbreakCheck.m in Sources */ = {isa = PBXBuildFile; fileRef = 66BAD3341E525FBC00CD06DE /* JailbreakCheck.m */; };
  19. 66BDB02A1DA6BFCC0079384C /* PsiphonTunnel.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 66BDB0201DA6BFCC0079384C /* PsiphonTunnel.framework */; };
  20. 66BDB02F1DA6BFCC0079384C /* PsiphonTunnelTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 66BDB02E1DA6BFCC0079384C /* PsiphonTunnelTests.m */; };
  21. 66BDB0311DA6BFCC0079384C /* PsiphonTunnel.h in Headers */ = {isa = PBXBuildFile; fileRef = 66BDB0231DA6BFCC0079384C /* PsiphonTunnel.h */; settings = {ATTRIBUTES = (Public, ); }; };
  22. 66BDB0441DA6C7DD0079384C /* PsiphonTunnel.m in Sources */ = {isa = PBXBuildFile; fileRef = 66BDB0431DA6C7DD0079384C /* PsiphonTunnel.m */; };
  23. 66BDB05A1DC26CCC0079384C /* SBJson4.h in Headers */ = {isa = PBXBuildFile; fileRef = 66BDB04B1DC26CCC0079384C /* SBJson4.h */; };
  24. 66BDB05B1DC26CCC0079384C /* SBJson4Parser.h in Headers */ = {isa = PBXBuildFile; fileRef = 66BDB04C1DC26CCC0079384C /* SBJson4Parser.h */; };
  25. 66BDB05C1DC26CCC0079384C /* SBJson4Parser.m in Sources */ = {isa = PBXBuildFile; fileRef = 66BDB04D1DC26CCC0079384C /* SBJson4Parser.m */; };
  26. 66BDB05D1DC26CCC0079384C /* SBJson4StreamParser.h in Headers */ = {isa = PBXBuildFile; fileRef = 66BDB04E1DC26CCC0079384C /* SBJson4StreamParser.h */; };
  27. 66BDB05E1DC26CCC0079384C /* SBJson4StreamParser.m in Sources */ = {isa = PBXBuildFile; fileRef = 66BDB04F1DC26CCC0079384C /* SBJson4StreamParser.m */; };
  28. 66BDB05F1DC26CCC0079384C /* SBJson4StreamParserState.h in Headers */ = {isa = PBXBuildFile; fileRef = 66BDB0501DC26CCC0079384C /* SBJson4StreamParserState.h */; };
  29. 66BDB0601DC26CCC0079384C /* SBJson4StreamParserState.m in Sources */ = {isa = PBXBuildFile; fileRef = 66BDB0511DC26CCC0079384C /* SBJson4StreamParserState.m */; };
  30. 66BDB0611DC26CCC0079384C /* SBJson4StreamTokeniser.h in Headers */ = {isa = PBXBuildFile; fileRef = 66BDB0521DC26CCC0079384C /* SBJson4StreamTokeniser.h */; };
  31. 66BDB0621DC26CCC0079384C /* SBJson4StreamTokeniser.m in Sources */ = {isa = PBXBuildFile; fileRef = 66BDB0531DC26CCC0079384C /* SBJson4StreamTokeniser.m */; };
  32. 66BDB0631DC26CCC0079384C /* SBJson4StreamWriter.h in Headers */ = {isa = PBXBuildFile; fileRef = 66BDB0541DC26CCC0079384C /* SBJson4StreamWriter.h */; };
  33. 66BDB0641DC26CCC0079384C /* SBJson4StreamWriter.m in Sources */ = {isa = PBXBuildFile; fileRef = 66BDB0551DC26CCC0079384C /* SBJson4StreamWriter.m */; };
  34. 66BDB0651DC26CCC0079384C /* SBJson4StreamWriterState.h in Headers */ = {isa = PBXBuildFile; fileRef = 66BDB0561DC26CCC0079384C /* SBJson4StreamWriterState.h */; };
  35. 66BDB0661DC26CCC0079384C /* SBJson4StreamWriterState.m in Sources */ = {isa = PBXBuildFile; fileRef = 66BDB0571DC26CCC0079384C /* SBJson4StreamWriterState.m */; };
  36. 66BDB0671DC26CCC0079384C /* SBJson4Writer.h in Headers */ = {isa = PBXBuildFile; fileRef = 66BDB0581DC26CCC0079384C /* SBJson4Writer.h */; };
  37. 66BDB0681DC26CCC0079384C /* SBJson4Writer.m in Sources */ = {isa = PBXBuildFile; fileRef = 66BDB0591DC26CCC0079384C /* SBJson4Writer.m */; };
  38. CE3D1DA523906003009A4AF6 /* Backups.h in Headers */ = {isa = PBXBuildFile; fileRef = CE3D1DA323906003009A4AF6 /* Backups.h */; };
  39. CE3D1DA623906003009A4AF6 /* Backups.m in Sources */ = {isa = PBXBuildFile; fileRef = CE3D1DA423906003009A4AF6 /* Backups.m */; };
  40. CE676F2525FA818200F7DB13 /* ReachabilityProtocol.h in Headers */ = {isa = PBXBuildFile; fileRef = CE676F2325FA818200F7DB13 /* ReachabilityProtocol.h */; settings = {ATTRIBUTES = (Public, ); }; };
  41. CE676F2A25FA82DA00F7DB13 /* DefaultRouteMonitor.h in Headers */ = {isa = PBXBuildFile; fileRef = CE676F2825FA82DA00F7DB13 /* DefaultRouteMonitor.h */; settings = {ATTRIBUTES = (Public, ); }; };
  42. CE676F2B25FA82DA00F7DB13 /* DefaultRouteMonitor.m in Sources */ = {isa = PBXBuildFile; fileRef = CE676F2925FA82DA00F7DB13 /* DefaultRouteMonitor.m */; };
  43. CE676F2F25FA830C00F7DB13 /* Reachability+ReachabilityProtocol.h in Headers */ = {isa = PBXBuildFile; fileRef = CE676F2D25FA830C00F7DB13 /* Reachability+ReachabilityProtocol.h */; };
  44. CE676F3025FA830C00F7DB13 /* Reachability+ReachabilityProtocol.m in Sources */ = {isa = PBXBuildFile; fileRef = CE676F2E25FA830C00F7DB13 /* Reachability+ReachabilityProtocol.m */; };
  45. CE9549F525C8AAEE00F9AF86 /* Redactor.h in Headers */ = {isa = PBXBuildFile; fileRef = CE9549F325C8AAEE00F9AF86 /* Redactor.h */; };
  46. CE9549F625C8AAEE00F9AF86 /* Redactor.m in Sources */ = {isa = PBXBuildFile; fileRef = CE9549F425C8AAEE00F9AF86 /* Redactor.m */; };
  47. CEC229FC24F047E700534D04 /* PsiphonProviderNoticeHandlerShim.h in Headers */ = {isa = PBXBuildFile; fileRef = CEC229FA24F047E700534D04 /* PsiphonProviderNoticeHandlerShim.h */; };
  48. CEC229FD24F047E700534D04 /* PsiphonProviderNoticeHandlerShim.m in Sources */ = {isa = PBXBuildFile; fileRef = CEC229FB24F047E700534D04 /* PsiphonProviderNoticeHandlerShim.m */; };
  49. CECF01442538D34100CD3E5C /* IPv6Synthesizer.h in Headers */ = {isa = PBXBuildFile; fileRef = CECF01422538D34100CD3E5C /* IPv6Synthesizer.h */; };
  50. CECF01452538D34100CD3E5C /* IPv6Synthesizer.m in Sources */ = {isa = PBXBuildFile; fileRef = CECF01432538D34100CD3E5C /* IPv6Synthesizer.m */; };
  51. CECF01492538DD0B00CD3E5C /* PsiphonProviderNetwork.h in Headers */ = {isa = PBXBuildFile; fileRef = CECF01472538DD0B00CD3E5C /* PsiphonProviderNetwork.h */; };
  52. CECF014A2538DD0B00CD3E5C /* PsiphonProviderNetwork.m in Sources */ = {isa = PBXBuildFile; fileRef = CECF01482538DD0B00CD3E5C /* PsiphonProviderNetwork.m */; };
  53. CECF01502538E14B00CD3E5C /* NetworkID.h in Headers */ = {isa = PBXBuildFile; fileRef = CECF014E2538E14B00CD3E5C /* NetworkID.h */; };
  54. CECF01512538E14B00CD3E5C /* NetworkID.m in Sources */ = {isa = PBXBuildFile; fileRef = CECF014F2538E14B00CD3E5C /* NetworkID.m */; };
  55. CEDBA51225B7737C007685E2 /* NetworkInterface.h in Headers */ = {isa = PBXBuildFile; fileRef = CEDBA51025B7737C007685E2 /* NetworkInterface.h */; };
  56. CEDBA51325B7737C007685E2 /* NetworkInterface.m in Sources */ = {isa = PBXBuildFile; fileRef = CEDBA51125B7737C007685E2 /* NetworkInterface.m */; };
  57. CEDE547924EBF5980053566E /* PsiphonProviderFeedbackHandlerShim.h in Headers */ = {isa = PBXBuildFile; fileRef = CEDE547724EBF5980053566E /* PsiphonProviderFeedbackHandlerShim.h */; };
  58. CEDE547A24EBF5980053566E /* PsiphonProviderFeedbackHandlerShim.m in Sources */ = {isa = PBXBuildFile; fileRef = CEDE547824EBF5980053566E /* PsiphonProviderFeedbackHandlerShim.m */; };
  59. CEFC764225B1F358003A2A52 /* Network.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CEFC764125B1F358003A2A52 /* Network.framework */; };
  60. EFED7EBF1F587F6E0078980F /* libresolv.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = EFED7EBE1F587F6E0078980F /* libresolv.tbd */; };
  61. /* End PBXBuildFile section */
  62. /* Begin PBXContainerItemProxy section */
  63. 66BDB02B1DA6BFCC0079384C /* PBXContainerItemProxy */ = {
  64. isa = PBXContainerItemProxy;
  65. containerPortal = 66BDB0171DA6BFCC0079384C /* Project object */;
  66. proxyType = 1;
  67. remoteGlobalIDString = 66BDB01F1DA6BFCC0079384C;
  68. remoteInfo = PsiphonTunnel;
  69. };
  70. /* End PBXContainerItemProxy section */
  71. /* Begin PBXFileReference section */
  72. 29EA5B3E281B00EE0092BA56 /* Psi.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = Psi.xcframework; path = PsiphonTunnel/Psi.xcframework; sourceTree = "<group>"; };
  73. 4E89F7FC1E2ED3CE00005F4C /* LookupIPv6.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = LookupIPv6.c; sourceTree = "<group>"; };
  74. 4E89F7FD1E2ED3CE00005F4C /* LookupIPv6.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LookupIPv6.h; sourceTree = "<group>"; };
  75. 52BE676725B8A615002DB553 /* PsiphonClientPlatform.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PsiphonClientPlatform.h; sourceTree = "<group>"; };
  76. 52BE676B25B8A635002DB553 /* PsiphonClientPlatform.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = PsiphonClientPlatform.m; sourceTree = "<group>"; };
  77. 662659251DD270E900872F6C /* Reachability.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Reachability.h; sourceTree = "<group>"; };
  78. 662659261DD270E900872F6C /* Reachability.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Reachability.m; sourceTree = "<group>"; };
  79. 6685BDD81E300AC200F0E414 /* strip-frameworks.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; name = "strip-frameworks.sh"; path = "scripts/strip-frameworks.sh"; sourceTree = "<group>"; };
  80. 669541B61EF9FECF0038E125 /* build-git-commit.txt */ = {isa = PBXFileReference; lastKnownFileType = text; path = "build-git-commit.txt"; sourceTree = "<group>"; };
  81. 66BAD3331E525FBC00CD06DE /* JailbreakCheck.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JailbreakCheck.h; sourceTree = "<group>"; };
  82. 66BAD3341E525FBC00CD06DE /* JailbreakCheck.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = JailbreakCheck.m; sourceTree = "<group>"; };
  83. 66BDB0201DA6BFCC0079384C /* PsiphonTunnel.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = PsiphonTunnel.framework; sourceTree = BUILT_PRODUCTS_DIR; };
  84. 66BDB0231DA6BFCC0079384C /* PsiphonTunnel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PsiphonTunnel.h; sourceTree = "<group>"; };
  85. 66BDB0241DA6BFCC0079384C /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
  86. 66BDB0291DA6BFCC0079384C /* PsiphonTunnelTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = PsiphonTunnelTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
  87. 66BDB02E1DA6BFCC0079384C /* PsiphonTunnelTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = PsiphonTunnelTests.m; sourceTree = "<group>"; };
  88. 66BDB0301DA6BFCC0079384C /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
  89. 66BDB0431DA6C7DD0079384C /* PsiphonTunnel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PsiphonTunnel.m; sourceTree = "<group>"; };
  90. 66BDB04B1DC26CCC0079384C /* SBJson4.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SBJson4.h; sourceTree = "<group>"; };
  91. 66BDB04C1DC26CCC0079384C /* SBJson4Parser.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SBJson4Parser.h; sourceTree = "<group>"; };
  92. 66BDB04D1DC26CCC0079384C /* SBJson4Parser.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SBJson4Parser.m; sourceTree = "<group>"; };
  93. 66BDB04E1DC26CCC0079384C /* SBJson4StreamParser.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SBJson4StreamParser.h; sourceTree = "<group>"; };
  94. 66BDB04F1DC26CCC0079384C /* SBJson4StreamParser.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SBJson4StreamParser.m; sourceTree = "<group>"; };
  95. 66BDB0501DC26CCC0079384C /* SBJson4StreamParserState.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SBJson4StreamParserState.h; sourceTree = "<group>"; };
  96. 66BDB0511DC26CCC0079384C /* SBJson4StreamParserState.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SBJson4StreamParserState.m; sourceTree = "<group>"; };
  97. 66BDB0521DC26CCC0079384C /* SBJson4StreamTokeniser.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SBJson4StreamTokeniser.h; sourceTree = "<group>"; };
  98. 66BDB0531DC26CCC0079384C /* SBJson4StreamTokeniser.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SBJson4StreamTokeniser.m; sourceTree = "<group>"; };
  99. 66BDB0541DC26CCC0079384C /* SBJson4StreamWriter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SBJson4StreamWriter.h; sourceTree = "<group>"; };
  100. 66BDB0551DC26CCC0079384C /* SBJson4StreamWriter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SBJson4StreamWriter.m; sourceTree = "<group>"; };
  101. 66BDB0561DC26CCC0079384C /* SBJson4StreamWriterState.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SBJson4StreamWriterState.h; sourceTree = "<group>"; };
  102. 66BDB0571DC26CCC0079384C /* SBJson4StreamWriterState.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SBJson4StreamWriterState.m; sourceTree = "<group>"; };
  103. 66BDB0581DC26CCC0079384C /* SBJson4Writer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SBJson4Writer.h; sourceTree = "<group>"; };
  104. 66BDB0591DC26CCC0079384C /* SBJson4Writer.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SBJson4Writer.m; sourceTree = "<group>"; };
  105. CE3D1DA323906003009A4AF6 /* Backups.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Backups.h; sourceTree = "<group>"; };
  106. CE3D1DA423906003009A4AF6 /* Backups.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = Backups.m; sourceTree = "<group>"; };
  107. CE676F2325FA818200F7DB13 /* ReachabilityProtocol.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ReachabilityProtocol.h; sourceTree = "<group>"; };
  108. CE676F2825FA82DA00F7DB13 /* DefaultRouteMonitor.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = DefaultRouteMonitor.h; sourceTree = "<group>"; };
  109. CE676F2925FA82DA00F7DB13 /* DefaultRouteMonitor.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = DefaultRouteMonitor.m; sourceTree = "<group>"; };
  110. CE676F2D25FA830C00F7DB13 /* Reachability+ReachabilityProtocol.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Reachability+ReachabilityProtocol.h"; sourceTree = "<group>"; };
  111. CE676F2E25FA830C00F7DB13 /* Reachability+ReachabilityProtocol.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = "Reachability+ReachabilityProtocol.m"; sourceTree = "<group>"; };
  112. CE9549F325C8AAEE00F9AF86 /* Redactor.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Redactor.h; sourceTree = "<group>"; };
  113. CE9549F425C8AAEE00F9AF86 /* Redactor.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = Redactor.m; sourceTree = "<group>"; };
  114. CEC229FA24F047E700534D04 /* PsiphonProviderNoticeHandlerShim.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PsiphonProviderNoticeHandlerShim.h; sourceTree = "<group>"; };
  115. CEC229FB24F047E700534D04 /* PsiphonProviderNoticeHandlerShim.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = PsiphonProviderNoticeHandlerShim.m; sourceTree = "<group>"; };
  116. CECF01422538D34100CD3E5C /* IPv6Synthesizer.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = IPv6Synthesizer.h; sourceTree = "<group>"; };
  117. CECF01432538D34100CD3E5C /* IPv6Synthesizer.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = IPv6Synthesizer.m; sourceTree = "<group>"; };
  118. CECF01472538DD0B00CD3E5C /* PsiphonProviderNetwork.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PsiphonProviderNetwork.h; sourceTree = "<group>"; };
  119. CECF01482538DD0B00CD3E5C /* PsiphonProviderNetwork.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = PsiphonProviderNetwork.m; sourceTree = "<group>"; };
  120. CECF014E2538E14B00CD3E5C /* NetworkID.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = NetworkID.h; sourceTree = "<group>"; };
  121. CECF014F2538E14B00CD3E5C /* NetworkID.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = NetworkID.m; sourceTree = "<group>"; };
  122. CEDBA51025B7737C007685E2 /* NetworkInterface.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = NetworkInterface.h; sourceTree = "<group>"; };
  123. CEDBA51125B7737C007685E2 /* NetworkInterface.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = NetworkInterface.m; sourceTree = "<group>"; };
  124. CEDE547724EBF5980053566E /* PsiphonProviderFeedbackHandlerShim.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = PsiphonProviderFeedbackHandlerShim.h; path = ../PsiphonProviderFeedbackHandlerShim.h; sourceTree = "<group>"; };
  125. CEDE547824EBF5980053566E /* PsiphonProviderFeedbackHandlerShim.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = PsiphonProviderFeedbackHandlerShim.m; path = ../PsiphonProviderFeedbackHandlerShim.m; sourceTree = "<group>"; };
  126. CEFC764125B1F358003A2A52 /* Network.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Network.framework; path = Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.1.sdk/System/Library/Frameworks/Network.framework; sourceTree = DEVELOPER_DIR; };
  127. EFED7EBE1F587F6E0078980F /* libresolv.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libresolv.tbd; path = usr/lib/libresolv.tbd; sourceTree = SDKROOT; };
  128. /* End PBXFileReference section */
  129. /* Begin PBXFrameworksBuildPhase section */
  130. 66BDB01C1DA6BFCC0079384C /* Frameworks */ = {
  131. isa = PBXFrameworksBuildPhase;
  132. buildActionMask = 2147483647;
  133. files = (
  134. EFED7EBF1F587F6E0078980F /* libresolv.tbd in Frameworks */,
  135. 29EA5B41281B01640092BA56 /* Psi.xcframework in Frameworks */,
  136. CEFC764225B1F358003A2A52 /* Network.framework in Frameworks */,
  137. );
  138. runOnlyForDeploymentPostprocessing = 0;
  139. };
  140. 66BDB0261DA6BFCC0079384C /* Frameworks */ = {
  141. isa = PBXFrameworksBuildPhase;
  142. buildActionMask = 2147483647;
  143. files = (
  144. 66BDB02A1DA6BFCC0079384C /* PsiphonTunnel.framework in Frameworks */,
  145. );
  146. runOnlyForDeploymentPostprocessing = 0;
  147. };
  148. /* End PBXFrameworksBuildPhase section */
  149. /* Begin PBXGroup section */
  150. 662659241DD270E900872F6C /* Network */ = {
  151. isa = PBXGroup;
  152. children = (
  153. CECF01542538FC5900CD3E5C /* Reachability */,
  154. 4E89F7FC1E2ED3CE00005F4C /* LookupIPv6.c */,
  155. 4E89F7FD1E2ED3CE00005F4C /* LookupIPv6.h */,
  156. CECF01422538D34100CD3E5C /* IPv6Synthesizer.h */,
  157. CECF01432538D34100CD3E5C /* IPv6Synthesizer.m */,
  158. CECF014E2538E14B00CD3E5C /* NetworkID.h */,
  159. CECF014F2538E14B00CD3E5C /* NetworkID.m */,
  160. CEDBA51025B7737C007685E2 /* NetworkInterface.h */,
  161. CEDBA51125B7737C007685E2 /* NetworkInterface.m */,
  162. );
  163. path = Network;
  164. sourceTree = "<group>";
  165. };
  166. 66BAD3321E525FBC00CD06DE /* JailbreakCheck */ = {
  167. isa = PBXGroup;
  168. children = (
  169. 66BAD3331E525FBC00CD06DE /* JailbreakCheck.h */,
  170. 66BAD3341E525FBC00CD06DE /* JailbreakCheck.m */,
  171. );
  172. path = JailbreakCheck;
  173. sourceTree = "<group>";
  174. };
  175. 66BDB0161DA6BFCC0079384C = {
  176. isa = PBXGroup;
  177. children = (
  178. 66BDB03C1DA6C7940079384C /* Resources */,
  179. 66BDB0221DA6BFCC0079384C /* PsiphonTunnel */,
  180. 66BDB02D1DA6BFCC0079384C /* PsiphonTunnelTests */,
  181. 66BDB0211DA6BFCC0079384C /* Products */,
  182. EFED7EBD1F587F6E0078980F /* Frameworks */,
  183. );
  184. sourceTree = "<group>";
  185. };
  186. 66BDB0211DA6BFCC0079384C /* Products */ = {
  187. isa = PBXGroup;
  188. children = (
  189. 66BDB0201DA6BFCC0079384C /* PsiphonTunnel.framework */,
  190. 66BDB0291DA6BFCC0079384C /* PsiphonTunnelTests.xctest */,
  191. );
  192. name = Products;
  193. sourceTree = "<group>";
  194. };
  195. 66BDB0221DA6BFCC0079384C /* PsiphonTunnel */ = {
  196. isa = PBXGroup;
  197. children = (
  198. 66BAD3321E525FBC00CD06DE /* JailbreakCheck */,
  199. 66BDB04A1DC26CCC0079384C /* json-framework */,
  200. CEDE547B24EBF5A00053566E /* Psiphon */,
  201. 662659241DD270E900872F6C /* Network */,
  202. CEC22A0624F0689000534D04 /* Utils */,
  203. 66BDB0231DA6BFCC0079384C /* PsiphonTunnel.h */,
  204. 66BDB0431DA6C7DD0079384C /* PsiphonTunnel.m */,
  205. 66BDB0241DA6BFCC0079384C /* Info.plist */,
  206. );
  207. path = PsiphonTunnel;
  208. sourceTree = "<group>";
  209. };
  210. 66BDB02D1DA6BFCC0079384C /* PsiphonTunnelTests */ = {
  211. isa = PBXGroup;
  212. children = (
  213. 66BDB02E1DA6BFCC0079384C /* PsiphonTunnelTests.m */,
  214. 66BDB0301DA6BFCC0079384C /* Info.plist */,
  215. );
  216. path = PsiphonTunnelTests;
  217. sourceTree = "<group>";
  218. };
  219. 66BDB03C1DA6C7940079384C /* Resources */ = {
  220. isa = PBXGroup;
  221. children = (
  222. 669541B61EF9FECF0038E125 /* build-git-commit.txt */,
  223. 6685BDD81E300AC200F0E414 /* strip-frameworks.sh */,
  224. );
  225. name = Resources;
  226. sourceTree = "<group>";
  227. };
  228. 66BDB04A1DC26CCC0079384C /* json-framework */ = {
  229. isa = PBXGroup;
  230. children = (
  231. 66BDB04B1DC26CCC0079384C /* SBJson4.h */,
  232. 66BDB04C1DC26CCC0079384C /* SBJson4Parser.h */,
  233. 66BDB04D1DC26CCC0079384C /* SBJson4Parser.m */,
  234. 66BDB04E1DC26CCC0079384C /* SBJson4StreamParser.h */,
  235. 66BDB04F1DC26CCC0079384C /* SBJson4StreamParser.m */,
  236. 66BDB0501DC26CCC0079384C /* SBJson4StreamParserState.h */,
  237. 66BDB0511DC26CCC0079384C /* SBJson4StreamParserState.m */,
  238. 66BDB0521DC26CCC0079384C /* SBJson4StreamTokeniser.h */,
  239. 66BDB0531DC26CCC0079384C /* SBJson4StreamTokeniser.m */,
  240. 66BDB0541DC26CCC0079384C /* SBJson4StreamWriter.h */,
  241. 66BDB0551DC26CCC0079384C /* SBJson4StreamWriter.m */,
  242. 66BDB0561DC26CCC0079384C /* SBJson4StreamWriterState.h */,
  243. 66BDB0571DC26CCC0079384C /* SBJson4StreamWriterState.m */,
  244. 66BDB0581DC26CCC0079384C /* SBJson4Writer.h */,
  245. 66BDB0591DC26CCC0079384C /* SBJson4Writer.m */,
  246. );
  247. path = "json-framework";
  248. sourceTree = "<group>";
  249. };
  250. CEC22A0624F0689000534D04 /* Utils */ = {
  251. isa = PBXGroup;
  252. children = (
  253. CE3D1DA323906003009A4AF6 /* Backups.h */,
  254. CE3D1DA423906003009A4AF6 /* Backups.m */,
  255. 52BE676725B8A615002DB553 /* PsiphonClientPlatform.h */,
  256. 52BE676B25B8A635002DB553 /* PsiphonClientPlatform.m */,
  257. CE9549F325C8AAEE00F9AF86 /* Redactor.h */,
  258. CE9549F425C8AAEE00F9AF86 /* Redactor.m */,
  259. );
  260. path = Utils;
  261. sourceTree = "<group>";
  262. };
  263. CECF01542538FC5900CD3E5C /* Reachability */ = {
  264. isa = PBXGroup;
  265. children = (
  266. 662659251DD270E900872F6C /* Reachability.h */,
  267. 662659261DD270E900872F6C /* Reachability.m */,
  268. CE676F2325FA818200F7DB13 /* ReachabilityProtocol.h */,
  269. CE676F2825FA82DA00F7DB13 /* DefaultRouteMonitor.h */,
  270. CE676F2925FA82DA00F7DB13 /* DefaultRouteMonitor.m */,
  271. CE676F2D25FA830C00F7DB13 /* Reachability+ReachabilityProtocol.h */,
  272. CE676F2E25FA830C00F7DB13 /* Reachability+ReachabilityProtocol.m */,
  273. );
  274. path = Reachability;
  275. sourceTree = "<group>";
  276. };
  277. CEDE547B24EBF5A00053566E /* Psiphon */ = {
  278. isa = PBXGroup;
  279. children = (
  280. CEDE547724EBF5980053566E /* PsiphonProviderFeedbackHandlerShim.h */,
  281. CEDE547824EBF5980053566E /* PsiphonProviderFeedbackHandlerShim.m */,
  282. CEC229FA24F047E700534D04 /* PsiphonProviderNoticeHandlerShim.h */,
  283. CEC229FB24F047E700534D04 /* PsiphonProviderNoticeHandlerShim.m */,
  284. CECF01472538DD0B00CD3E5C /* PsiphonProviderNetwork.h */,
  285. CECF01482538DD0B00CD3E5C /* PsiphonProviderNetwork.m */,
  286. );
  287. path = Psiphon;
  288. sourceTree = "<group>";
  289. };
  290. EFED7EBD1F587F6E0078980F /* Frameworks */ = {
  291. isa = PBXGroup;
  292. children = (
  293. 29EA5B3E281B00EE0092BA56 /* Psi.xcframework */,
  294. CEFC764125B1F358003A2A52 /* Network.framework */,
  295. EFED7EBE1F587F6E0078980F /* libresolv.tbd */,
  296. );
  297. name = Frameworks;
  298. sourceTree = "<group>";
  299. };
  300. /* End PBXGroup section */
  301. /* Begin PBXHeadersBuildPhase section */
  302. 66BDB01D1DA6BFCC0079384C /* Headers */ = {
  303. isa = PBXHeadersBuildPhase;
  304. buildActionMask = 2147483647;
  305. files = (
  306. CE3D1DA523906003009A4AF6 /* Backups.h in Headers */,
  307. 66BAD3351E525FBC00CD06DE /* JailbreakCheck.h in Headers */,
  308. 4E89F7FF1E2ED3CE00005F4C /* LookupIPv6.h in Headers */,
  309. CE676F2F25FA830C00F7DB13 /* Reachability+ReachabilityProtocol.h in Headers */,
  310. CE676F2A25FA82DA00F7DB13 /* DefaultRouteMonitor.h in Headers */,
  311. 662659271DD270E900872F6C /* Reachability.h in Headers */,
  312. 66BDB05D1DC26CCC0079384C /* SBJson4StreamParser.h in Headers */,
  313. 52BE676825B8A615002DB553 /* PsiphonClientPlatform.h in Headers */,
  314. CECF01492538DD0B00CD3E5C /* PsiphonProviderNetwork.h in Headers */,
  315. 66BDB05F1DC26CCC0079384C /* SBJson4StreamParserState.h in Headers */,
  316. 66BDB0311DA6BFCC0079384C /* PsiphonTunnel.h in Headers */,
  317. CE9549F525C8AAEE00F9AF86 /* Redactor.h in Headers */,
  318. 66BDB0651DC26CCC0079384C /* SBJson4StreamWriterState.h in Headers */,
  319. CECF01502538E14B00CD3E5C /* NetworkID.h in Headers */,
  320. 66BDB05B1DC26CCC0079384C /* SBJson4Parser.h in Headers */,
  321. CEDBA51225B7737C007685E2 /* NetworkInterface.h in Headers */,
  322. CEDE547924EBF5980053566E /* PsiphonProviderFeedbackHandlerShim.h in Headers */,
  323. 66BDB05A1DC26CCC0079384C /* SBJson4.h in Headers */,
  324. 66BDB0611DC26CCC0079384C /* SBJson4StreamTokeniser.h in Headers */,
  325. CEC229FC24F047E700534D04 /* PsiphonProviderNoticeHandlerShim.h in Headers */,
  326. 66BDB0631DC26CCC0079384C /* SBJson4StreamWriter.h in Headers */,
  327. CECF01442538D34100CD3E5C /* IPv6Synthesizer.h in Headers */,
  328. 66BDB0671DC26CCC0079384C /* SBJson4Writer.h in Headers */,
  329. CE676F2525FA818200F7DB13 /* ReachabilityProtocol.h in Headers */,
  330. );
  331. runOnlyForDeploymentPostprocessing = 0;
  332. };
  333. /* End PBXHeadersBuildPhase section */
  334. /* Begin PBXNativeTarget section */
  335. 66BDB01F1DA6BFCC0079384C /* PsiphonTunnel */ = {
  336. isa = PBXNativeTarget;
  337. buildConfigurationList = 66BDB0341DA6BFCC0079384C /* Build configuration list for PBXNativeTarget "PsiphonTunnel" */;
  338. buildPhases = (
  339. 66BDB01B1DA6BFCC0079384C /* Sources */,
  340. 66BDB01C1DA6BFCC0079384C /* Frameworks */,
  341. 66BDB01D1DA6BFCC0079384C /* Headers */,
  342. 669541B51EF9FDB60038E125 /* ShellScript */,
  343. 66BDB01E1DA6BFCC0079384C /* Resources */,
  344. );
  345. buildRules = (
  346. );
  347. dependencies = (
  348. );
  349. name = PsiphonTunnel;
  350. productName = PsiphonTunnel;
  351. productReference = 66BDB0201DA6BFCC0079384C /* PsiphonTunnel.framework */;
  352. productType = "com.apple.product-type.framework";
  353. };
  354. 66BDB0281DA6BFCC0079384C /* PsiphonTunnelTests */ = {
  355. isa = PBXNativeTarget;
  356. buildConfigurationList = 66BDB0371DA6BFCC0079384C /* Build configuration list for PBXNativeTarget "PsiphonTunnelTests" */;
  357. buildPhases = (
  358. 66BDB0251DA6BFCC0079384C /* Sources */,
  359. 66BDB0261DA6BFCC0079384C /* Frameworks */,
  360. 66BDB0271DA6BFCC0079384C /* Resources */,
  361. );
  362. buildRules = (
  363. );
  364. dependencies = (
  365. 66BDB02C1DA6BFCC0079384C /* PBXTargetDependency */,
  366. );
  367. name = PsiphonTunnelTests;
  368. productName = PsiphonTunnelTests;
  369. productReference = 66BDB0291DA6BFCC0079384C /* PsiphonTunnelTests.xctest */;
  370. productType = "com.apple.product-type.bundle.unit-test";
  371. };
  372. /* End PBXNativeTarget section */
  373. /* Begin PBXProject section */
  374. 66BDB0171DA6BFCC0079384C /* Project object */ = {
  375. isa = PBXProject;
  376. attributes = {
  377. LastUpgradeCheck = 0820;
  378. ORGANIZATIONNAME = "Psiphon Inc.";
  379. TargetAttributes = {
  380. 66BDB01F1DA6BFCC0079384C = {
  381. CreatedOnToolsVersion = 8.0;
  382. DevelopmentTeam = Q6HLNEX92A;
  383. ProvisioningStyle = Automatic;
  384. };
  385. 66BDB0281DA6BFCC0079384C = {
  386. CreatedOnToolsVersion = 8.0;
  387. DevelopmentTeam = Q6HLNEX92A;
  388. ProvisioningStyle = Automatic;
  389. };
  390. };
  391. };
  392. buildConfigurationList = 66BDB01A1DA6BFCC0079384C /* Build configuration list for PBXProject "PsiphonTunnel" */;
  393. compatibilityVersion = "Xcode 3.2";
  394. developmentRegion = English;
  395. hasScannedForEncodings = 0;
  396. knownRegions = (
  397. English,
  398. en,
  399. );
  400. mainGroup = 66BDB0161DA6BFCC0079384C;
  401. productRefGroup = 66BDB0211DA6BFCC0079384C /* Products */;
  402. projectDirPath = "";
  403. projectRoot = "";
  404. targets = (
  405. 66BDB01F1DA6BFCC0079384C /* PsiphonTunnel */,
  406. 66BDB0281DA6BFCC0079384C /* PsiphonTunnelTests */,
  407. );
  408. };
  409. /* End PBXProject section */
  410. /* Begin PBXResourcesBuildPhase section */
  411. 66BDB01E1DA6BFCC0079384C /* Resources */ = {
  412. isa = PBXResourcesBuildPhase;
  413. buildActionMask = 2147483647;
  414. files = (
  415. 669541B71EF9FECF0038E125 /* build-git-commit.txt in Resources */,
  416. );
  417. runOnlyForDeploymentPostprocessing = 0;
  418. };
  419. 66BDB0271DA6BFCC0079384C /* Resources */ = {
  420. isa = PBXResourcesBuildPhase;
  421. buildActionMask = 2147483647;
  422. files = (
  423. );
  424. runOnlyForDeploymentPostprocessing = 0;
  425. };
  426. /* End PBXResourcesBuildPhase section */
  427. /* Begin PBXShellScriptBuildPhase section */
  428. 669541B51EF9FDB60038E125 /* ShellScript */ = {
  429. isa = PBXShellScriptBuildPhase;
  430. buildActionMask = 2147483647;
  431. files = (
  432. );
  433. inputPaths = (
  434. );
  435. outputPaths = (
  436. );
  437. runOnlyForDeploymentPostprocessing = 0;
  438. shellPath = /bin/sh;
  439. shellScript = "git rev-parse --verify HEAD > build-git-commit.txt\n";
  440. };
  441. /* End PBXShellScriptBuildPhase section */
  442. /* Begin PBXSourcesBuildPhase section */
  443. 66BDB01B1DA6BFCC0079384C /* Sources */ = {
  444. isa = PBXSourcesBuildPhase;
  445. buildActionMask = 2147483647;
  446. files = (
  447. 66BDB05E1DC26CCC0079384C /* SBJson4StreamParser.m in Sources */,
  448. 66BDB0641DC26CCC0079384C /* SBJson4StreamWriter.m in Sources */,
  449. CEDE547A24EBF5980053566E /* PsiphonProviderFeedbackHandlerShim.m in Sources */,
  450. 52BE676D25B8A635002DB553 /* PsiphonClientPlatform.m in Sources */,
  451. 66BDB0661DC26CCC0079384C /* SBJson4StreamWriterState.m in Sources */,
  452. CECF01452538D34100CD3E5C /* IPv6Synthesizer.m in Sources */,
  453. 66BDB05C1DC26CCC0079384C /* SBJson4Parser.m in Sources */,
  454. 4E89F7FE1E2ED3CE00005F4C /* LookupIPv6.c in Sources */,
  455. CECF01512538E14B00CD3E5C /* NetworkID.m in Sources */,
  456. 66BAD3361E525FBC00CD06DE /* JailbreakCheck.m in Sources */,
  457. CE676F2B25FA82DA00F7DB13 /* DefaultRouteMonitor.m in Sources */,
  458. CEDBA51325B7737C007685E2 /* NetworkInterface.m in Sources */,
  459. CE676F3025FA830C00F7DB13 /* Reachability+ReachabilityProtocol.m in Sources */,
  460. 66BDB0681DC26CCC0079384C /* SBJson4Writer.m in Sources */,
  461. 66BDB0621DC26CCC0079384C /* SBJson4StreamTokeniser.m in Sources */,
  462. 66BDB0441DA6C7DD0079384C /* PsiphonTunnel.m in Sources */,
  463. CEC229FD24F047E700534D04 /* PsiphonProviderNoticeHandlerShim.m in Sources */,
  464. CECF014A2538DD0B00CD3E5C /* PsiphonProviderNetwork.m in Sources */,
  465. 662659281DD270E900872F6C /* Reachability.m in Sources */,
  466. 66BDB0601DC26CCC0079384C /* SBJson4StreamParserState.m in Sources */,
  467. CE3D1DA623906003009A4AF6 /* Backups.m in Sources */,
  468. CE9549F625C8AAEE00F9AF86 /* Redactor.m in Sources */,
  469. );
  470. runOnlyForDeploymentPostprocessing = 0;
  471. };
  472. 66BDB0251DA6BFCC0079384C /* Sources */ = {
  473. isa = PBXSourcesBuildPhase;
  474. buildActionMask = 2147483647;
  475. files = (
  476. 66BDB02F1DA6BFCC0079384C /* PsiphonTunnelTests.m in Sources */,
  477. );
  478. runOnlyForDeploymentPostprocessing = 0;
  479. };
  480. /* End PBXSourcesBuildPhase section */
  481. /* Begin PBXTargetDependency section */
  482. 66BDB02C1DA6BFCC0079384C /* PBXTargetDependency */ = {
  483. isa = PBXTargetDependency;
  484. target = 66BDB01F1DA6BFCC0079384C /* PsiphonTunnel */;
  485. targetProxy = 66BDB02B1DA6BFCC0079384C /* PBXContainerItemProxy */;
  486. };
  487. /* End PBXTargetDependency section */
  488. /* Begin XCBuildConfiguration section */
  489. 66BDB0321DA6BFCC0079384C /* Debug */ = {
  490. isa = XCBuildConfiguration;
  491. buildSettings = {
  492. ALWAYS_SEARCH_USER_PATHS = NO;
  493. CLANG_ANALYZER_NONNULL = YES;
  494. CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
  495. CLANG_CXX_LIBRARY = "libc++";
  496. CLANG_ENABLE_MODULES = YES;
  497. CLANG_ENABLE_OBJC_ARC = YES;
  498. CLANG_WARN_BOOL_CONVERSION = YES;
  499. CLANG_WARN_CONSTANT_CONVERSION = YES;
  500. CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
  501. CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
  502. CLANG_WARN_EMPTY_BODY = YES;
  503. CLANG_WARN_ENUM_CONVERSION = YES;
  504. CLANG_WARN_INFINITE_RECURSION = YES;
  505. CLANG_WARN_INT_CONVERSION = YES;
  506. CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
  507. CLANG_WARN_SUSPICIOUS_MOVE = YES;
  508. CLANG_WARN_SUSPICIOUS_MOVES = YES;
  509. CLANG_WARN_UNREACHABLE_CODE = YES;
  510. CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
  511. "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
  512. COPY_PHASE_STRIP = NO;
  513. CURRENT_PROJECT_VERSION = 1;
  514. DEBUG_INFORMATION_FORMAT = dwarf;
  515. ENABLE_STRICT_OBJC_MSGSEND = YES;
  516. ENABLE_TESTABILITY = YES;
  517. GCC_C_LANGUAGE_STANDARD = gnu99;
  518. GCC_DYNAMIC_NO_PIC = NO;
  519. GCC_NO_COMMON_BLOCKS = YES;
  520. GCC_OPTIMIZATION_LEVEL = 0;
  521. GCC_PREPROCESSOR_DEFINITIONS = (
  522. "DEBUG=1",
  523. "$(inherited)",
  524. );
  525. GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
  526. GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
  527. GCC_WARN_UNDECLARED_SELECTOR = YES;
  528. GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
  529. GCC_WARN_UNUSED_FUNCTION = YES;
  530. GCC_WARN_UNUSED_VARIABLE = YES;
  531. IPHONEOS_DEPLOYMENT_TARGET = 10.0;
  532. MTL_ENABLE_DEBUG_INFO = YES;
  533. ONLY_ACTIVE_ARCH = YES;
  534. SDKROOT = iphoneos;
  535. TARGETED_DEVICE_FAMILY = "1,2";
  536. VERSIONING_SYSTEM = "apple-generic";
  537. VERSION_INFO_PREFIX = "";
  538. };
  539. name = Debug;
  540. };
  541. 66BDB0331DA6BFCC0079384C /* Release */ = {
  542. isa = XCBuildConfiguration;
  543. buildSettings = {
  544. ALWAYS_SEARCH_USER_PATHS = NO;
  545. CLANG_ANALYZER_NONNULL = YES;
  546. CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
  547. CLANG_CXX_LIBRARY = "libc++";
  548. CLANG_ENABLE_MODULES = YES;
  549. CLANG_ENABLE_OBJC_ARC = YES;
  550. CLANG_WARN_BOOL_CONVERSION = YES;
  551. CLANG_WARN_CONSTANT_CONVERSION = YES;
  552. CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
  553. CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
  554. CLANG_WARN_EMPTY_BODY = YES;
  555. CLANG_WARN_ENUM_CONVERSION = YES;
  556. CLANG_WARN_INFINITE_RECURSION = YES;
  557. CLANG_WARN_INT_CONVERSION = YES;
  558. CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
  559. CLANG_WARN_SUSPICIOUS_MOVE = YES;
  560. CLANG_WARN_SUSPICIOUS_MOVES = YES;
  561. CLANG_WARN_UNREACHABLE_CODE = YES;
  562. CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
  563. "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
  564. COPY_PHASE_STRIP = NO;
  565. CURRENT_PROJECT_VERSION = 1;
  566. DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
  567. ENABLE_NS_ASSERTIONS = NO;
  568. ENABLE_STRICT_OBJC_MSGSEND = YES;
  569. GCC_C_LANGUAGE_STANDARD = gnu99;
  570. GCC_NO_COMMON_BLOCKS = YES;
  571. GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
  572. GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
  573. GCC_WARN_UNDECLARED_SELECTOR = YES;
  574. GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
  575. GCC_WARN_UNUSED_FUNCTION = YES;
  576. GCC_WARN_UNUSED_VARIABLE = YES;
  577. IPHONEOS_DEPLOYMENT_TARGET = 10.0;
  578. MTL_ENABLE_DEBUG_INFO = NO;
  579. SDKROOT = iphoneos;
  580. TARGETED_DEVICE_FAMILY = "1,2";
  581. VALIDATE_PRODUCT = YES;
  582. VERSIONING_SYSTEM = "apple-generic";
  583. VERSION_INFO_PREFIX = "";
  584. };
  585. name = Release;
  586. };
  587. 66BDB0351DA6BFCC0079384C /* Debug */ = {
  588. isa = XCBuildConfiguration;
  589. buildSettings = {
  590. APPLICATION_EXTENSION_API_ONLY = YES;
  591. CODE_SIGN_IDENTITY = "";
  592. DEFINES_MODULE = YES;
  593. DEVELOPMENT_TEAM = Q6HLNEX92A;
  594. DYLIB_COMPATIBILITY_VERSION = 1;
  595. DYLIB_CURRENT_VERSION = 1;
  596. DYLIB_INSTALL_NAME_BASE = "@rpath";
  597. ENABLE_BITCODE = NO;
  598. EXCLUDED_ARCHS = armv7;
  599. INFOPLIST_FILE = PsiphonTunnel/Info.plist;
  600. INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
  601. IPHONEOS_DEPLOYMENT_TARGET = 10.0;
  602. LD_RUNPATH_SEARCH_PATHS = (
  603. "$(inherited)",
  604. "@executable_path/Frameworks",
  605. "@loader_path/Frameworks",
  606. );
  607. LIBRARY_SEARCH_PATHS = "$(inherited)";
  608. PRODUCT_BUNDLE_IDENTIFIER = com.psiphon3.ios.PsiphonTunnel;
  609. PRODUCT_NAME = "$(TARGET_NAME)";
  610. SKIP_INSTALL = YES;
  611. SUPPORTS_MACCATALYST = NO;
  612. TARGETED_DEVICE_FAMILY = "1,2";
  613. };
  614. name = Debug;
  615. };
  616. 66BDB0361DA6BFCC0079384C /* Release */ = {
  617. isa = XCBuildConfiguration;
  618. buildSettings = {
  619. APPLICATION_EXTENSION_API_ONLY = YES;
  620. CODE_SIGN_IDENTITY = "";
  621. DEFINES_MODULE = YES;
  622. DEVELOPMENT_TEAM = Q6HLNEX92A;
  623. DYLIB_COMPATIBILITY_VERSION = 1;
  624. DYLIB_CURRENT_VERSION = 1;
  625. DYLIB_INSTALL_NAME_BASE = "@rpath";
  626. ENABLE_BITCODE = NO;
  627. EXCLUDED_ARCHS = armv7;
  628. INFOPLIST_FILE = PsiphonTunnel/Info.plist;
  629. INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
  630. IPHONEOS_DEPLOYMENT_TARGET = 10.0;
  631. LD_RUNPATH_SEARCH_PATHS = (
  632. "$(inherited)",
  633. "@executable_path/Frameworks",
  634. "@loader_path/Frameworks",
  635. );
  636. LIBRARY_SEARCH_PATHS = "$(inherited)";
  637. PRODUCT_BUNDLE_IDENTIFIER = com.psiphon3.ios.PsiphonTunnel;
  638. PRODUCT_NAME = "$(TARGET_NAME)";
  639. SKIP_INSTALL = YES;
  640. SUPPORTS_MACCATALYST = NO;
  641. TARGETED_DEVICE_FAMILY = "1,2";
  642. };
  643. name = Release;
  644. };
  645. 66BDB0381DA6BFCC0079384C /* Debug */ = {
  646. isa = XCBuildConfiguration;
  647. buildSettings = {
  648. DEVELOPMENT_TEAM = Q6HLNEX92A;
  649. INFOPLIST_FILE = PsiphonTunnelTests/Info.plist;
  650. LD_RUNPATH_SEARCH_PATHS = (
  651. "$(inherited)",
  652. "@executable_path/Frameworks",
  653. "@loader_path/Frameworks",
  654. );
  655. PRODUCT_BUNDLE_IDENTIFIER = com.psiphon3.ios.PsiphonTunnelTests;
  656. PRODUCT_NAME = "$(TARGET_NAME)";
  657. };
  658. name = Debug;
  659. };
  660. 66BDB0391DA6BFCC0079384C /* Release */ = {
  661. isa = XCBuildConfiguration;
  662. buildSettings = {
  663. DEVELOPMENT_TEAM = Q6HLNEX92A;
  664. INFOPLIST_FILE = PsiphonTunnelTests/Info.plist;
  665. LD_RUNPATH_SEARCH_PATHS = (
  666. "$(inherited)",
  667. "@executable_path/Frameworks",
  668. "@loader_path/Frameworks",
  669. );
  670. PRODUCT_BUNDLE_IDENTIFIER = com.psiphon3.ios.PsiphonTunnelTests;
  671. PRODUCT_NAME = "$(TARGET_NAME)";
  672. };
  673. name = Release;
  674. };
  675. /* End XCBuildConfiguration section */
  676. /* Begin XCConfigurationList section */
  677. 66BDB01A1DA6BFCC0079384C /* Build configuration list for PBXProject "PsiphonTunnel" */ = {
  678. isa = XCConfigurationList;
  679. buildConfigurations = (
  680. 66BDB0321DA6BFCC0079384C /* Debug */,
  681. 66BDB0331DA6BFCC0079384C /* Release */,
  682. );
  683. defaultConfigurationIsVisible = 0;
  684. defaultConfigurationName = Release;
  685. };
  686. 66BDB0341DA6BFCC0079384C /* Build configuration list for PBXNativeTarget "PsiphonTunnel" */ = {
  687. isa = XCConfigurationList;
  688. buildConfigurations = (
  689. 66BDB0351DA6BFCC0079384C /* Debug */,
  690. 66BDB0361DA6BFCC0079384C /* Release */,
  691. );
  692. defaultConfigurationIsVisible = 0;
  693. defaultConfigurationName = Release;
  694. };
  695. 66BDB0371DA6BFCC0079384C /* Build configuration list for PBXNativeTarget "PsiphonTunnelTests" */ = {
  696. isa = XCConfigurationList;
  697. buildConfigurations = (
  698. 66BDB0381DA6BFCC0079384C /* Debug */,
  699. 66BDB0391DA6BFCC0079384C /* Release */,
  700. );
  701. defaultConfigurationIsVisible = 0;
  702. defaultConfigurationName = Release;
  703. };
  704. /* End XCConfigurationList section */
  705. };
  706. rootObject = 66BDB0171DA6BFCC0079384C /* Project object */;
  707. }