diff --git a/ChatSecure.xcodeproj/project.pbxproj b/ChatSecure.xcodeproj/project.pbxproj index 371c1e548..7c0b24460 100644 --- a/ChatSecure.xcodeproj/project.pbxproj +++ b/ChatSecure.xcodeproj/project.pbxproj @@ -9,459 +9,59 @@ /* Begin PBXBuildFile section */ 62541784C9130738A1DC0C3C /* Pods_ChatSecureCorePods_ChatSecure.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9F52F68785B05428F442DF47 /* Pods_ChatSecureCorePods_ChatSecure.framework */; }; 6308D1451CA20762002F5F30 /* Pods-ChatSecureCorePods-ChatSecure-acknowledgements.plist in Resources */ = {isa = PBXBuildFile; fileRef = 6308D1441CA20762002F5F30 /* Pods-ChatSecureCorePods-ChatSecure-acknowledgements.plist */; }; - 631C79931E56846700B30CB4 /* NSData+ChatSecure.swift in Sources */ = {isa = PBXBuildFile; fileRef = 631C79921E56846700B30CB4 /* NSData+ChatSecure.swift */; }; - 631E1E9F1C583B6900E263CD /* ChatSecureCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D9227C2A1BA7952100B5E1D0 /* ChatSecureCore.framework */; }; 632157DD1E57D01A00738D4E /* SnapshotHelper.swift in Sources */ = {isa = PBXBuildFile; fileRef = 632157DC1E57D01A00738D4E /* SnapshotHelper.swift */; }; - 63232AC71E37F13C00D84CDF /* OTRAccountDatabaseCount.swift in Sources */ = {isa = PBXBuildFile; fileRef = 63232AC61E37F13C00D84CDF /* OTRAccountDatabaseCount.swift */; }; 6323C6FE1E39547200D0FB42 /* OTRImageTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6323C6FD1E39547200D0FB42 /* OTRImageTest.swift */; }; 6323C7031E396D3D00D0FB42 /* landscape.jpg in Resources */ = {isa = PBXBuildFile; fileRef = 6323C7001E396D3D00D0FB42 /* landscape.jpg */; }; 6323C7041E396D3D00D0FB42 /* portrait.jpg in Resources */ = {isa = PBXBuildFile; fileRef = 6323C7011E396D3D00D0FB42 /* portrait.jpg */; }; 6323C7051E396D3D00D0FB42 /* small.jpg in Resources */ = {isa = PBXBuildFile; fileRef = 6323C7021E396D3D00D0FB42 /* small.jpg */; }; - 6325DD601E20390700C88944 /* OTRLogListViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6325DD5F1E20390700C88944 /* OTRLogListViewController.swift */; }; - 6326D9AF1DC3D0F100D72403 /* OTRYapMessageSendAction.h in Headers */ = {isa = PBXBuildFile; fileRef = 6326D9AD1DC3D0F100D72403 /* OTRYapMessageSendAction.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 6326D9B01DC3D0F100D72403 /* OTRYapMessageSendAction.m in Sources */ = {isa = PBXBuildFile; fileRef = 6326D9AE1DC3D0F100D72403 /* OTRYapMessageSendAction.m */; }; 632A2D341E2728B8000D3192 /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = 633104D61A169EC800C17BAE /* Localizable.strings */; }; - 632AA72A1D480BFF00F65733 /* OTRSignalSenderKey.h in Headers */ = {isa = PBXBuildFile; fileRef = 632AA7281D480BFF00F65733 /* OTRSignalSenderKey.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 632AA72B1D480BFF00F65733 /* OTRSignalSenderKey.m in Sources */ = {isa = PBXBuildFile; fileRef = 632AA7291D480BFF00F65733 /* OTRSignalSenderKey.m */; }; - 632AA72E1D4819BD00F65733 /* OTRSignalPreKey.h in Headers */ = {isa = PBXBuildFile; fileRef = 632AA72C1D4819BD00F65733 /* OTRSignalPreKey.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 632AA72F1D4819BD00F65733 /* OTRSignalPreKey.m in Sources */ = {isa = PBXBuildFile; fileRef = 632AA72D1D4819BD00F65733 /* OTRSignalPreKey.m */; }; - 632AA7321D4819E000F65733 /* OTRSignalSignedPreKey.h in Headers */ = {isa = PBXBuildFile; fileRef = 632AA7301D4819E000F65733 /* OTRSignalSignedPreKey.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 632AA7331D4819E000F65733 /* OTRSignalSignedPreKey.m in Sources */ = {isa = PBXBuildFile; fileRef = 632AA7311D4819E000F65733 /* OTRSignalSignedPreKey.m */; }; - 632AA7361D481A6300F65733 /* OTRSignalObject.h in Headers */ = {isa = PBXBuildFile; fileRef = 632AA7341D481A6300F65733 /* OTRSignalObject.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 632AA7371D481A6300F65733 /* OTRSignalObject.m in Sources */ = {isa = PBXBuildFile; fileRef = 632AA7351D481A6300F65733 /* OTRSignalObject.m */; }; - 632AA73A1D482A1A00F65733 /* OTRSignalSession.h in Headers */ = {isa = PBXBuildFile; fileRef = 632AA7381D482A1A00F65733 /* OTRSignalSession.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 632AA73B1D482A1A00F65733 /* OTRSignalSession.m in Sources */ = {isa = PBXBuildFile; fileRef = 632AA7391D482A1A00F65733 /* OTRSignalSession.m */; }; - 632BF0401E3817A400C2D0C2 /* OTRXMPPChangeAvatar.swift in Sources */ = {isa = PBXBuildFile; fileRef = 632BF03F1E3817A400C2D0C2 /* OTRXMPPChangeAvatar.swift */; }; 633107201A16D1A300C17BAE /* LaunchScreen.xib in Resources */ = {isa = PBXBuildFile; fileRef = 633106661A16D1A300C17BAE /* LaunchScreen.xib */; }; 6331072B1A16D1F200C17BAE /* DemoImages.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 633107291A16D1F200C17BAE /* DemoImages.xcassets */; }; 6331072C1A16D1F200C17BAE /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 6331072A1A16D1F200C17BAE /* Images.xcassets */; }; - 63363FAE1CCAE29B00B0C720 /* OTRYapExtensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 63363FAD1CCAE29B00B0C720 /* OTRYapExtensions.swift */; }; - 633E88CE1D94751B00AD6FBE /* OTRAccountSignalEncryptionManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6309E4D51D493B6E002CF8FC /* OTRAccountSignalEncryptionManager.swift */; }; - 6340431B1BD5BCD800ECA95A /* OTRXMPPRoomMessage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6340431A1BD5BCD800ECA95A /* OTRXMPPRoomMessage.swift */; }; - 6340431D1BD5BD0400ECA95A /* OTRXMPPRoomOccupant.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6340431C1BD5BD0400ECA95A /* OTRXMPPRoomOccupant.swift */; }; - 634364231CC192F1009E169F /* YapDatabaseConstants.swift in Sources */ = {isa = PBXBuildFile; fileRef = 634364221CC192F1009E169F /* YapDatabaseConstants.swift */; }; - 634905B01BD05E3900347FE2 /* OTRYapViewHandler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 634905AF1BD05E3900347FE2 /* OTRYapViewHandler.swift */; }; - 634E68BD1BAB887200DC6B25 /* PushController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 637645C81B98F9BF00B3402F /* PushController.swift */; }; - 634E68BE1BAB891C00DC6B25 /* PushContainers.swift in Sources */ = {isa = PBXBuildFile; fileRef = 633821C81BA8D48D0019C906 /* PushContainers.swift */; }; - 63564E101BBB1C5200EB4CA6 /* PushStorage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 63564E0F1BBB1C5200EB4CA6 /* PushStorage.swift */; }; - 6358FDE01CDC097A00C9D3B6 /* OTRXMPPMessageStatusModule.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6358FDDF1CDC097A00C9D3B6 /* OTRXMPPMessageStatusModule.swift */; }; 635E51A91DA82A4E002B70AB /* OTROMEMOTestModule.swift in Sources */ = {isa = PBXBuildFile; fileRef = 635E51A81DA82A4E002B70AB /* OTROMEMOTestModule.swift */; }; 635E51AB1DA83AF0002B70AB /* OTRTestDatabase.swift in Sources */ = {isa = PBXBuildFile; fileRef = 635E51AA1DA83AF0002B70AB /* OTRTestDatabase.swift */; }; 635EF2021E276C410087BD72 /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = 633104D61A169EC800C17BAE /* Localizable.strings */; }; 635FCC841D1B5116008F903C /* OTRStringTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 635FCC831D1B5116008F903C /* OTRStringTests.swift */; }; 635FCC871D1B57ED008F903C /* OTRURLTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 636C63201B571B56008FEE69 /* OTRURLTests.m */; }; 63634CE91DA704AA00B0BAE8 /* OTROMEMOIntegrationTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 63634CE81DA704AA00B0BAE8 /* OTROMEMOIntegrationTest.swift */; }; - 63636D6E1C1F78A6009F5FCD /* UINavigationController+ChatSecure.swift in Sources */ = {isa = PBXBuildFile; fileRef = 63636D6D1C1F78A6009F5FCD /* UINavigationController+ChatSecure.swift */; }; - 63636D721C1F9D7C009F5FCD /* UIApplication+ChatSecure.swift in Sources */ = {isa = PBXBuildFile; fileRef = 63636D711C1F9D7C009F5FCD /* UIApplication+ChatSecure.swift */; }; 6365CEFF1E2453F6009E213F /* ChatSecureUITests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6365CEFE1E2453F6009E213F /* ChatSecureUITests.swift */; }; 636767E91D83562700432B48 /* TestXMPPAccount.swift in Sources */ = {isa = PBXBuildFile; fileRef = 636767E81D83562700432B48 /* TestXMPPAccount.swift */; }; - 6369855A1BC875110083FC53 /* OTRXMPPRoomManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 636985581BC875110083FC53 /* OTRXMPPRoomManager.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 6369855B1BC875110083FC53 /* OTRXMPPRoomManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 636985591BC875110083FC53 /* OTRXMPPRoomManager.m */; }; 636DE07E1E5E476200D8D868 /* portrait-orientation.jpg in Resources */ = {isa = PBXBuildFile; fileRef = 636DE07D1E5E476200D8D868 /* portrait-orientation.jpg */; }; - 6370CCB91CF65A07005DA8D2 /* YapDatabase+ChatSecure.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6370CCB81CF65A07005DA8D2 /* YapDatabase+ChatSecure.swift */; }; - 637ABBC41DD52ABB00B18DD2 /* OTRMessageEncryptionInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = 637ABBC11DD5232800B18DD2 /* OTRMessageEncryptionInfo.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 637ABBC91DD5312200B18DD2 /* OTROutgoingMessage.h in Headers */ = {isa = PBXBuildFile; fileRef = 637ABBC71DD5312200B18DD2 /* OTROutgoingMessage.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 637ABBCA1DD5312200B18DD2 /* OTROutgoingMessage.m in Sources */ = {isa = PBXBuildFile; fileRef = 637ABBC81DD5312200B18DD2 /* OTROutgoingMessage.m */; }; - 637ABBCB1DD5330200B18DD2 /* OTRIncomingMessage.h in Headers */ = {isa = PBXBuildFile; fileRef = 637ABBC51DD530CD00B18DD2 /* OTRIncomingMessage.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 638045681BB4BDED002D8BAE /* PushSerializer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 638045671BB4BDEC002D8BAE /* PushSerializer.swift */; }; - 6380456A1BB4C833002D8BAE /* PushDeserializer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 638045691BB4C832002D8BAE /* PushDeserializer.swift */; }; - 6381F3601DFB7AD800563057 /* OTRXMPPChangePasswordManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6381F35F1DFB7AD800563057 /* OTRXMPPChangePasswordManager.swift */; }; - 63828AA01D53F54F00B81249 /* OTROMEMOSignalCoordinator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 63828A9F1D53F54F00B81249 /* OTROMEMOSignalCoordinator.swift */; }; 639120931D8CA1E200F4100E /* OTROmemoStorageTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 639120921D8CA1E200F4100E /* OTROmemoStorageTest.swift */; }; 63917C3E1DFA20D900341D96 /* OTRModelTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 63917C3D1DFA20D900341D96 /* OTRModelTest.swift */; }; - 63929C961C7D32D9008DB2E3 /* MessagesViewControllerState.swift in Sources */ = {isa = PBXBuildFile; fileRef = 63929C951C7D32D9008DB2E3 /* MessagesViewControllerState.swift */; }; - 639C352A1C3DDDDE00132330 /* OTRXMPPBuddyManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 639C35281C3DDDDE00132330 /* OTRXMPPBuddyManager.h */; settings = {ATTRIBUTES = (Private, ); }; }; - 639C352B1C3DDDDE00132330 /* OTRXMPPBuddyManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 639C35291C3DDDDE00132330 /* OTRXMPPBuddyManager.m */; }; - 63AB1A071C0D116A005FA351 /* OTRSplitViewCoordinator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 63AB1A061C0D116A005FA351 /* OTRSplitViewCoordinator.swift */; }; 63B578641D51600300D80ED3 /* OTRSignalTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 63B578631D51600300D80ED3 /* OTRSignalTest.swift */; }; - 63BA43DC1D41826F007FAF7F /* OTRSignalStorageManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 63BA43DB1D41826F007FAF7F /* OTRSignalStorageManager.swift */; }; - 63BA43DF1D418F14007FAF7F /* OTRAccountSignalIdentity.h in Headers */ = {isa = PBXBuildFile; fileRef = 63BA43DD1D418F14007FAF7F /* OTRAccountSignalIdentity.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 63BA43E01D418F14007FAF7F /* OTRAccountSignalIdentity.m in Sources */ = {isa = PBXBuildFile; fileRef = 63BA43DE1D418F14007FAF7F /* OTRAccountSignalIdentity.m */; }; - 63BAB26D1C863C60005185F3 /* PushMessage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 63BAB26C1C863C60005185F3 /* PushMessage.swift */; }; - 63BB66B41BC5D5F00004A619 /* OTRXMPPRoom.swift in Sources */ = {isa = PBXBuildFile; fileRef = 63BB66B31BC5D5F00004A619 /* OTRXMPPRoom.swift */; }; - 63C0C4431BE010B00086B529 /* YapDatabaseTransaction+ChatSecure.swift in Sources */ = {isa = PBXBuildFile; fileRef = 63C0C4421BE010B00086B529 /* YapDatabaseTransaction+ChatSecure.swift */; }; - 63C0C4451BE184910086B529 /* OTRRoomOccupantsViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 63C0C4441BE184910086B529 /* OTRRoomOccupantsViewController.swift */; }; - 63CBD6901C642B9E00AC6D1F /* BuddyActions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 63CBD68F1C642B9E00AC6D1F /* BuddyActions.swift */; }; - 63D14F351C0FC7A60029F36B /* OTRThreadOwner.h in Headers */ = {isa = PBXBuildFile; fileRef = 63D14F341C0FC6A90029F36B /* OTRThreadOwner.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 63D150FB1D8A0C9C006FB2E2 /* OMEMODevice.h in Headers */ = {isa = PBXBuildFile; fileRef = 63D150F91D8A0C9C006FB2E2 /* OMEMODevice.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 63D150FC1D8A0C9C006FB2E2 /* OMEMODevice.m in Sources */ = {isa = PBXBuildFile; fileRef = 63D150FA1D8A0C9C006FB2E2 /* OMEMODevice.m */; }; - 63D150FE1D8B5637006FB2E2 /* OTROMEMOStorageManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 63D150FD1D8B5637006FB2E2 /* OTROMEMOStorageManager.swift */; }; - 63D639E21D12124F002B4175 /* OTRStreamManagementDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 63D639E11D12124F002B4175 /* OTRStreamManagementDelegate.swift */; }; - 63D65D291DD689B500D9E52E /* OTRIncomingMessage.m in Sources */ = {isa = PBXBuildFile; fileRef = 637ABBC61DD530CD00B18DD2 /* OTRIncomingMessage.m */; }; - 63D65D2A1DD68A2D00D9E52E /* OTRMessageEncryptionInfo.m in Sources */ = {isa = PBXBuildFile; fileRef = 637ABBC21DD5232800B18DD2 /* OTRMessageEncryptionInfo.m */; }; - 63D65D2D1DD68A8D00D9E52E /* OTRMessage.h in Headers */ = {isa = PBXBuildFile; fileRef = 63D65D2B1DD68A8D00D9E52E /* OTRMessage.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 63D65D2E1DD68A8D00D9E52E /* OTRMessage.m in Sources */ = {isa = PBXBuildFile; fileRef = 63D65D2C1DD68A8D00D9E52E /* OTRMessage.m */; }; - 63DC417B1BB3767100D42857 /* Errors.swift in Sources */ = {isa = PBXBuildFile; fileRef = 63DC417A1BB3767000D42857 /* Errors.swift */; }; 63DDD8B51A9E94B700C0A918 /* OTRMediaTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 63DDD8B41A9E94B700C0A918 /* OTRMediaTests.m */; }; 63DDD8BA1A9E9BD900C0A918 /* samples in Resources */ = {isa = PBXBuildFile; fileRef = 63DDD8B91A9E9BD900C0A918 /* samples */; }; 63E353B21BB9D0CF005C54C3 /* PushSerializerTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 63E353B11BB9D0CF005C54C3 /* PushSerializerTest.swift */; }; - 63E353B71BB9D83B005C54C3 /* OTRPushTLVHandler.h in Headers */ = {isa = PBXBuildFile; fileRef = 63E353B51BB9D83B005C54C3 /* OTRPushTLVHandler.h */; settings = {ATTRIBUTES = (Private, ); }; }; - 63E353B81BB9D83B005C54C3 /* OTRPushTLVHandler.m in Sources */ = {isa = PBXBuildFile; fileRef = 63E353B61BB9D83B005C54C3 /* OTRPushTLVHandler.m */; }; - 63E353F61BB9E46D005C54C3 /* OTRPushTLVHandlerProtocols.h in Headers */ = {isa = PBXBuildFile; fileRef = 63E353F51BB9E41D005C54C3 /* OTRPushTLVHandlerProtocols.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 63E413AA1CDA9E2400B17303 /* MessageQueueHandler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 63E413A91CDA9E2400B17303 /* MessageQueueHandler.swift */; }; 63F0CAFB1E60C1B40045359C /* OTRYapViewTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 63F0CAFA1E60C1B40045359C /* OTRYapViewTest.swift */; }; 63F614DC1BB214660083A06A /* ChatSecureModelTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 63F614DB1BB214660083A06A /* ChatSecureModelTest.swift */; }; - 63FA130C1C8A4EB700AE33EF /* OTRMessagesCollectionViewFlowLayout.swift in Sources */ = {isa = PBXBuildFile; fileRef = 63FA130B1C8A4EB700AE33EF /* OTRMessagesCollectionViewFlowLayout.swift */; }; - 63FCB1371DA3224A00A801F2 /* OTRSignalEncryptionHelper.swift in Sources */ = {isa = PBXBuildFile; fileRef = 63FCB1361DA3224A00A801F2 /* OTRSignalEncryptionHelper.swift */; }; 7A6540ECCA04445E88F06962 /* Pods_ChatSecureCorePods_ChatSecureTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 281981F599E0F5C8397E6A3F /* Pods_ChatSecureCorePods_ChatSecureTests.framework */; }; 8F56C3272EBE7F45BC8F925A /* OTRMessagesLoadingView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 8F56C50436DA64774EBB16E3 /* OTRMessagesLoadingView.xib */; }; - 9212364E1FCD779D009F97F0 /* OTRMessageUnknownSenderCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9212364C1FCD779C009F97F0 /* OTRMessageUnknownSenderCell.swift */; }; 921236501FCD77B7009F97F0 /* OTRMessageUnknownSenderCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 9212364D1FCD779C009F97F0 /* OTRMessageUnknownSenderCell.xib */; }; - 9224A5EF207E39CF00A044BF /* OTRMessagesViewController+RoomOperations.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9224A5EE207E39CF00A044BF /* OTRMessagesViewController+RoomOperations.swift */; }; - 9224A5F1207E3B6700A044BF /* JoinRoomView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9224A5F0207E3B6700A044BF /* JoinRoomView.swift */; }; 9224A5F3207E3BD800A044BF /* JoinRoomView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 9224A5F2207E3BD800A044BF /* JoinRoomView.xib */; }; - 9236F56B1F21FFA600C963D0 /* OTRGroupAvatarGenerator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9236F56A1F21FFA600C963D0 /* OTRGroupAvatarGenerator.swift */; }; 924F67C51EA5541C00528FB6 /* MigrationInfoHeaderView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 924F67C41EA5541C00528FB6 /* MigrationInfoHeaderView.xib */; }; - 924F67C71EA55C6F00528FB6 /* MigrationInfoHeaderView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 924F67C61EA55C6F00528FB6 /* MigrationInfoHeaderView.swift */; }; - 924F68571EA7A2FD00528FB6 /* MigratedBuddyHeaderView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 924F68561EA7A2FD00528FB6 /* MigratedBuddyHeaderView.swift */; }; 924F68591EA7A31A00528FB6 /* MigratedBuddyHeaderView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 924F68581EA7A31A00528FB6 /* MigratedBuddyHeaderView.xib */; }; - 924F68611EA8A00D00528FB6 /* OTRServerDeprecation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 924F68601EA8A00D00528FB6 /* OTRServerDeprecation.swift */; }; 9251C3051F345DD5003ACE4A /* OTRRoomOccupants.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 9251C3041F345DD5003ACE4A /* OTRRoomOccupants.storyboard */; }; 9251C34E1F35CC44003ACE4A /* ios-icon-font.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 9251C34C1F35CC44003ACE4A /* ios-icon-font.ttf */; }; 9251C34F1F35CC44003ACE4A /* MaterialIcons-Regular.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 9251C34D1F35CC44003ACE4A /* MaterialIcons-Regular.ttf */; }; - 926142002006566400E8216F /* OTRMessageNewDeviceCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 926141FF2006566400E8216F /* OTRMessageNewDeviceCell.swift */; }; 92614201200656CB00E8216F /* OTRMessageNewDeviceCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 926141FD2006563D00E8216F /* OTRMessageNewDeviceCell.xib */; }; - 9265091A1F4CB45B003FCAD3 /* OTRVerticalStackView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 926509191F4CB45B003FCAD3 /* OTRVerticalStackView.swift */; }; - 929D6F1C1EC4EC9C00802941 /* OTRXMPPAccount+Migration.swift in Sources */ = {isa = PBXBuildFile; fileRef = 929D6F1B1EC4EC9C00802941 /* OTRXMPPAccount+Migration.swift */; }; - 929FCF6B2010AA4D004736AF /* BuddySubscriptions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 929FCF6A2010AA4D004736AF /* BuddySubscriptions.swift */; }; - 92BE6C7E2010E34000A79C8B /* OTRXMPPPresenceSubscriptionRequest.m in Sources */ = {isa = PBXBuildFile; fileRef = 92BE6C7C2010E33F00A79C8B /* OTRXMPPPresenceSubscriptionRequest.m */; }; - 92BE6C7F2010E34000A79C8B /* OTRXMPPPresenceSubscriptionRequest.h in Headers */ = {isa = PBXBuildFile; fileRef = 92BE6C7D2010E34000A79C8B /* OTRXMPPPresenceSubscriptionRequest.h */; }; - 92BE6C852014DBB400A79C8B /* RosterStorage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 92BE6C842014DBB400A79C8B /* RosterStorage.swift */; }; 92CC68BF1F42F0710006CDF8 /* OTRComposeGroup.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 92CC68BE1F42F0710006CDF8 /* OTRComposeGroup.storyboard */; }; - 92CC68C11F42F11E0006CDF8 /* OTRComposeGroupViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 92CC68C01F42F11D0006CDF8 /* OTRComposeGroupViewController.swift */; }; - 92CC68F11F42FF8D0006CDF8 /* OTRComposeGroupBuddyCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 92CC68F01F42FF8D0006CDF8 /* OTRComposeGroupBuddyCell.swift */; }; 92CC68F41F4309B50006CDF8 /* OTRComposeGroupBuddyCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 92CC68F21F43054E0006CDF8 /* OTRComposeGroupBuddyCell.xib */; }; - 92DC0F761F442DBA00318E49 /* OTRBuddyInfoCheckableCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 92DC0F751F442DBA00318E49 /* OTRBuddyInfoCheckableCell.swift */; }; - 92ED91D620441B92002011FB /* OTRMessagesViewController+SupplementaryViews.swift in Sources */ = {isa = PBXBuildFile; fileRef = 92ED91D520441B92002011FB /* OTRMessagesViewController+SupplementaryViews.swift */; }; - D9040CB11EF1EB050027A862 /* OTRMediaItem+Private.h in Headers */ = {isa = PBXBuildFile; fileRef = D9040CB01EF1EB050027A862 /* OTRMediaItem+Private.h */; }; - D90E711C1E6CB4360008D83B /* AccountDetailViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = D90E711B1E6CB4360008D83B /* AccountDetailViewController.swift */; }; - D917CCDE1E553007003636B7 /* ServerCheck.swift in Sources */ = {isa = PBXBuildFile; fileRef = D917CCDD1E553007003636B7 /* ServerCheck.swift */; }; - D91C86681E4E6DEE008BD763 /* ServerCapabilityInfo.swift in Sources */ = {isa = PBXBuildFile; fileRef = D91C86671E4E6DEE008BD763 /* ServerCapabilityInfo.swift */; }; - D91C866B1E4E7EEA008BD763 /* ServerCapabilityTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = D91C86691E4E7EEA008BD763 /* ServerCapabilityTableViewCell.swift */; }; D91C866D1E4E7F07008BD763 /* ServerCapabilityTableViewCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = D91C866A1E4E7EEA008BD763 /* ServerCapabilityTableViewCell.xib */; }; - D91E641A1DB156E90074B2D4 /* OMEMODeviceFingerprintCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = D91E64181DB156E90074B2D4 /* OMEMODeviceFingerprintCell.swift */; }; D91E641C1DB179A00074B2D4 /* OMEMODeviceFingerprintCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = D91E64191DB156E90074B2D4 /* OMEMODeviceFingerprintCell.xib */; }; - D91F9EFB1ED6301500AEA62C /* OTRDownloadMessage.h in Headers */ = {isa = PBXBuildFile; fileRef = D91F9EF91ED6301500AEA62C /* OTRDownloadMessage.h */; settings = {ATTRIBUTES = (Public, ); }; }; - D91F9EFC1ED6301500AEA62C /* OTRDownloadMessage.m in Sources */ = {isa = PBXBuildFile; fileRef = D91F9EFA1ED6301500AEA62C /* OTRDownloadMessage.m */; }; D91F9EFE1ED645F100AEA62C /* FileTransferIntegrationTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D91F9EFD1ED645F100AEA62C /* FileTransferIntegrationTests.swift */; }; D9227C241BA78E6B00B5E1D0 /* FontAwesome.ttf in Resources */ = {isa = PBXBuildFile; fileRef = D9227C231BA78E6B00B5E1D0 /* FontAwesome.ttf */; }; - D9227C2D1BA7952100B5E1D0 /* ChatSecureCore.h in Headers */ = {isa = PBXBuildFile; fileRef = D9227C2C1BA7952100B5E1D0 /* ChatSecureCore.h */; settings = {ATTRIBUTES = (Public, ); }; }; - D9227C3F1BA7952100B5E1D0 /* ChatSecureCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D9227C2A1BA7952100B5E1D0 /* ChatSecureCore.framework */; }; - D9227C401BA7952100B5E1D0 /* ChatSecureCore.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = D9227C2A1BA7952100B5E1D0 /* ChatSecureCore.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; - D9229D541EA960CF003D0D09 /* OTRAccountMigrationViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = D9229D521EA960CF003D0D09 /* OTRAccountMigrationViewController.h */; settings = {ATTRIBUTES = (Public, ); }; }; - D9229D551EA960CF003D0D09 /* OTRAccountMigrationViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = D9229D531EA960CF003D0D09 /* OTRAccountMigrationViewController.m */; }; - D926C19B20FBDD9E0053C538 /* Compatibility.swift in Sources */ = {isa = PBXBuildFile; fileRef = D926C19A20FBDD9E0053C538 /* Compatibility.swift */; }; - D927C9771EF0C5AF00B72026 /* UIView+OTRAssets.swift in Sources */ = {isa = PBXBuildFile; fileRef = D927C9761EF0C5AF00B72026 /* UIView+OTRAssets.swift */; }; - D92AC2091DB023D8007BD3E7 /* KeyManagementViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = D92AC2081DB023D8007BD3E7 /* KeyManagementViewController.swift */; }; D9315CAE1BB600450077D2EE /* AddFriendsView.xib in Resources */ = {isa = PBXBuildFile; fileRef = D9315CAD1BB600450077D2EE /* AddFriendsView.xib */; }; - D9315CB01BB604FA0077D2EE /* AddFriendsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = D9315CAF1BB604FA0077D2EE /* AddFriendsView.swift */; }; - D9315CB21BB606890077D2EE /* ShareController.swift in Sources */ = {isa = PBXBuildFile; fileRef = D9315CB11BB606890077D2EE /* ShareController.swift */; }; - D935EF0B1CFFA19A005A1AC8 /* OTRBuddyApprovalCell.h in Headers */ = {isa = PBXBuildFile; fileRef = D935EF091CFFA19A005A1AC8 /* OTRBuddyApprovalCell.h */; settings = {ATTRIBUTES = (Public, ); }; }; - D935EF0C1CFFA19A005A1AC8 /* OTRBuddyApprovalCell.m in Sources */ = {isa = PBXBuildFile; fileRef = D935EF0A1CFFA19A005A1AC8 /* OTRBuddyApprovalCell.m */; }; D9365E7A1A1EB0050006434A /* torrc in Resources */ = {isa = PBXBuildFile; fileRef = D9365E791A1EB0050006434A /* torrc */; }; - D936D6C91E8B0F6C003B1343 /* FileTransferManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = D936D6C81E8B0F6C003B1343 /* FileTransferManager.swift */; }; D936D6CB1E8B1B34003B1343 /* FileTransferTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D936D6CA1E8B1B34003B1343 /* FileTransferTests.swift */; }; D937184E1EC13D7B00766D49 /* Purchase.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = D937184D1EC13D7B00766D49 /* Purchase.storyboard */; }; - D93718501EC1402B00766D49 /* MaybeLaterViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = D937184F1EC1402B00766D49 /* MaybeLaterViewController.swift */; }; - D93DDA781BA79A2400CD8331 /* OTRAppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 633105E61A16D1A300C17BAE /* OTRAppDelegate.m */; }; - D93DDA791BA79A2400CD8331 /* NSURL+ChatSecure.m in Sources */ = {isa = PBXBuildFile; fileRef = 633105031A16D1A300C17BAE /* NSURL+ChatSecure.m */; }; - D93DDA7B1BA79A2400CD8331 /* UIActivity+ChatSecure.m in Sources */ = {isa = PBXBuildFile; fileRef = 633105071A16D1A300C17BAE /* UIActivity+ChatSecure.m */; }; - D93DDA7C1BA79A2400CD8331 /* UIActivityViewController+ChatSecure.m in Sources */ = {isa = PBXBuildFile; fileRef = 633105091A16D1A300C17BAE /* UIActivityViewController+ChatSecure.m */; }; - D93DDA7D1BA79A2400CD8331 /* UIImage+ChatSecure.m in Sources */ = {isa = PBXBuildFile; fileRef = 6331050B1A16D1A300C17BAE /* UIImage+ChatSecure.m */; }; - D93DDA7E1BA79A2400CD8331 /* UIViewController+ChatSecure.m in Sources */ = {isa = PBXBuildFile; fileRef = 6331050D1A16D1A300C17BAE /* UIViewController+ChatSecure.m */; }; - D93DDA7F1BA79A2400CD8331 /* JSQMessagesCollectionViewCell+ChatSecure.m in Sources */ = {isa = PBXBuildFile; fileRef = 63FABC8D1A410EBF009BF681 /* JSQMessagesCollectionViewCell+ChatSecure.m */; }; - D93DDA801BA79A2400CD8331 /* NSString+ChatSecure.m in Sources */ = {isa = PBXBuildFile; fileRef = 63FABC901A41218E009BF681 /* NSString+ChatSecure.m */; }; - D93DDA811BA79A2400CD8331 /* NSFileManager+ChatSecure.m in Sources */ = {isa = PBXBuildFile; fileRef = 638FC09C1B0BE46100B37454 /* NSFileManager+ChatSecure.m */; }; - D93DDA821BA79A2400CD8331 /* OTRAttachmentPicker.m in Sources */ = {isa = PBXBuildFile; fileRef = 63F6E1901A69B9BA0011E6F7 /* OTRAttachmentPicker.m */; }; - D93DDA831BA79A2400CD8331 /* OTRAccountsManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 633105101A16D1A300C17BAE /* OTRAccountsManager.m */; }; - D93DDA841BA79A2400CD8331 /* OTRDatabaseManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 633105141A16D1A300C17BAE /* OTRDatabaseManager.m */; }; - D93DDA851BA79A2400CD8331 /* OTRDatabaseView.m in Sources */ = {isa = PBXBuildFile; fileRef = 633105161A16D1A300C17BAE /* OTRDatabaseView.m */; }; - D93DDA861BA79A2400CD8331 /* OTREncryptionManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 633105181A16D1A300C17BAE /* OTREncryptionManager.m */; }; - D93DDA881BA79A2400CD8331 /* OTROAuthRefresher.m in Sources */ = {isa = PBXBuildFile; fileRef = 6331051E1A16D1A300C17BAE /* OTROAuthRefresher.m */; }; - D93DDA891BA79A2400CD8331 /* OTRProtocolManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 633105231A16D1A300C17BAE /* OTRProtocolManager.m */; }; - D93DDA8A1BA79A2400CD8331 /* OTRSettingsManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 6331052F1A16D1A300C17BAE /* OTRSettingsManager.m */; }; - D93DDA8B1BA79A2400CD8331 /* OTRTorManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 633105311A16D1A300C17BAE /* OTRTorManager.m */; }; - D93DDA8D1BA79A2400CD8331 /* OTRAudioSessionManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 633AF2F91A7C3DBC0030A3FF /* OTRAudioSessionManager.m */; }; - D93DDA8E1BA79A2400CD8331 /* OTRAudioPlaybackController.m in Sources */ = {isa = PBXBuildFile; fileRef = 63C5B6691A82F3EE0011BEA8 /* OTRAudioPlaybackController.m */; }; - D93DDA8F1BA79A2400CD8331 /* OTRMediaFileManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 6354BBE31A96C67400E8EBAC /* OTRMediaFileManager.m */; }; - D93DDA901BA79A2400CD8331 /* OTRMediaServer.m in Sources */ = {isa = PBXBuildFile; fileRef = 63DDD8AF1A9D3C0400C0A918 /* OTRMediaServer.m */; }; - D93DDA911BA79A2400CD8331 /* OTRStreamManagementYapStorage.m in Sources */ = {isa = PBXBuildFile; fileRef = 63B916E11B743198003B778F /* OTRStreamManagementYapStorage.m */; }; - D93DDA941BA79A2400CD8331 /* OTRXMPPBuddyTimers.m in Sources */ = {isa = PBXBuildFile; fileRef = 633105361A16D1A300C17BAE /* OTRXMPPBuddyTimers.m */; }; - D93DDA971BA79A2400CD8331 /* OTRXMPPTorManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 6331053C1A16D1A300C17BAE /* OTRXMPPTorManager.m */; }; - D93DDA991BA79A2400CD8331 /* OTRXMPPServerInfo.m in Sources */ = {isa = PBXBuildFile; fileRef = 63C7E64D1B20F69F0085FA06 /* OTRXMPPServerInfo.m */; }; - D93DDABA1BA79A2500CD8331 /* OTRActivityItemProvider.m in Sources */ = {isa = PBXBuildFile; fileRef = 6331058E1A16D1A300C17BAE /* OTRActivityItemProvider.m */; }; - D93DDABB1BA79A2500CD8331 /* OTRDomainCellInfo.m in Sources */ = {isa = PBXBuildFile; fileRef = 633105901A16D1A300C17BAE /* OTRDomainCellInfo.m */; }; - D93DDABC1BA79A2500CD8331 /* OTROpenInFacebookActivity.m in Sources */ = {isa = PBXBuildFile; fileRef = 633105921A16D1A300C17BAE /* OTROpenInFacebookActivity.m */; }; - D93DDABD1BA79A2500CD8331 /* OTROpenInTwitterActivity.m in Sources */ = {isa = PBXBuildFile; fileRef = 633105941A16D1A300C17BAE /* OTROpenInTwitterActivity.m */; }; - D93DDABE1BA79A2500CD8331 /* OTRQRCodeActivity.m in Sources */ = {isa = PBXBuildFile; fileRef = 633105961A16D1A300C17BAE /* OTRQRCodeActivity.m */; }; - D93DDABF1BA79A2500CD8331 /* OTRToastOptions.m in Sources */ = {isa = PBXBuildFile; fileRef = 63D64D651A2FBA8C00E21F77 /* OTRToastOptions.m */; }; - D93DDAC01BA79A2600CD8331 /* OTRBoolSetting.m in Sources */ = {isa = PBXBuildFile; fileRef = 633105991A16D1A300C17BAE /* OTRBoolSetting.m */; }; - D93DDAC11BA79A2600CD8331 /* OTRCertificateSetting.m in Sources */ = {isa = PBXBuildFile; fileRef = 6331059B1A16D1A300C17BAE /* OTRCertificateSetting.m */; }; - D93DDAC21BA79A2600CD8331 /* OTRDonateSetting.m in Sources */ = {isa = PBXBuildFile; fileRef = 6331059D1A16D1A300C17BAE /* OTRDonateSetting.m */; }; - D93DDAC31BA79A2600CD8331 /* OTRDoubleSetting.m in Sources */ = {isa = PBXBuildFile; fileRef = 6331059F1A16D1A300C17BAE /* OTRDoubleSetting.m */; }; - D93DDAC41BA79A2600CD8331 /* OTRFeedbackSetting.m in Sources */ = {isa = PBXBuildFile; fileRef = 633105A11A16D1A300C17BAE /* OTRFeedbackSetting.m */; }; - D93DDAC61BA79A2600CD8331 /* OTRIntSetting.m in Sources */ = {isa = PBXBuildFile; fileRef = 633105A51A16D1A300C17BAE /* OTRIntSetting.m */; }; - D93DDAC71BA79A2600CD8331 /* OTRLanguageSetting.m in Sources */ = {isa = PBXBuildFile; fileRef = 633105A71A16D1A300C17BAE /* OTRLanguageSetting.m */; }; - D93DDAC81BA79A2600CD8331 /* OTRListSetting.m in Sources */ = {isa = PBXBuildFile; fileRef = 633105A91A16D1A300C17BAE /* OTRListSetting.m */; }; - D93DDAC91BA79A2600CD8331 /* OTRListSettingValue.m in Sources */ = {isa = PBXBuildFile; fileRef = 633105AB1A16D1A300C17BAE /* OTRListSettingValue.m */; }; - D93DDACA1BA79A2600CD8331 /* OTRSetting.m in Sources */ = {isa = PBXBuildFile; fileRef = 633105AF1A16D1A300C17BAE /* OTRSetting.m */; }; - D93DDACB1BA79A2600CD8331 /* OTRSettingsGroup.m in Sources */ = {isa = PBXBuildFile; fileRef = 633105B11A16D1A300C17BAE /* OTRSettingsGroup.m */; }; - D93DDACC1BA79A2600CD8331 /* OTRShareSetting.m in Sources */ = {isa = PBXBuildFile; fileRef = 633105B31A16D1A300C17BAE /* OTRShareSetting.m */; }; - D93DDACD1BA79A2600CD8331 /* OTRValueSetting.m in Sources */ = {isa = PBXBuildFile; fileRef = 633105B51A16D1A300C17BAE /* OTRValueSetting.m */; }; - D93DDACE1BA79A2600CD8331 /* OTRViewSetting.m in Sources */ = {isa = PBXBuildFile; fileRef = 633105B71A16D1A300C17BAE /* OTRViewSetting.m */; }; - D93DDACF1BA79A2600CD8331 /* OTRFacebookOAuthXMPPAccount.m in Sources */ = {isa = PBXBuildFile; fileRef = 63CFB1031ABA492600A8D27E /* OTRFacebookOAuthXMPPAccount.m */; }; - D93DDAD01BA79A2600CD8331 /* OTRAccount.m in Sources */ = {isa = PBXBuildFile; fileRef = 633105BB1A16D1A300C17BAE /* OTRAccount.m */; }; - D93DDAD11BA79A2600CD8331 /* OTRGoogleOAuthXMPPAccount.m in Sources */ = {isa = PBXBuildFile; fileRef = 633105BF1A16D1A300C17BAE /* OTRGoogleOAuthXMPPAccount.m */; }; - D93DDAD21BA79A2600CD8331 /* OTROAuthXMPPAccount.m in Sources */ = {isa = PBXBuildFile; fileRef = 633105C11A16D1A300C17BAE /* OTROAuthXMPPAccount.m */; }; - D93DDAD31BA79A2600CD8331 /* OTRXMPPAccount.m in Sources */ = {isa = PBXBuildFile; fileRef = 633105C51A16D1A300C17BAE /* OTRXMPPAccount.m */; }; - D93DDAD41BA79A2600CD8331 /* OTRXMPPTorAccount.m in Sources */ = {isa = PBXBuildFile; fileRef = 633105C71A16D1A300C17BAE /* OTRXMPPTorAccount.m */; }; - D93DDAD51BA79A2700CD8331 /* OTRMediaItem.m in Sources */ = {isa = PBXBuildFile; fileRef = 63D27FC41A6DC51C00EC251A /* OTRMediaItem.m */; }; - D93DDAD61BA79A2700CD8331 /* OTRImageItem.m in Sources */ = {isa = PBXBuildFile; fileRef = 633620981A76E87B006E8739 /* OTRImageItem.m */; }; - D93DDAD71BA79A2700CD8331 /* OTRVideoItem.m in Sources */ = {isa = PBXBuildFile; fileRef = 6336209B1A76E88C006E8739 /* OTRVideoItem.m */; }; - D93DDAD81BA79A2700CD8331 /* OTRAudioItem.m in Sources */ = {isa = PBXBuildFile; fileRef = 6336209E1A76E89A006E8739 /* OTRAudioItem.m */; }; - D93DDAD91BA79A2700CD8331 /* OTRStreamManagementStorageObject.m in Sources */ = {isa = PBXBuildFile; fileRef = 63B916E41B7431C1003B778F /* OTRStreamManagementStorageObject.m */; }; - D93DDADA1BA79A2700CD8331 /* OTRBuddy.m in Sources */ = {isa = PBXBuildFile; fileRef = 633105CB1A16D1A300C17BAE /* OTRBuddy.m */; }; - D93DDADB1BA79A2700CD8331 /* OTRMessage+JSQMessageData.m in Sources */ = {isa = PBXBuildFile; fileRef = 633105CD1A16D1A300C17BAE /* OTRMessage+JSQMessageData.m */; }; - D93DDADC1BA79A2700CD8331 /* OTRBaseMessage.m in Sources */ = {isa = PBXBuildFile; fileRef = 633105CF1A16D1A300C17BAE /* OTRBaseMessage.m */; }; - D93DDADD1BA79A2700CD8331 /* OTRXMPPBuddy.m in Sources */ = {isa = PBXBuildFile; fileRef = 633105D11A16D1A300C17BAE /* OTRXMPPBuddy.m */; }; - D93DDADF1BA79A2700CD8331 /* OTRYapDatabaseObject.m in Sources */ = {isa = PBXBuildFile; fileRef = 633105D51A16D1A300C17BAE /* OTRYapDatabaseObject.m */; }; - D93DDAE01BA79A2700CD8331 /* OTRCertificatePinning.m in Sources */ = {isa = PBXBuildFile; fileRef = 633105E91A16D1A300C17BAE /* OTRCertificatePinning.m */; }; - D93DDAE11BA79A2700CD8331 /* OTRChatDemo.m in Sources */ = {isa = PBXBuildFile; fileRef = 633105EB1A16D1A300C17BAE /* OTRChatDemo.m */; }; - D93DDAE21BA79A2700CD8331 /* OTRColors.m in Sources */ = {isa = PBXBuildFile; fileRef = 633105ED1A16D1A300C17BAE /* OTRColors.m */; }; - D93DDAE41BA79A2700CD8331 /* OTRImages.m in Sources */ = {isa = PBXBuildFile; fileRef = 633105F11A16D1A300C17BAE /* OTRImages.m */; }; - D93DDAE61BA79A2700CD8331 /* OTRPasswordGenerator.m in Sources */ = {isa = PBXBuildFile; fileRef = 633105F61A16D1A300C17BAE /* OTRPasswordGenerator.m */; }; - D93DDAE81BA79A2800CD8331 /* OTRUtilities.m in Sources */ = {isa = PBXBuildFile; fileRef = 633105FB1A16D1A300C17BAE /* OTRUtilities.m */; }; - D93DDAE91BA79A2800CD8331 /* OTRXMPPError.m in Sources */ = {isa = PBXBuildFile; fileRef = 633105FD1A16D1A300C17BAE /* OTRXMPPError.m */; }; - D93DDAEB1BA79A2800CD8331 /* OTRExistingAccountViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = D989A84E1B5DBD90000608A9 /* OTRExistingAccountViewController.m */; }; - D93DDAEC1BA79A2800CD8331 /* OTRWelcomeAccountTableViewDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 638D2E021AFBFE2200F3C50C /* OTRWelcomeAccountTableViewDelegate.m */; }; - D93DDAED1BA79A2800CD8331 /* OTRInviteViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 6331D3B61B4DBBEE00C85365 /* OTRInviteViewController.m */; }; - D93DDAEE1BA79A2800CD8331 /* OTRAddBuddyQRCodeViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 6331D3B91B4F3C6E00C85365 /* OTRAddBuddyQRCodeViewController.m */; }; - D93DDAEF1BA79A2800CD8331 /* OTRQRCodeReaderDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 6331D3BC1B4F41AF00C85365 /* OTRQRCodeReaderDelegate.m */; }; - D93DDAF01BA79A2800CD8331 /* OTRBaseLoginViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 638C7CF11B02BE4A004F8EC3 /* OTRBaseLoginViewController.m */; }; - D93DDAF11BA79A2800CD8331 /* OTRXLFormCreator.m in Sources */ = {isa = PBXBuildFile; fileRef = 638C7CF41B02BF0D004F8EC3 /* OTRXLFormCreator.m */; }; - D93DDAF21BA79A2800CD8331 /* OTRXMPPServerListViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 63039E971B0D43FE007C9978 /* OTRXMPPServerListViewController.m */; }; - D93DDAF31BA79A2800CD8331 /* OTRXMPPLoginHandler.m in Sources */ = {isa = PBXBuildFile; fileRef = 634680821B0404CE00D9A1C5 /* OTRXMPPLoginHandler.m */; }; - D93DDAF51BA79A2800CD8331 /* OTRGoolgeOAuthLoginHandler.m in Sources */ = {isa = PBXBuildFile; fileRef = 634680891B041F2F00D9A1C5 /* OTRGoolgeOAuthLoginHandler.m */; }; - D93DDAF71BA79A2900CD8331 /* OTRXMPPCreateAccountHandler.m in Sources */ = {isa = PBXBuildFile; fileRef = 6346808C1B04206400D9A1C5 /* OTRXMPPCreateAccountHandler.m */; }; - D93DDAF81BA79A2900CD8331 /* OTRLoginHandler.m in Sources */ = {isa = PBXBuildFile; fileRef = 63BE425D1B320EE20017058C /* OTRLoginHandler.m */; }; - D93DDAFC1BA79A2900CD8331 /* OTRCertificateDomainViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 633106191A16D1A300C17BAE /* OTRCertificateDomainViewController.m */; }; - D93DDAFD1BA79A2900CD8331 /* OTRCertificatesViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 6331061B1A16D1A300C17BAE /* OTRCertificatesViewController.m */; }; - D93DDAFF1BA79A2900CD8331 /* OTRChooseAccountViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 6331061F1A16D1A300C17BAE /* OTRChooseAccountViewController.m */; }; - D93DDB001BA79A2900CD8331 /* OTRComposeViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 633106211A16D1A300C17BAE /* OTRComposeViewController.m */; }; - D93DDB011BA79A2900CD8331 /* OTRConversationViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 633106231A16D1A300C17BAE /* OTRConversationViewController.m */; }; - D93DDB021BA79A2900CD8331 /* OTRDatabaseUnlockViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 633106291A16D1A300C17BAE /* OTRDatabaseUnlockViewController.m */; }; - D93DDB031BA79A2A00CD8331 /* OTRDoubleSettingViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 6331062B1A16D1A300C17BAE /* OTRDoubleSettingViewController.m */; }; - D93DDB051BA79A2A00CD8331 /* OTRIntSettingViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 6331062F1A16D1A300C17BAE /* OTRIntSettingViewController.m */; }; - D93DDB061BA79A2A00CD8331 /* OTRLanguageListSettingViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 633106311A16D1A300C17BAE /* OTRLanguageListSettingViewController.m */; }; - D93DDB071BA79A2A00CD8331 /* OTRListSettingViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 633106331A16D1A300C17BAE /* OTRListSettingViewController.m */; }; - D93DDB081BA79A2A00CD8331 /* OTRMessagesViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 633106351A16D1A300C17BAE /* OTRMessagesViewController.m */; }; - D93DDB091BA79A2A00CD8331 /* OTRMessagesHoldTalkViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 63EA4CF81ACC81C800B19E12 /* OTRMessagesHoldTalkViewController.m */; }; - D93DDB0A1BA79A2A00CD8331 /* OTRNewBuddyViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 633106391A16D1A300C17BAE /* OTRNewBuddyViewController.m */; }; - D93DDB0B1BA79A2A00CD8331 /* OTRQRCodeViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 6331063F1A16D1A300C17BAE /* OTRQRCodeViewController.m */; }; - D93DDB0C1BA79A2A00CD8331 /* OTRSettingDetailViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 633106431A16D1A300C17BAE /* OTRSettingDetailViewController.m */; }; - D93DDB0D1BA79A2A00CD8331 /* OTRSettingsViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 633106451A16D1A300C17BAE /* OTRSettingsViewController.m */; }; - D93DDB0F1BA79A2B00CD8331 /* OTRCircleView.m in Sources */ = {isa = PBXBuildFile; fileRef = D95AD2231B67FD6A007DEBC3 /* OTRCircleView.m */; }; - D93DDB101BA79A2B00CD8331 /* OTRCircleButtonView.m in Sources */ = {isa = PBXBuildFile; fileRef = D9ADE5B81B606642009471FF /* OTRCircleButtonView.m */; }; - D93DDB111BA79A2B00CD8331 /* XMPPServerInfoCell.m in Sources */ = {isa = PBXBuildFile; fileRef = D9BE65441B6A08ED002D4136 /* XMPPServerInfoCell.m */; }; - D93DDB121BA79A2B00CD8331 /* OTRAccountTableViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 6331064D1A16D1A300C17BAE /* OTRAccountTableViewCell.m */; }; - D93DDB131BA79A2B00CD8331 /* OTRBuddyImageCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 6331064F1A16D1A300C17BAE /* OTRBuddyImageCell.m */; }; - D93DDB141BA79A2B00CD8331 /* OTRBuddyInfoCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 633106511A16D1A300C17BAE /* OTRBuddyInfoCell.m */; }; - D93DDB151BA79A2B00CD8331 /* OTRConversationCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 633106531A16D1A300C17BAE /* OTRConversationCell.m */; }; - D93DDB161BA79A2B00CD8331 /* OTRInLineTextEditTableViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 633106551A16D1A300C17BAE /* OTRInLineTextEditTableViewCell.m */; }; - D93DDB171BA79A2B00CD8331 /* OTRSettingTableViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 6331065F1A16D1A300C17BAE /* OTRSettingTableViewCell.m */; }; - D93DDB181BA79A2C00CD8331 /* OTRStatusMessageCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 633106611A16D1A300C17BAE /* OTRStatusMessageCell.m */; }; - D93DDB1A1BA79A2C00CD8331 /* OTRButtonView.m in Sources */ = {isa = PBXBuildFile; fileRef = 633106681A16D1A300C17BAE /* OTRButtonView.m */; }; - D93DDB1B1BA79A2C00CD8331 /* OTRAudioControlsView.m in Sources */ = {isa = PBXBuildFile; fileRef = 63F0FF631A798D8E001F0C99 /* OTRAudioControlsView.m */; }; - D93DDB1C1BA79A2C00CD8331 /* OTRPlayPauseProgressView.m in Sources */ = {isa = PBXBuildFile; fileRef = 63FA548A1A7ACA2F00F2AEBB /* OTRPlayPauseProgressView.m */; }; - D93DDB1D1BA79A2C00CD8331 /* OTRPlayView.m in Sources */ = {isa = PBXBuildFile; fileRef = 63FA548D1A7B29EB00F2AEBB /* OTRPlayView.m */; }; - D93DDB1E1BA79A2C00CD8331 /* OTRPauseView.m in Sources */ = {isa = PBXBuildFile; fileRef = 63FA54901A7B2C2E00F2AEBB /* OTRPauseView.m */; }; - D93DDB1F1BA79A2C00CD8331 /* OTRColorFadingDotView.m in Sources */ = {isa = PBXBuildFile; fileRef = 6331066A1A16D1A300C17BAE /* OTRColorFadingDotView.m */; }; - D93DDB201BA79A2C00CD8331 /* OTRComposingImageView.m in Sources */ = {isa = PBXBuildFile; fileRef = 6331066C1A16D1A300C17BAE /* OTRComposingImageView.m */; }; - D93DDB211BA79A2C00CD8331 /* OTRLockButton.m in Sources */ = {isa = PBXBuildFile; fileRef = 6331066E1A16D1A300C17BAE /* OTRLockButton.m */; }; - D93DDB221BA79A2C00CD8331 /* OTRPasswordStrengthView.m in Sources */ = {isa = PBXBuildFile; fileRef = 633106701A16D1A300C17BAE /* OTRPasswordStrengthView.m */; }; - D93DDB231BA79A2D00CD8331 /* OTRRememberPasswordView.m in Sources */ = {isa = PBXBuildFile; fileRef = 633106721A16D1A300C17BAE /* OTRRememberPasswordView.m */; }; - D93DDB241BA79A2D00CD8331 /* OTRSocialButtonsView.m in Sources */ = {isa = PBXBuildFile; fileRef = 633106741A16D1A300C17BAE /* OTRSocialButtonsView.m */; }; - D93DDB251BA79A2D00CD8331 /* OTRTitleSubtitleView.m in Sources */ = {isa = PBXBuildFile; fileRef = 633106761A16D1A300C17BAE /* OTRTitleSubtitleView.m */; }; - D93DDB261BA79A2D00CD8331 /* OTRHoldToTalkView.m in Sources */ = {isa = PBXBuildFile; fileRef = 63EA4CFC1ACC96AB00B19E12 /* OTRHoldToTalkView.m */; }; - D93DDB271BA79A2D00CD8331 /* OTRAudioTrashView.m in Sources */ = {isa = PBXBuildFile; fileRef = 6353AC2C1AD5E32000753B83 /* OTRAudioTrashView.m */; }; - D93DDB281BA79A2D00CD8331 /* OTRTouchAndHoldGestureRecognizer.m in Sources */ = {isa = PBXBuildFile; fileRef = 639CDD901AD74419009BAABC /* OTRTouchAndHoldGestureRecognizer.m */; }; - D93DDB291BA79A5400CD8331 /* OTRWelcomeViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = D913A56E1B7481AD006C5ACD /* OTRWelcomeViewController.swift */; }; - D93DDB2A1BA79A5400CD8331 /* OTRUsernameCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = D9C6E6A01B71575300572273 /* OTRUsernameCell.swift */; }; - D93DDB2B1BA79A7000CD8331 /* OTRAppDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = 633105E51A16D1A300C17BAE /* OTRAppDelegate.h */; settings = {ATTRIBUTES = (Public, ); }; }; - D93DDB2C1BA79A7000CD8331 /* NSURL+ChatSecure.h in Headers */ = {isa = PBXBuildFile; fileRef = 633105021A16D1A300C17BAE /* NSURL+ChatSecure.h */; settings = {ATTRIBUTES = (Public, ); }; }; - D93DDB2E1BA79A7000CD8331 /* UIActivity+ChatSecure.h in Headers */ = {isa = PBXBuildFile; fileRef = 633105061A16D1A300C17BAE /* UIActivity+ChatSecure.h */; settings = {ATTRIBUTES = (Private, ); }; }; - D93DDB2F1BA79A7000CD8331 /* UIActivityViewController+ChatSecure.h in Headers */ = {isa = PBXBuildFile; fileRef = 633105081A16D1A300C17BAE /* UIActivityViewController+ChatSecure.h */; settings = {ATTRIBUTES = (Private, ); }; }; - D93DDB301BA79A7000CD8331 /* UIImage+ChatSecure.h in Headers */ = {isa = PBXBuildFile; fileRef = 6331050A1A16D1A300C17BAE /* UIImage+ChatSecure.h */; settings = {ATTRIBUTES = (Public, ); }; }; - D93DDB311BA79A7000CD8331 /* UIViewController+ChatSecure.h in Headers */ = {isa = PBXBuildFile; fileRef = 6331050C1A16D1A300C17BAE /* UIViewController+ChatSecure.h */; settings = {ATTRIBUTES = (Private, ); }; }; - D93DDB321BA79A7000CD8331 /* JSQMessagesCollectionViewCell+ChatSecure.h in Headers */ = {isa = PBXBuildFile; fileRef = 63FABC8C1A410EBF009BF681 /* JSQMessagesCollectionViewCell+ChatSecure.h */; settings = {ATTRIBUTES = (Private, ); }; }; - D93DDB331BA79A7000CD8331 /* NSString+ChatSecure.h in Headers */ = {isa = PBXBuildFile; fileRef = 63FABC8F1A41218E009BF681 /* NSString+ChatSecure.h */; settings = {ATTRIBUTES = (Public, ); }; }; - D93DDB341BA79A7000CD8331 /* NSFileManager+ChatSecure.h in Headers */ = {isa = PBXBuildFile; fileRef = 638FC09B1B0BE46100B37454 /* NSFileManager+ChatSecure.h */; settings = {ATTRIBUTES = (Private, ); }; }; - D93DDB351BA79A7000CD8331 /* OTRAttachmentPicker.h in Headers */ = {isa = PBXBuildFile; fileRef = 63F6E18F1A69B9BA0011E6F7 /* OTRAttachmentPicker.h */; settings = {ATTRIBUTES = (Public, ); }; }; - D93DDB361BA79A7000CD8331 /* OTRAccountsManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 6331050F1A16D1A300C17BAE /* OTRAccountsManager.h */; settings = {ATTRIBUTES = (Public, ); }; }; - D93DDB371BA79A7100CD8331 /* OTRDatabaseManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 633105131A16D1A300C17BAE /* OTRDatabaseManager.h */; settings = {ATTRIBUTES = (Public, ); }; }; - D93DDB381BA79A7100CD8331 /* OTRDatabaseView.h in Headers */ = {isa = PBXBuildFile; fileRef = 633105151A16D1A300C17BAE /* OTRDatabaseView.h */; settings = {ATTRIBUTES = (Public, ); }; }; - D93DDB391BA79A7100CD8331 /* OTREncryptionManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 633105171A16D1A300C17BAE /* OTREncryptionManager.h */; settings = {ATTRIBUTES = (Public, ); }; }; - D93DDB3B1BA79A7100CD8331 /* OTROAuthRefresher.h in Headers */ = {isa = PBXBuildFile; fileRef = 6331051D1A16D1A300C17BAE /* OTROAuthRefresher.h */; settings = {ATTRIBUTES = (Private, ); }; }; - D93DDB3C1BA79A7100CD8331 /* OTRProtocol.h in Headers */ = {isa = PBXBuildFile; fileRef = 633105211A16D1A300C17BAE /* OTRProtocol.h */; settings = {ATTRIBUTES = (Public, ); }; }; - D93DDB3D1BA79A7100CD8331 /* OTRProtocolManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 633105221A16D1A300C17BAE /* OTRProtocolManager.h */; settings = {ATTRIBUTES = (Public, ); }; }; - D93DDB3E1BA79A7100CD8331 /* OTRSettingsManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 6331052E1A16D1A300C17BAE /* OTRSettingsManager.h */; settings = {ATTRIBUTES = (Public, ); }; }; - D93DDB3F1BA79A7100CD8331 /* OTRTorManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 633105301A16D1A300C17BAE /* OTRTorManager.h */; settings = {ATTRIBUTES = (Private, ); }; }; - D93DDB411BA79A7100CD8331 /* OTRAudioSessionManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 633AF2F81A7C3DBB0030A3FF /* OTRAudioSessionManager.h */; settings = {ATTRIBUTES = (Private, ); }; }; - D93DDB421BA79A7100CD8331 /* OTRAudioPlaybackController.h in Headers */ = {isa = PBXBuildFile; fileRef = 63C5B6681A82F3EE0011BEA8 /* OTRAudioPlaybackController.h */; settings = {ATTRIBUTES = (Private, ); }; }; - D93DDB431BA79A7200CD8331 /* OTRMediaFileManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 6354BBE21A96C67400E8EBAC /* OTRMediaFileManager.h */; settings = {ATTRIBUTES = (Public, ); }; }; - D93DDB441BA79A7200CD8331 /* OTRMediaServer.h in Headers */ = {isa = PBXBuildFile; fileRef = 63DDD8AE1A9D3C0400C0A918 /* OTRMediaServer.h */; settings = {ATTRIBUTES = (Public, ); }; }; - D93DDB451BA79A7200CD8331 /* OTRStreamManagementYapStorage.h in Headers */ = {isa = PBXBuildFile; fileRef = 63B916E01B743198003B778F /* OTRStreamManagementYapStorage.h */; settings = {ATTRIBUTES = (Private, ); }; }; - D93DDB481BA79A7200CD8331 /* OTRXMPPBuddyTimers.h in Headers */ = {isa = PBXBuildFile; fileRef = 633105351A16D1A300C17BAE /* OTRXMPPBuddyTimers.h */; settings = {ATTRIBUTES = (Private, ); }; }; - D93DDB491BA79A7200CD8331 /* OTRXMPPManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 633105371A16D1A300C17BAE /* OTRXMPPManager.h */; settings = {ATTRIBUTES = (Public, ); }; }; - D93DDB4B1BA79A7300CD8331 /* OTRXMPPTorManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 6331053B1A16D1A300C17BAE /* OTRXMPPTorManager.h */; settings = {ATTRIBUTES = (Private, ); }; }; - D93DDB4E1BA79A7300CD8331 /* OTRXMPPServerInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = 63C7E64C1B20F69F0085FA06 /* OTRXMPPServerInfo.h */; settings = {ATTRIBUTES = (Public, ); }; }; - D93DDB6F1BA79A7E00CD8331 /* OTRActivityItemProvider.h in Headers */ = {isa = PBXBuildFile; fileRef = 6331058D1A16D1A300C17BAE /* OTRActivityItemProvider.h */; settings = {ATTRIBUTES = (Public, ); }; }; - D93DDB701BA79A7E00CD8331 /* OTRDomainCellInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = 6331058F1A16D1A300C17BAE /* OTRDomainCellInfo.h */; settings = {ATTRIBUTES = (Private, ); }; }; - D93DDB711BA79A7F00CD8331 /* OTROpenInFacebookActivity.h in Headers */ = {isa = PBXBuildFile; fileRef = 633105911A16D1A300C17BAE /* OTROpenInFacebookActivity.h */; settings = {ATTRIBUTES = (Private, ); }; }; - D93DDB721BA79A7F00CD8331 /* OTROpenInTwitterActivity.h in Headers */ = {isa = PBXBuildFile; fileRef = 633105931A16D1A300C17BAE /* OTROpenInTwitterActivity.h */; settings = {ATTRIBUTES = (Private, ); }; }; - D93DDB731BA79A7F00CD8331 /* OTRQRCodeActivity.h in Headers */ = {isa = PBXBuildFile; fileRef = 633105951A16D1A300C17BAE /* OTRQRCodeActivity.h */; settings = {ATTRIBUTES = (Public, ); }; }; - D93DDB741BA79A8000CD8331 /* OTRToastOptions.h in Headers */ = {isa = PBXBuildFile; fileRef = 63D64D641A2FBA8C00E21F77 /* OTRToastOptions.h */; settings = {ATTRIBUTES = (Private, ); }; }; - D93DDB751BA79A8000CD8331 /* OTRBoolSetting.h in Headers */ = {isa = PBXBuildFile; fileRef = 633105981A16D1A300C17BAE /* OTRBoolSetting.h */; settings = {ATTRIBUTES = (Private, ); }; }; - D93DDB761BA79A8100CD8331 /* OTRCertificateSetting.h in Headers */ = {isa = PBXBuildFile; fileRef = 6331059A1A16D1A300C17BAE /* OTRCertificateSetting.h */; settings = {ATTRIBUTES = (Private, ); }; }; - D93DDB771BA79A8100CD8331 /* OTRDonateSetting.h in Headers */ = {isa = PBXBuildFile; fileRef = 6331059C1A16D1A300C17BAE /* OTRDonateSetting.h */; settings = {ATTRIBUTES = (Private, ); }; }; - D93DDB781BA79A8200CD8331 /* OTRDoubleSetting.h in Headers */ = {isa = PBXBuildFile; fileRef = 6331059E1A16D1A300C17BAE /* OTRDoubleSetting.h */; settings = {ATTRIBUTES = (Private, ); }; }; - D93DDB791BA79A8200CD8331 /* OTRFeedbackSetting.h in Headers */ = {isa = PBXBuildFile; fileRef = 633105A01A16D1A300C17BAE /* OTRFeedbackSetting.h */; settings = {ATTRIBUTES = (Private, ); }; }; - D93DDB7B1BA79A8300CD8331 /* OTRIntSetting.h in Headers */ = {isa = PBXBuildFile; fileRef = 633105A41A16D1A300C17BAE /* OTRIntSetting.h */; settings = {ATTRIBUTES = (Private, ); }; }; - D93DDB7C1BA79A8400CD8331 /* OTRLanguageSetting.h in Headers */ = {isa = PBXBuildFile; fileRef = 633105A61A16D1A300C17BAE /* OTRLanguageSetting.h */; settings = {ATTRIBUTES = (Public, ); }; }; - D93DDB7D1BA79A8400CD8331 /* OTRListSetting.h in Headers */ = {isa = PBXBuildFile; fileRef = 633105A81A16D1A300C17BAE /* OTRListSetting.h */; settings = {ATTRIBUTES = (Public, ); }; }; - D93DDB7E1BA79A8500CD8331 /* OTRListSettingValue.h in Headers */ = {isa = PBXBuildFile; fileRef = 633105AA1A16D1A300C17BAE /* OTRListSettingValue.h */; settings = {ATTRIBUTES = (Private, ); }; }; - D93DDB7F1BA79A8500CD8331 /* OTRSetting.h in Headers */ = {isa = PBXBuildFile; fileRef = 633105AE1A16D1A300C17BAE /* OTRSetting.h */; settings = {ATTRIBUTES = (Public, ); }; }; - D93DDB801BA79A8600CD8331 /* OTRSettingsGroup.h in Headers */ = {isa = PBXBuildFile; fileRef = 633105B01A16D1A300C17BAE /* OTRSettingsGroup.h */; settings = {ATTRIBUTES = (Public, ); }; }; - D93DDB811BA79A8700CD8331 /* OTRShareSetting.h in Headers */ = {isa = PBXBuildFile; fileRef = 633105B21A16D1A300C17BAE /* OTRShareSetting.h */; settings = {ATTRIBUTES = (Public, ); }; }; - D93DDB821BA79A8700CD8331 /* OTRValueSetting.h in Headers */ = {isa = PBXBuildFile; fileRef = 633105B41A16D1A300C17BAE /* OTRValueSetting.h */; settings = {ATTRIBUTES = (Public, ); }; }; - D93DDB831BA79A8800CD8331 /* OTRViewSetting.h in Headers */ = {isa = PBXBuildFile; fileRef = 633105B61A16D1A300C17BAE /* OTRViewSetting.h */; settings = {ATTRIBUTES = (Public, ); }; }; - D93DDB841BA79A8800CD8331 /* OTRFacebookOAuthXMPPAccount.h in Headers */ = {isa = PBXBuildFile; fileRef = 63CFB1021ABA492600A8D27E /* OTRFacebookOAuthXMPPAccount.h */; settings = {ATTRIBUTES = (Private, ); }; }; - D93DDB851BA79A8900CD8331 /* OTRAccount.h in Headers */ = {isa = PBXBuildFile; fileRef = 633105BA1A16D1A300C17BAE /* OTRAccount.h */; settings = {ATTRIBUTES = (Public, ); }; }; - D93DDB861BA79A8900CD8331 /* OTRGoogleOAuthXMPPAccount.h in Headers */ = {isa = PBXBuildFile; fileRef = 633105BE1A16D1A300C17BAE /* OTRGoogleOAuthXMPPAccount.h */; settings = {ATTRIBUTES = (Private, ); }; }; - D93DDB871BA79A8A00CD8331 /* OTROAuthXMPPAccount.h in Headers */ = {isa = PBXBuildFile; fileRef = 633105C01A16D1A300C17BAE /* OTROAuthXMPPAccount.h */; settings = {ATTRIBUTES = (Private, ); }; }; - D93DDB881BA79A8B00CD8331 /* OTRXMPPAccount.h in Headers */ = {isa = PBXBuildFile; fileRef = 633105C41A16D1A300C17BAE /* OTRXMPPAccount.h */; settings = {ATTRIBUTES = (Public, ); }; }; - D93DDB891BA79A8C00CD8331 /* OTRXMPPTorAccount.h in Headers */ = {isa = PBXBuildFile; fileRef = 633105C61A16D1A300C17BAE /* OTRXMPPTorAccount.h */; settings = {ATTRIBUTES = (Private, ); }; }; - D93DDB8A1BA79A8C00CD8331 /* OTRMediaItem.h in Headers */ = {isa = PBXBuildFile; fileRef = 63D27FC31A6DC51C00EC251A /* OTRMediaItem.h */; settings = {ATTRIBUTES = (Public, ); }; }; - D93DDB8B1BA79A8D00CD8331 /* OTRImageItem.h in Headers */ = {isa = PBXBuildFile; fileRef = 633620971A76E87B006E8739 /* OTRImageItem.h */; settings = {ATTRIBUTES = (Public, ); }; }; - D93DDB8C1BA79A8E00CD8331 /* OTRVideoItem.h in Headers */ = {isa = PBXBuildFile; fileRef = 6336209A1A76E88C006E8739 /* OTRVideoItem.h */; settings = {ATTRIBUTES = (Public, ); }; }; - D93DDB8D1BA79A8F00CD8331 /* OTRAudioItem.h in Headers */ = {isa = PBXBuildFile; fileRef = 6336209D1A76E89A006E8739 /* OTRAudioItem.h */; settings = {ATTRIBUTES = (Public, ); }; }; - D93DDB8E1BA79A9000CD8331 /* OTRStreamManagementStorageObject.h in Headers */ = {isa = PBXBuildFile; fileRef = 63B916E31B7431C1003B778F /* OTRStreamManagementStorageObject.h */; settings = {ATTRIBUTES = (Private, ); }; }; - D93DDB8F1BA79A9100CD8331 /* OTRBuddy.h in Headers */ = {isa = PBXBuildFile; fileRef = 633105CA1A16D1A300C17BAE /* OTRBuddy.h */; settings = {ATTRIBUTES = (Public, ); }; }; - D93DDB901BA79A9100CD8331 /* OTRMessage+JSQMessageData.h in Headers */ = {isa = PBXBuildFile; fileRef = 633105CC1A16D1A300C17BAE /* OTRMessage+JSQMessageData.h */; settings = {ATTRIBUTES = (Private, ); }; }; - D93DDB911BA79A9200CD8331 /* OTRBaseMessage.h in Headers */ = {isa = PBXBuildFile; fileRef = 633105CE1A16D1A300C17BAE /* OTRBaseMessage.h */; settings = {ATTRIBUTES = (Public, ); }; }; - D93DDB921BA79A9300CD8331 /* OTRXMPPBuddy.h in Headers */ = {isa = PBXBuildFile; fileRef = 633105D01A16D1A300C17BAE /* OTRXMPPBuddy.h */; settings = {ATTRIBUTES = (Public, ); }; }; - D93DDB941BA79A9500CD8331 /* OTRYapDatabaseObject.h in Headers */ = {isa = PBXBuildFile; fileRef = 633105D41A16D1A300C17BAE /* OTRYapDatabaseObject.h */; settings = {ATTRIBUTES = (Public, ); }; }; - D93DDB951BA79A9600CD8331 /* OTRCertificatePinning.h in Headers */ = {isa = PBXBuildFile; fileRef = 633105E81A16D1A300C17BAE /* OTRCertificatePinning.h */; settings = {ATTRIBUTES = (Public, ); }; }; - D93DDB961BA79A9800CD8331 /* OTRChatDemo.h in Headers */ = {isa = PBXBuildFile; fileRef = 633105EA1A16D1A300C17BAE /* OTRChatDemo.h */; settings = {ATTRIBUTES = (Private, ); }; }; - D93DDB971BA79A9900CD8331 /* OTRColors.h in Headers */ = {isa = PBXBuildFile; fileRef = 633105EC1A16D1A300C17BAE /* OTRColors.h */; settings = {ATTRIBUTES = (Private, ); }; }; - D93DDB991BA79A9B00CD8331 /* OTRImages.h in Headers */ = {isa = PBXBuildFile; fileRef = 633105F01A16D1A300C17BAE /* OTRImages.h */; settings = {ATTRIBUTES = (Public, ); }; }; - D93DDB9A1BA79A9C00CD8331 /* OTRLog.h in Headers */ = {isa = PBXBuildFile; fileRef = 633105F21A16D1A300C17BAE /* OTRLog.h */; settings = {ATTRIBUTES = (Private, ); }; }; - D93DDB9C1BA79A9E00CD8331 /* OTRPasswordGenerator.h in Headers */ = {isa = PBXBuildFile; fileRef = 633105F51A16D1A300C17BAE /* OTRPasswordGenerator.h */; settings = {ATTRIBUTES = (Public, ); }; }; - D93DDB9E1BA79AA000CD8331 /* OTRUtilities.h in Headers */ = {isa = PBXBuildFile; fileRef = 633105FA1A16D1A300C17BAE /* OTRUtilities.h */; settings = {ATTRIBUTES = (Private, ); }; }; - D93DDB9F1BA79AA100CD8331 /* OTRXMPPError.h in Headers */ = {isa = PBXBuildFile; fileRef = 633105FC1A16D1A300C17BAE /* OTRXMPPError.h */; settings = {ATTRIBUTES = (Public, ); }; }; - D93DDBA11BA79AA300CD8331 /* OTRExistingAccountViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = D989A84D1B5DBD90000608A9 /* OTRExistingAccountViewController.h */; settings = {ATTRIBUTES = (Private, ); }; }; - D93DDBA21BA79AA400CD8331 /* OTRWelcomeAccountTableViewDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = 638D2E011AFBFE2200F3C50C /* OTRWelcomeAccountTableViewDelegate.h */; settings = {ATTRIBUTES = (Private, ); }; }; - D93DDBA31BA79AA500CD8331 /* OTRInviteViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 6331D3B51B4DBBEE00C85365 /* OTRInviteViewController.h */; settings = {ATTRIBUTES = (Public, ); }; }; - D93DDBA41BA79AA600CD8331 /* OTRAddBuddyQRCodeViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 6331D3B81B4F3C6E00C85365 /* OTRAddBuddyQRCodeViewController.h */; settings = {ATTRIBUTES = (Private, ); }; }; - D93DDBA51BA79AA700CD8331 /* OTRQRCodeReaderDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = 6331D3BB1B4F41AF00C85365 /* OTRQRCodeReaderDelegate.h */; settings = {ATTRIBUTES = (Public, ); }; }; - D93DDBA61BA79AA800CD8331 /* OTRBaseLoginViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 638C7CF01B02BE4A004F8EC3 /* OTRBaseLoginViewController.h */; settings = {ATTRIBUTES = (Public, ); }; }; - D93DDBA71BA79AA900CD8331 /* OTRXLFormCreator.h in Headers */ = {isa = PBXBuildFile; fileRef = 638C7CF31B02BF0D004F8EC3 /* OTRXLFormCreator.h */; settings = {ATTRIBUTES = (Public, ); }; }; - D93DDBA81BA79AAA00CD8331 /* OTRXMPPServerListViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 63039E961B0D43FE007C9978 /* OTRXMPPServerListViewController.h */; settings = {ATTRIBUTES = (Private, ); }; }; - D93DDBA91BA79AAB00CD8331 /* OTRXMPPLoginHandler.h in Headers */ = {isa = PBXBuildFile; fileRef = 634680811B0404CE00D9A1C5 /* OTRXMPPLoginHandler.h */; settings = {ATTRIBUTES = (Public, ); }; }; - D93DDBAB1BA79AAE00CD8331 /* OTRGoolgeOAuthLoginHandler.h in Headers */ = {isa = PBXBuildFile; fileRef = 634680881B041F2F00D9A1C5 /* OTRGoolgeOAuthLoginHandler.h */; settings = {ATTRIBUTES = (Private, ); }; }; - D93DDBAD1BA79AB000CD8331 /* OTRXMPPCreateAccountHandler.h in Headers */ = {isa = PBXBuildFile; fileRef = 6346808B1B04206400D9A1C5 /* OTRXMPPCreateAccountHandler.h */; settings = {ATTRIBUTES = (Public, ); }; }; - D93DDBAE1BA79AB100CD8331 /* OTRLoginHandler.h in Headers */ = {isa = PBXBuildFile; fileRef = 63BE425C1B320EE20017058C /* OTRLoginHandler.h */; settings = {ATTRIBUTES = (Public, ); }; }; - D93DDBB21BA79AB600CD8331 /* OTRCertificateDomainViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 633106181A16D1A300C17BAE /* OTRCertificateDomainViewController.h */; settings = {ATTRIBUTES = (Private, ); }; }; - D93DDBB31BA79AB700CD8331 /* OTRCertificatesViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 6331061A1A16D1A300C17BAE /* OTRCertificatesViewController.h */; settings = {ATTRIBUTES = (Private, ); }; }; - D93DDBB51BA79ABA00CD8331 /* OTRChooseAccountViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 6331061E1A16D1A300C17BAE /* OTRChooseAccountViewController.h */; settings = {ATTRIBUTES = (Public, ); }; }; - D93DDBB61BA79ABB00CD8331 /* OTRComposeViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 633106201A16D1A300C17BAE /* OTRComposeViewController.h */; settings = {ATTRIBUTES = (Public, ); }; }; - D93DDBB71BA79ABD00CD8331 /* OTRConversationViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 633106221A16D1A300C17BAE /* OTRConversationViewController.h */; settings = {ATTRIBUTES = (Public, ); }; }; - D93DDBB81BA79ABE00CD8331 /* OTRDatabaseUnlockViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 633106281A16D1A300C17BAE /* OTRDatabaseUnlockViewController.h */; settings = {ATTRIBUTES = (Public, ); }; }; - D93DDBB91BA79ABF00CD8331 /* OTRDoubleSettingViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 6331062A1A16D1A300C17BAE /* OTRDoubleSettingViewController.h */; settings = {ATTRIBUTES = (Private, ); }; }; - D93DDBBB1BA79AC200CD8331 /* OTRIntSettingViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 6331062E1A16D1A300C17BAE /* OTRIntSettingViewController.h */; settings = {ATTRIBUTES = (Private, ); }; }; - D93DDBBC1BA79AC300CD8331 /* OTRLanguageListSettingViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 633106301A16D1A300C17BAE /* OTRLanguageListSettingViewController.h */; settings = {ATTRIBUTES = (Public, ); }; }; - D93DDBBD1BA79AC400CD8331 /* OTRListSettingViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 633106321A16D1A300C17BAE /* OTRListSettingViewController.h */; settings = {ATTRIBUTES = (Public, ); }; }; - D93DDBBE1BA79AC600CD8331 /* OTRMessagesViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 633106341A16D1A300C17BAE /* OTRMessagesViewController.h */; settings = {ATTRIBUTES = (Public, ); }; }; - D93DDBBF1BA79AC700CD8331 /* OTRMessagesHoldTalkViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 63EA4CF71ACC81C800B19E12 /* OTRMessagesHoldTalkViewController.h */; settings = {ATTRIBUTES = (Public, ); }; }; - D93DDBC01BA79AC800CD8331 /* OTRNewBuddyViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 633106381A16D1A300C17BAE /* OTRNewBuddyViewController.h */; settings = {ATTRIBUTES = (Public, ); }; }; - D93DDBC11BA79ACA00CD8331 /* OTRQRCodeViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 6331063E1A16D1A300C17BAE /* OTRQRCodeViewController.h */; settings = {ATTRIBUTES = (Public, ); }; }; - D93DDBC21BA79ACB00CD8331 /* OTRSettingDetailViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 633106421A16D1A300C17BAE /* OTRSettingDetailViewController.h */; settings = {ATTRIBUTES = (Public, ); }; }; - D93DDBC31BA79ACC00CD8331 /* OTRSettingsViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 633106441A16D1A300C17BAE /* OTRSettingsViewController.h */; settings = {ATTRIBUTES = (Public, ); }; }; - D93DDBC51BA79ACF00CD8331 /* OTRCircleView.h in Headers */ = {isa = PBXBuildFile; fileRef = D95AD2221B67FD6A007DEBC3 /* OTRCircleView.h */; settings = {ATTRIBUTES = (Private, ); }; }; - D93DDBC61BA79AD000CD8331 /* OTRCircleButtonView.h in Headers */ = {isa = PBXBuildFile; fileRef = D9ADE5B71B606642009471FF /* OTRCircleButtonView.h */; settings = {ATTRIBUTES = (Private, ); }; }; - D93DDBC71BA79AD200CD8331 /* XMPPServerInfoCell.h in Headers */ = {isa = PBXBuildFile; fileRef = D9BE65431B6A08ED002D4136 /* XMPPServerInfoCell.h */; settings = {ATTRIBUTES = (Private, ); }; }; - D93DDBC81BA79AD300CD8331 /* OTRAccountTableViewCell.h in Headers */ = {isa = PBXBuildFile; fileRef = 6331064C1A16D1A300C17BAE /* OTRAccountTableViewCell.h */; settings = {ATTRIBUTES = (Private, ); }; }; - D93DDBC91BA79AD500CD8331 /* OTRBuddyImageCell.h in Headers */ = {isa = PBXBuildFile; fileRef = 6331064E1A16D1A300C17BAE /* OTRBuddyImageCell.h */; settings = {ATTRIBUTES = (Public, ); }; }; - D93DDBCA1BA79AD700CD8331 /* OTRBuddyInfoCell.h in Headers */ = {isa = PBXBuildFile; fileRef = 633106501A16D1A300C17BAE /* OTRBuddyInfoCell.h */; settings = {ATTRIBUTES = (Public, ); }; }; - D93DDBCB1BA79AD800CD8331 /* OTRConversationCell.h in Headers */ = {isa = PBXBuildFile; fileRef = 633106521A16D1A300C17BAE /* OTRConversationCell.h */; settings = {ATTRIBUTES = (Private, ); }; }; - D93DDBCC1BA79ADA00CD8331 /* OTRInLineTextEditTableViewCell.h in Headers */ = {isa = PBXBuildFile; fileRef = 633106541A16D1A300C17BAE /* OTRInLineTextEditTableViewCell.h */; settings = {ATTRIBUTES = (Private, ); }; }; - D93DDBCD1BA79ADB00CD8331 /* OTRSettingTableViewCell.h in Headers */ = {isa = PBXBuildFile; fileRef = 6331065E1A16D1A300C17BAE /* OTRSettingTableViewCell.h */; settings = {ATTRIBUTES = (Private, ); }; }; - D93DDBCE1BA79ADD00CD8331 /* OTRStatusMessageCell.h in Headers */ = {isa = PBXBuildFile; fileRef = 633106601A16D1A300C17BAE /* OTRStatusMessageCell.h */; settings = {ATTRIBUTES = (Private, ); }; }; - D93DDBD01BA79AE000CD8331 /* OTRButtonView.h in Headers */ = {isa = PBXBuildFile; fileRef = 633106671A16D1A300C17BAE /* OTRButtonView.h */; settings = {ATTRIBUTES = (Private, ); }; }; - D93DDBD11BA79AE200CD8331 /* OTRAudioControlsView.h in Headers */ = {isa = PBXBuildFile; fileRef = 63F0FF621A798D8E001F0C99 /* OTRAudioControlsView.h */; settings = {ATTRIBUTES = (Private, ); }; }; - D93DDBD21BA79AE400CD8331 /* OTRPlayPauseProgressView.h in Headers */ = {isa = PBXBuildFile; fileRef = 63FA54891A7ACA2F00F2AEBB /* OTRPlayPauseProgressView.h */; settings = {ATTRIBUTES = (Private, ); }; }; - D93DDBD31BA79AE500CD8331 /* OTRPlayView.h in Headers */ = {isa = PBXBuildFile; fileRef = 63FA548C1A7B29EB00F2AEBB /* OTRPlayView.h */; settings = {ATTRIBUTES = (Private, ); }; }; - D93DDBD41BA79AE700CD8331 /* OTRPauseView.h in Headers */ = {isa = PBXBuildFile; fileRef = 63FA548F1A7B2C2E00F2AEBB /* OTRPauseView.h */; settings = {ATTRIBUTES = (Private, ); }; }; - D93DDBD51BA79AE900CD8331 /* OTRColorFadingDotView.h in Headers */ = {isa = PBXBuildFile; fileRef = 633106691A16D1A300C17BAE /* OTRColorFadingDotView.h */; settings = {ATTRIBUTES = (Private, ); }; }; - D93DDBD61BA79AEA00CD8331 /* OTRComposingImageView.h in Headers */ = {isa = PBXBuildFile; fileRef = 6331066B1A16D1A300C17BAE /* OTRComposingImageView.h */; settings = {ATTRIBUTES = (Private, ); }; }; - D93DDBD71BA79AEC00CD8331 /* OTRLockButton.h in Headers */ = {isa = PBXBuildFile; fileRef = 6331066D1A16D1A300C17BAE /* OTRLockButton.h */; settings = {ATTRIBUTES = (Private, ); }; }; - D93DDBD81BA79AEE00CD8331 /* OTRPasswordStrengthView.h in Headers */ = {isa = PBXBuildFile; fileRef = 6331066F1A16D1A300C17BAE /* OTRPasswordStrengthView.h */; settings = {ATTRIBUTES = (Private, ); }; }; - D93DDBD91BA79AF000CD8331 /* OTRRememberPasswordView.h in Headers */ = {isa = PBXBuildFile; fileRef = 633106711A16D1A300C17BAE /* OTRRememberPasswordView.h */; settings = {ATTRIBUTES = (Private, ); }; }; - D93DDBDA1BA79AF100CD8331 /* OTRSocialButtonsView.h in Headers */ = {isa = PBXBuildFile; fileRef = 633106731A16D1A300C17BAE /* OTRSocialButtonsView.h */; settings = {ATTRIBUTES = (Private, ); }; }; - D93DDBDB1BA79AF300CD8331 /* OTRTitleSubtitleView.h in Headers */ = {isa = PBXBuildFile; fileRef = 633106751A16D1A300C17BAE /* OTRTitleSubtitleView.h */; settings = {ATTRIBUTES = (Public, ); }; }; - D93DDBDC1BA79AF500CD8331 /* OTRHoldToTalkView.h in Headers */ = {isa = PBXBuildFile; fileRef = 63EA4CFB1ACC96AB00B19E12 /* OTRHoldToTalkView.h */; settings = {ATTRIBUTES = (Private, ); }; }; - D93DDBDD1BA79AF700CD8331 /* OTRAudioTrashView.h in Headers */ = {isa = PBXBuildFile; fileRef = 6353AC2B1AD5E32000753B83 /* OTRAudioTrashView.h */; settings = {ATTRIBUTES = (Private, ); }; }; - D93DDBDE1BA79AF900CD8331 /* OTRTouchAndHoldGestureRecognizer.h in Headers */ = {isa = PBXBuildFile; fileRef = 639CDD8F1AD74419009BAABC /* OTRTouchAndHoldGestureRecognizer.h */; settings = {ATTRIBUTES = (Private, ); }; }; D93E50671FC3E9B400E0E624 /* OTRResources.bundle in Resources */ = {isa = PBXBuildFile; fileRef = D93027561BAA381F000CC975 /* OTRResources.bundle */; }; - D943AA421E6A0BA3007F3564 /* XMPPAccountCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = D943AA401E6A0BA3007F3564 /* XMPPAccountCell.swift */; }; D943AA441E6A0BB9007F3564 /* XMPPAccountCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = D943AA411E6A0BA3007F3564 /* XMPPAccountCell.xib */; }; - D945D6FD1FDA08DD00C7502C /* RoomStorage.swift in Sources */ = {isa = PBXBuildFile; fileRef = D945D6FC1FDA08DD00C7502C /* RoomStorage.swift */; }; - D947C2FB1FB251410037DE84 /* SecondaryIndexes.swift in Sources */ = {isa = PBXBuildFile; fileRef = D947C2FA1FB251410037DE84 /* SecondaryIndexes.swift */; }; - D94ACBA41DFA206500B8C0F5 /* OTRBuddyCache.h in Headers */ = {isa = PBXBuildFile; fileRef = D94ACBA21DFA206500B8C0F5 /* OTRBuddyCache.h */; settings = {ATTRIBUTES = (Public, ); }; }; - D94ACBA51DFA206500B8C0F5 /* OTRBuddyCache.m in Sources */ = {isa = PBXBuildFile; fileRef = D94ACBA31DFA206500B8C0F5 /* OTRBuddyCache.m */; }; - D94D5A0F1F98132300AC23BF /* XMPPMessage+ChatSecure.swift in Sources */ = {isa = PBXBuildFile; fileRef = D94D5A0E1F98132300AC23BF /* XMPPMessage+ChatSecure.swift */; }; - D955157A1EFA0A9F008AA429 /* HTMLReader.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D9EC476C1EFA03FC00C39B25 /* HTMLReader.framework */; }; - D955157B1EFA0A9F008AA429 /* KVOController.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D9EC476E1EFA03FC00C39B25 /* KVOController.framework */; }; - D955157D1EFA0A9F008AA429 /* MBProgressHUD.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D9EC47701EFA03FC00C39B25 /* MBProgressHUD.framework */; }; - D955157F1EFA0A9F008AA429 /* SAMKeychain.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D9EC47721EFA03FC00C39B25 /* SAMKeychain.framework */; }; - D95515841EFA0A9F008AA429 /* AFNetworking.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D9EC47671EFA03D800C39B25 /* AFNetworking.framework */; }; - D95515871EFA0B5F008AA429 /* FormatterKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D9EC476B1EFA03FC00C39B25 /* FormatterKit.framework */; }; - D95515881EFA0B5F008AA429 /* FormatterKit.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = D9EC476B1EFA03FC00C39B25 /* FormatterKit.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; - D955158A1EFA0B5F008AA429 /* HTMLReader.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = D9EC476C1EFA03FC00C39B25 /* HTMLReader.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; - D955158C1EFA0B5F008AA429 /* KVOController.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = D9EC476E1EFA03FC00C39B25 /* KVOController.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; - D955158D1EFA0B5F008AA429 /* Mantle.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D9EC476F1EFA03FC00C39B25 /* Mantle.framework */; }; - D955158E1EFA0B5F008AA429 /* Mantle.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = D9EC476F1EFA03FC00C39B25 /* Mantle.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; - D95515901EFA0B5F008AA429 /* MBProgressHUD.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = D9EC47701EFA03FC00C39B25 /* MBProgressHUD.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; - D95515911EFA0B5F008AA429 /* PureLayout.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D9EC47711EFA03FC00C39B25 /* PureLayout.framework */; }; - D95515921EFA0B5F008AA429 /* PureLayout.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = D9EC47711EFA03FC00C39B25 /* PureLayout.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; - D95515941EFA0B5F008AA429 /* SAMKeychain.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = D9EC47721EFA03FC00C39B25 /* SAMKeychain.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; - D95515951EFA0B5F008AA429 /* TTTAttributedLabel.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D9EC47731EFA03FC00C39B25 /* TTTAttributedLabel.framework */; }; - D95515961EFA0B5F008AA429 /* TTTAttributedLabel.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = D9EC47731EFA03FC00C39B25 /* TTTAttributedLabel.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; - D95515991EFA0B5F008AA429 /* XLForm.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D9EC47751EFA03FC00C39B25 /* XLForm.framework */; }; - D955159A1EFA0B5F008AA429 /* XLForm.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = D9EC47751EFA03FC00C39B25 /* XLForm.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; - D955159B1EFA0B5F008AA429 /* ZXingObjC.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D9EC47761EFA03FC00C39B25 /* ZXingObjC.framework */; }; - D955159C1EFA0B5F008AA429 /* ZXingObjC.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = D9EC47761EFA03FC00C39B25 /* ZXingObjC.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; - D955159E1EFA0B60008AA429 /* AFNetworking.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = D9EC47671EFA03D800C39B25 /* AFNetworking.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; - D9599BBC1E28578D006A4450 /* OTRStrings.m in Sources */ = {isa = PBXBuildFile; fileRef = D9599BBB1E28578D006A4450 /* OTRStrings.m */; }; - D9599BBE1E285ECD006A4450 /* OTRLanguageManager_Private.h in Headers */ = {isa = PBXBuildFile; fileRef = D9599BBD1E285EC3006A4450 /* OTRLanguageManager_Private.h */; settings = {ATTRIBUTES = (Private, ); }; }; D95AD2291B684AE1007DEBC3 /* xmpp-server-list in Resources */ = {isa = PBXBuildFile; fileRef = D95AD2281B684AE1007DEBC3 /* xmpp-server-list */; }; - D967CA8A1E516A95005FBB49 /* PushAccountTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = D967CA881E516A95005FBB49 /* PushAccountTableViewCell.swift */; }; D967CA8E1E516B8D005FBB49 /* PushAccountTableViewCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = D967CA8D1E516B8D005FBB49 /* PushAccountTableViewCell.xib */; }; D97070921EEF382D004FEBDE /* MediaDownloadView.xib in Resources */ = {isa = PBXBuildFile; fileRef = D97070911EEF382D004FEBDE /* MediaDownloadView.xib */; }; - D97070A71EEF3909004FEBDE /* MediaDownloadView.swift in Sources */ = {isa = PBXBuildFile; fileRef = D97070A61EEF3909004FEBDE /* MediaDownloadView.swift */; }; - D97097A21FC4DB3D008ED04B /* MessageStorage.swift in Sources */ = {isa = PBXBuildFile; fileRef = D97097A11FC4DB3D008ED04B /* MessageStorage.swift */; }; - D97175531E60D59300675DDE /* YapDatabaseViewConnection+ChatSecure.h in Headers */ = {isa = PBXBuildFile; fileRef = D97175511E60D59300675DDE /* YapDatabaseViewConnection+ChatSecure.h */; settings = {ATTRIBUTES = (Public, ); }; }; - D97175541E60D59300675DDE /* YapDatabaseViewConnection+ChatSecure.m in Sources */ = {isa = PBXBuildFile; fileRef = D97175521E60D59300675DDE /* YapDatabaseViewConnection+ChatSecure.m */; }; - D985BC771EBD307D00993D27 /* PurchaseViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = D985BC751EBD307D00993D27 /* PurchaseViewController.swift */; }; D985BC7A1EBD32F700993D27 /* StoreKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D985BC791EBD32F700993D27 /* StoreKit.framework */; }; - D98B8E321E4CF90400A713E1 /* OTRServerCapabilities.h in Headers */ = {isa = PBXBuildFile; fileRef = D98B8E301E4CF90400A713E1 /* OTRServerCapabilities.h */; settings = {ATTRIBUTES = (Public, ); }; }; - D98B8E331E4CF90400A713E1 /* OTRServerCapabilities.m in Sources */ = {isa = PBXBuildFile; fileRef = D98B8E311E4CF90400A713E1 /* OTRServerCapabilities.m */; }; - D98B8E351E4D3DB600A713E1 /* ServerCapabilitiesViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = D98B8E341E4D3DB600A713E1 /* ServerCapabilitiesViewController.swift */; }; D98BA36C1EDE47BB004475B6 /* HTMLPreviewView.xib in Resources */ = {isa = PBXBuildFile; fileRef = D98BA36B1EDE47BB004475B6 /* HTMLPreviewView.xib */; }; - D98BA36E1EDE47F3004475B6 /* HTMLPreviewView.swift in Sources */ = {isa = PBXBuildFile; fileRef = D98BA36D1EDE47F3004475B6 /* HTMLPreviewView.swift */; }; - D98C850B203D133800F8DA6B /* OMEMODevice.swift in Sources */ = {isa = PBXBuildFile; fileRef = D98C850A203D133800F8DA6B /* OMEMODevice.swift */; }; - D997E3F41EAECD1400BF72EF /* UITableView+ChatSecure.h in Headers */ = {isa = PBXBuildFile; fileRef = D997E3F21EAECD1400BF72EF /* UITableView+ChatSecure.h */; }; - D997E3F51EAECD1400BF72EF /* UITableView+ChatSecure.m in Sources */ = {isa = PBXBuildFile; fileRef = D997E3F31EAECD1400BF72EF /* UITableView+ChatSecure.m */; }; D99F17861BAB932800604558 /* OTRImages.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = D9AE3A231BA8D02800255537 /* OTRImages.xcassets */; }; D99F17871BAB932C00604558 /* OTRCountryImages.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = D9AE3A221BA8D02800255537 /* OTRCountryImages.xcassets */; }; D99F17881BAB936100604558 /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = 633104D61A169EC800C17BAE /* Localizable.strings */; }; @@ -470,87 +70,14 @@ D99F17911BABA84600604558 /* XMPPServerInfoCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = D9BE65451B6A08ED002D4136 /* XMPPServerInfoCell.xib */; }; D99F17921BABA84600604558 /* OTRUsernameCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = D9C6E69D1B7148EF00572273 /* OTRUsernameCell.xib */; }; D99F17931BABA85D00604558 /* Onboarding.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = D913A56C1B747B62006C5ACD /* Onboarding.storyboard */; }; - D9A1E6551F7309C100E42118 /* OTRDownloadMessage.swift in Sources */ = {isa = PBXBuildFile; fileRef = D9A1E6541F7309C100E42118 /* OTRDownloadMessage.swift */; }; - D9A2C4DC204B1D2900C5DF8B /* VCardStorage.swift in Sources */ = {isa = PBXBuildFile; fileRef = D9A2C4DB204B1D2900C5DF8B /* VCardStorage.swift */; }; - D9A2C4DD204B2D5B00C5DF8B /* OTRXMPPManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 633105381A16D1A300C17BAE /* OTRXMPPManager.m */; }; - D9A429D01F31169F00BD2545 /* UIAlertController+ChatSecure.swift in Sources */ = {isa = PBXBuildFile; fileRef = D9A429CF1F31169F00BD2545 /* UIAlertController+ChatSecure.swift */; }; - D9A7756F1E43F8A200027864 /* ProxyXMPPStream.h in Headers */ = {isa = PBXBuildFile; fileRef = D9A7756D1E43F8A200027864 /* ProxyXMPPStream.h */; }; - D9A775701E43F8A200027864 /* ProxyXMPPStream.m in Sources */ = {isa = PBXBuildFile; fileRef = D9A7756E1E43F8A200027864 /* ProxyXMPPStream.m */; }; - D9ABD71E1ED787EE00219A9C /* OTRHTMLItem.h in Headers */ = {isa = PBXBuildFile; fileRef = D9ABD71C1ED787EE00219A9C /* OTRHTMLItem.h */; }; - D9ABD71F1ED787EE00219A9C /* OTRHTMLItem.m in Sources */ = {isa = PBXBuildFile; fileRef = D9ABD71D1ED787EE00219A9C /* OTRHTMLItem.m */; }; - D9ABD72B1ED7886100219A9C /* OTRTextItem.h in Headers */ = {isa = PBXBuildFile; fileRef = D9ABD7291ED7886100219A9C /* OTRTextItem.h */; }; - D9ABD72C1ED7886100219A9C /* OTRTextItem.m in Sources */ = {isa = PBXBuildFile; fileRef = D9ABD72A1ED7886100219A9C /* OTRTextItem.m */; }; - D9AC941A1FCD0DE50051B457 /* XMPPManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = D9AC94191FCD0DE50051B457 /* XMPPManager.swift */; }; - D9AE3A111BA8CBFA00255537 /* OTRAssets.h in Headers */ = {isa = PBXBuildFile; fileRef = D9AE3A101BA8CBFA00255537 /* OTRAssets.h */; settings = {ATTRIBUTES = (Public, ); }; }; - D9AE3A161BA8CBFA00255537 /* OTRAssets.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = D9AE3A0E1BA8CBFA00255537 /* OTRAssets.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; - D9AE3A1B1BA8CC8600255537 /* OTRSecrets.m in Sources */ = {isa = PBXBuildFile; fileRef = 633105F91A16D1A300C17BAE /* OTRSecrets.m */; }; - D9AE3A1C1BA8CC8E00255537 /* OTRSecrets.h in Headers */ = {isa = PBXBuildFile; fileRef = 633105F81A16D1A300C17BAE /* OTRSecrets.h */; settings = {ATTRIBUTES = (Public, ); }; }; - D9AE3A201BA8CCFE00255537 /* OTRAssets.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D9AE3A0E1BA8CBFA00255537 /* OTRAssets.framework */; }; - D9AE3A211BA8CF4400255537 /* OTRStrings.h in Headers */ = {isa = PBXBuildFile; fileRef = 633104FF1A16AEA800C17BAE /* OTRStrings.h */; settings = {ATTRIBUTES = (Public, ); }; }; - D9AE3A301BA8D84500255537 /* OTRBranding.h in Headers */ = {isa = PBXBuildFile; fileRef = D9AE3A2E1BA8D84500255537 /* OTRBranding.h */; settings = {ATTRIBUTES = (Public, ); }; }; - D9AE3A311BA8D84500255537 /* OTRBranding.m in Sources */ = {isa = PBXBuildFile; fileRef = D9AE3A2F1BA8D84500255537 /* OTRBranding.m */; }; - D9AE3A321BA8D9AB00255537 /* OTRConstants.h in Headers */ = {isa = PBXBuildFile; fileRef = 633105EE1A16D1A300C17BAE /* OTRConstants.h */; settings = {ATTRIBUTES = (Public, ); }; }; - D9AE3A331BA8D9AB00255537 /* OTRConstants.m in Sources */ = {isa = PBXBuildFile; fileRef = 633105EF1A16D1A300C17BAE /* OTRConstants.m */; }; D9B3EC221FA196CE00E63C7F /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = D9B3EC211FA196CE00E63C7F /* AppDelegate.swift */; }; - D9B3F9E720C6500F005000A9 /* RoomOccupantRole.h in Headers */ = {isa = PBXBuildFile; fileRef = D9B3F9E620C6500F005000A9 /* RoomOccupantRole.h */; settings = {ATTRIBUTES = (Public, ); }; }; - D9B79B951ECF951F00883963 /* OTRFileItem.h in Headers */ = {isa = PBXBuildFile; fileRef = D9B79B931ECF951F00883963 /* OTRFileItem.h */; }; - D9B79B961ECF951F00883963 /* OTRFileItem.m in Sources */ = {isa = PBXBuildFile; fileRef = D9B79B941ECF951F00883963 /* OTRFileItem.m */; }; - D9B7C5CE1EC3C9ED008D99E6 /* OTRAccountMigrator.m in Sources */ = {isa = PBXBuildFile; fileRef = D93718521EC267F800766D49 /* OTRAccountMigrator.m */; }; - D9B7C5CF1EC3C9F2008D99E6 /* OTRAccountMigrator.h in Headers */ = {isa = PBXBuildFile; fileRef = D93718511EC267F800766D49 /* OTRAccountMigrator.h */; settings = {ATTRIBUTES = (Public, ); }; }; - D9B9B1331DC7F3AC0007F5A7 /* UserInfoProfileCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = D9B9B1311DC7F3AC0007F5A7 /* UserInfoProfileCell.swift */; }; D9B9B1351DC7F3BF0007F5A7 /* UserInfoProfileCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = D9B9B1321DC7F3AC0007F5A7 /* UserInfoProfileCell.xib */; }; - D9B9B1371DC802480007F5A7 /* OTRUserInfoProfile.h in Headers */ = {isa = PBXBuildFile; fileRef = D9B9B1361DC802480007F5A7 /* OTRUserInfoProfile.h */; settings = {ATTRIBUTES = (Public, ); }; }; - D9BC71DA1E53B2BF007A3C4F /* SingleButtonTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = D9BC71D81E53B2BF007A3C4F /* SingleButtonTableViewCell.swift */; }; D9BC71DC1E53B31C007A3C4F /* SingleButtonTableViewCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = D9BC71D91E53B2BF007A3C4F /* SingleButtonTableViewCell.xib */; }; - D9BC71DF1E53B465007A3C4F /* TwoButtonTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = D9BC71DD1E53B465007A3C4F /* TwoButtonTableViewCell.swift */; }; D9BC71E11E53B4A3007A3C4F /* TwoButtonTableViewCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = D9BC71DE1E53B465007A3C4F /* TwoButtonTableViewCell.xib */; }; - D9BD54151E567A20007077FB /* UIViewController+ChatSecure.swift in Sources */ = {isa = PBXBuildFile; fileRef = D9BD54141E567A20007077FB /* UIViewController+ChatSecure.swift */; }; - D9BEF8E01DCE6E12009945D1 /* OTRXMPPManager_Private.h in Headers */ = {isa = PBXBuildFile; fileRef = D9BEF8DF1DCE6E12009945D1 /* OTRXMPPManager_Private.h */; }; - D9CBBC581C642BAA005CD715 /* EnablePushViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = D9CBBC571C642BAA005CD715 /* EnablePushViewController.swift */; }; - D9DB2D141F37AEBE005D64E4 /* OTRYapMessageSendAction.swift in Headers */ = {isa = PBXBuildFile; fileRef = D9DB2D131F37AEBB005D64E4 /* OTRYapMessageSendAction.swift */; }; D9DEC34A1FABC9F900BF1F7C /* Settings.bundle in Resources */ = {isa = PBXBuildFile; fileRef = D9DEC3491FABC9F900BF1F7C /* Settings.bundle */; }; - D9E8277E1E28222D0071F40D /* OTRLanguageManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 6331051C1A16D1A300C17BAE /* OTRLanguageManager.m */; }; - D9E8277F1E28222F0071F40D /* OTRLanguageManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 6331051B1A16D1A300C17BAE /* OTRLanguageManager.h */; settings = {ATTRIBUTES = (Public, ); }; }; - D9EC47681EFA03D800C39B25 /* AFNetworking.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D9EC47671EFA03D800C39B25 /* AFNetworking.framework */; }; - D9EC47781EFA03FC00C39B25 /* FormatterKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D9EC476B1EFA03FC00C39B25 /* FormatterKit.framework */; }; - D9EC47791EFA03FC00C39B25 /* HTMLReader.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D9EC476C1EFA03FC00C39B25 /* HTMLReader.framework */; }; - D9EC477B1EFA03FC00C39B25 /* KVOController.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D9EC476E1EFA03FC00C39B25 /* KVOController.framework */; }; - D9EC477C1EFA03FC00C39B25 /* Mantle.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D9EC476F1EFA03FC00C39B25 /* Mantle.framework */; }; - D9EC477D1EFA03FC00C39B25 /* MBProgressHUD.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D9EC47701EFA03FC00C39B25 /* MBProgressHUD.framework */; }; - D9EC477E1EFA03FC00C39B25 /* PureLayout.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D9EC47711EFA03FC00C39B25 /* PureLayout.framework */; }; - D9EC477F1EFA03FC00C39B25 /* SAMKeychain.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D9EC47721EFA03FC00C39B25 /* SAMKeychain.framework */; }; - D9EC47801EFA03FC00C39B25 /* TTTAttributedLabel.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D9EC47731EFA03FC00C39B25 /* TTTAttributedLabel.framework */; }; - D9EC47821EFA03FC00C39B25 /* XLForm.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D9EC47751EFA03FC00C39B25 /* XLForm.framework */; }; - D9EC47831EFA03FC00C39B25 /* ZXingObjC.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D9EC47761EFA03FC00C39B25 /* ZXingObjC.framework */; }; - D9EEEDD31D2739A800B8BC54 /* OTRvCard.h in Headers */ = {isa = PBXBuildFile; fileRef = D9EEEDD11D27388600B8BC54 /* OTRvCard.h */; settings = {ATTRIBUTES = (Public, ); }; }; - D9F3B1AF1FD48DDA00DFC5DA /* Account.swift in Sources */ = {isa = PBXBuildFile; fileRef = D9F3B1AE1FD48DDA00DFC5DA /* Account.swift */; }; - D9F5EC4A2016E94800010966 /* OTRProtocolManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = D9F5EC492016E94800010966 /* OTRProtocolManager.swift */; }; - D9F8C3C21FBFD2CA00D4B857 /* RoomManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = D9F8C3C11FBFD2CA00D4B857 /* RoomManager.swift */; }; - D9FBDDC91FD74A93006F1C6C /* OTRAppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = D9FBDDC81FD74A93006F1C6C /* OTRAppDelegate.swift */; }; - D9FD36011EFAFD3C00398CE4 /* FormatterKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D9EC476B1EFA03FC00C39B25 /* FormatterKit.framework */; }; - D9FD36021EFAFD3C00398CE4 /* HTMLReader.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D9EC476C1EFA03FC00C39B25 /* HTMLReader.framework */; }; - D9FD36031EFAFD3C00398CE4 /* KVOController.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D9EC476E1EFA03FC00C39B25 /* KVOController.framework */; }; - D9FD36041EFAFD3C00398CE4 /* Mantle.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D9EC476F1EFA03FC00C39B25 /* Mantle.framework */; }; - D9FD36051EFAFD3C00398CE4 /* MBProgressHUD.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D9EC47701EFA03FC00C39B25 /* MBProgressHUD.framework */; }; - D9FD36061EFAFD3C00398CE4 /* PureLayout.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D9EC47711EFA03FC00C39B25 /* PureLayout.framework */; }; - D9FD36071EFAFD3C00398CE4 /* SAMKeychain.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D9EC47721EFA03FC00C39B25 /* SAMKeychain.framework */; }; - D9FD36081EFAFD3C00398CE4 /* TTTAttributedLabel.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D9EC47731EFA03FC00C39B25 /* TTTAttributedLabel.framework */; }; - D9FD360A1EFAFD3C00398CE4 /* XLForm.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D9EC47751EFA03FC00C39B25 /* XLForm.framework */; }; - D9FD360B1EFAFD3C00398CE4 /* ZXingObjC.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D9EC47761EFA03FC00C39B25 /* ZXingObjC.framework */; }; - D9FD360C1EFAFD3C00398CE4 /* AFNetworking.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D9EC47671EFA03D800C39B25 /* AFNetworking.framework */; }; - D9FF60222040A9EF003207DC /* AppTheme.h in Headers */ = {isa = PBXBuildFile; fileRef = D9FF60212040A9EF003207DC /* AppTheme.h */; settings = {ATTRIBUTES = (Public, ); }; }; - D9FF60242040B0E5003207DC /* DefaultTheme.swift in Sources */ = {isa = PBXBuildFile; fileRef = D9FF60232040B0E5003207DC /* DefaultTheme.swift */; }; - DDE1CAF4312DE1C724A33B72 /* Pods_ChatSecureCorePods_ChatSecureCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 31610826406FD0CB714045AD /* Pods_ChatSecureCorePods_ChatSecureCore.framework */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ - 631E1E9D1C583B6200E263CD /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 6396AF921A169D54009F3E6C /* Project object */; - proxyType = 1; - remoteGlobalIDString = D9227C291BA7952100B5E1D0; - remoteInfo = ChatSecureCore; - }; 6365CF011E2453F6009E213F /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = 6396AF921A169D54009F3E6C /* Project object */; @@ -565,13 +92,6 @@ remoteGlobalIDString = 6396AF991A169D54009F3E6C; remoteInfo = ChatSecure; }; - D9227C3D1BA7952100B5E1D0 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 6396AF921A169D54009F3E6C /* Project object */; - proxyType = 1; - remoteGlobalIDString = D9227C291BA7952100B5E1D0; - remoteInfo = ChatSecureCore; - }; D99F178F1BAB9CD400604558 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = 6396AF921A169D54009F3E6C /* Project object */; @@ -579,13 +99,6 @@ remoteGlobalIDString = D93027551BAA381F000CC975; remoteInfo = OTRResources; }; - D9AE3A1E1BA8CCFA00255537 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 6396AF921A169D54009F3E6C /* Project object */; - proxyType = 1; - remoteGlobalIDString = D9AE3A0D1BA8CBFA00255537; - remoteInfo = OTRAssets; - }; /* End PBXContainerItemProxy section */ /* Begin PBXCopyFilesBuildPhase section */ @@ -595,19 +108,6 @@ dstPath = ""; dstSubfolderSpec = 10; files = ( - D95515901EFA0B5F008AA429 /* MBProgressHUD.framework in Embed Frameworks */, - D955159E1EFA0B60008AA429 /* AFNetworking.framework in Embed Frameworks */, - D95515921EFA0B5F008AA429 /* PureLayout.framework in Embed Frameworks */, - D95515941EFA0B5F008AA429 /* SAMKeychain.framework in Embed Frameworks */, - D955158A1EFA0B5F008AA429 /* HTMLReader.framework in Embed Frameworks */, - D955159A1EFA0B5F008AA429 /* XLForm.framework in Embed Frameworks */, - D95515961EFA0B5F008AA429 /* TTTAttributedLabel.framework in Embed Frameworks */, - D9227C401BA7952100B5E1D0 /* ChatSecureCore.framework in Embed Frameworks */, - D955158E1EFA0B5F008AA429 /* Mantle.framework in Embed Frameworks */, - D955159C1EFA0B5F008AA429 /* ZXingObjC.framework in Embed Frameworks */, - D955158C1EFA0B5F008AA429 /* KVOController.framework in Embed Frameworks */, - D95515881EFA0B5F008AA429 /* FormatterKit.framework in Embed Frameworks */, - D9AE3A161BA8CBFA00255537 /* OTRAssets.framework in Embed Frameworks */, ); name = "Embed Frameworks"; runOnlyForDeploymentPostprocessing = 0; @@ -616,7 +116,6 @@ /* Begin PBXFileReference section */ 281981F599E0F5C8397E6A3F /* Pods_ChatSecureCorePods_ChatSecureTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_ChatSecureCorePods_ChatSecureTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 31610826406FD0CB714045AD /* Pods_ChatSecureCorePods_ChatSecureCore.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_ChatSecureCorePods_ChatSecureCore.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 46AAC6968EC686E61C8E8EA4 /* Pods_ChatSecureCore.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_ChatSecureCore.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 63039E961B0D43FE007C9978 /* OTRXMPPServerListViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OTRXMPPServerListViewController.h; sourceTree = ""; }; 63039E971B0D43FE007C9978 /* OTRXMPPServerListViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = OTRXMPPServerListViewController.m; sourceTree = ""; }; @@ -1002,7 +501,6 @@ 702F03DE10003A33635A366F /* Pods-ChatSecureCorePods-ChatSecureTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-ChatSecureCorePods-ChatSecureTests.release.xcconfig"; path = "Pods/Target Support Files/Pods-ChatSecureCorePods-ChatSecureTests/Pods-ChatSecureCorePods-ChatSecureTests.release.xcconfig"; sourceTree = ""; }; 7A62FCE8FEC1E7C9644F8C38 /* Pods-ChatSecureCorePods-ChatSecure.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-ChatSecureCorePods-ChatSecure.release.xcconfig"; path = "Pods/Target Support Files/Pods-ChatSecureCorePods-ChatSecure/Pods-ChatSecureCorePods-ChatSecure.release.xcconfig"; sourceTree = ""; }; 8F56C50436DA64774EBB16E3 /* OTRMessagesLoadingView.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = OTRMessagesLoadingView.xib; sourceTree = ""; }; - 9118152C0A7B287ABD07FF70 /* Pods-ChatSecureCorePods-ChatSecureCore.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-ChatSecureCorePods-ChatSecureCore.release.xcconfig"; path = "Pods/Target Support Files/Pods-ChatSecureCorePods-ChatSecureCore/Pods-ChatSecureCorePods-ChatSecureCore.release.xcconfig"; sourceTree = ""; }; 9212364C1FCD779C009F97F0 /* OTRMessageUnknownSenderCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = OTRMessageUnknownSenderCell.swift; sourceTree = ""; }; 9212364D1FCD779C009F97F0 /* OTRMessageUnknownSenderCell.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = OTRMessageUnknownSenderCell.xib; sourceTree = ""; }; 9224A5EE207E39CF00A044BF /* OTRMessagesViewController+RoomOperations.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "OTRMessagesViewController+RoomOperations.swift"; sourceTree = ""; }; @@ -1034,7 +532,6 @@ 962ED3D89B1F330A2A34928B /* Pods-ChatSecureCorePods-ChatSecureTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-ChatSecureCorePods-ChatSecureTests.debug.xcconfig"; path = "Pods/Target Support Files/Pods-ChatSecureCorePods-ChatSecureTests/Pods-ChatSecureCorePods-ChatSecureTests.debug.xcconfig"; sourceTree = ""; }; 9F52F68785B05428F442DF47 /* Pods_ChatSecureCorePods_ChatSecure.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_ChatSecureCorePods_ChatSecure.framework; sourceTree = BUILT_PRODUCTS_DIR; }; C492FFACC855CE12E882968E /* Pods_ChatSecureCorePods_ChatSecureUITests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_ChatSecureCorePods_ChatSecureUITests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - C4E2DF261B1D18F006F8B3A6 /* Pods-ChatSecureCorePods-ChatSecureCore.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-ChatSecureCorePods-ChatSecureCore.debug.xcconfig"; path = "Pods/Target Support Files/Pods-ChatSecureCorePods-ChatSecureCore/Pods-ChatSecureCorePods-ChatSecureCore.debug.xcconfig"; sourceTree = ""; }; CCD1F8E85C658C8D3865B584 /* Pods.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods.framework; sourceTree = BUILT_PRODUCTS_DIR; }; D9040CB01EF1EB050027A862 /* OTRMediaItem+Private.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "OTRMediaItem+Private.h"; sourceTree = ""; }; D90E711B1E6CB4360008D83B /* AccountDetailViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AccountDetailViewController.swift; sourceTree = ""; }; @@ -1050,7 +547,6 @@ D91F9EFA1ED6301500AEA62C /* OTRDownloadMessage.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = OTRDownloadMessage.m; sourceTree = ""; }; D91F9EFD1ED645F100AEA62C /* FileTransferIntegrationTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FileTransferIntegrationTests.swift; sourceTree = ""; }; D9227C231BA78E6B00B5E1D0 /* FontAwesome.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = FontAwesome.ttf; sourceTree = ""; }; - D9227C2A1BA7952100B5E1D0 /* ChatSecureCore.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = ChatSecureCore.framework; sourceTree = BUILT_PRODUCTS_DIR; }; D9227C2C1BA7952100B5E1D0 /* ChatSecureCore.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ChatSecureCore.h; sourceTree = ""; }; D9227C2E1BA7952100B5E1D0 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; D9229D521EA960CF003D0D09 /* OTRAccountMigrationViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OTRAccountMigrationViewController.h; sourceTree = ""; }; @@ -1089,14 +585,12 @@ D95AD2281B684AE1007DEBC3 /* xmpp-server-list */ = {isa = PBXFileReference; lastKnownFileType = folder; name = "xmpp-server-list"; path = "Submodules/xmpp-server-list"; sourceTree = SOURCE_ROOT; }; D967CA881E516A95005FBB49 /* PushAccountTableViewCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PushAccountTableViewCell.swift; sourceTree = ""; }; D967CA8D1E516B8D005FBB49 /* PushAccountTableViewCell.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = PushAccountTableViewCell.xib; sourceTree = ""; }; - D96F8E671EFC7209003DE8AE /* DTFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = DTFoundation.framework; path = Carthage/Build/iOS/DTFoundation.framework; sourceTree = ""; }; D97070911EEF382D004FEBDE /* MediaDownloadView.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = MediaDownloadView.xib; path = Interface/MediaDownloadView.xib; sourceTree = ""; }; D97070A61EEF3909004FEBDE /* MediaDownloadView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MediaDownloadView.swift; sourceTree = ""; }; D97097A11FC4DB3D008ED04B /* MessageStorage.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MessageStorage.swift; sourceTree = ""; }; D97175511E60D59300675DDE /* YapDatabaseViewConnection+ChatSecure.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "YapDatabaseViewConnection+ChatSecure.h"; sourceTree = ""; }; D97175521E60D59300675DDE /* YapDatabaseViewConnection+ChatSecure.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "YapDatabaseViewConnection+ChatSecure.m"; sourceTree = ""; }; D973D7051A2D4094004D353E /* Pods-ChatSecureCorePods-ChatSecure-acknowledgements.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = "Pods-ChatSecureCorePods-ChatSecure-acknowledgements.plist"; path = "Pods/Target Support Files/Pods-ChatSecureCorePods-ChatSecure/Pods-ChatSecureCorePods-ChatSecure-acknowledgements.plist"; sourceTree = SOURCE_ROOT; }; - D984F6CD1EFC6D41008D0CF7 /* Kvitto.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Kvitto.framework; path = Carthage/Build/iOS/Kvitto.framework; sourceTree = ""; }; D985BC751EBD307D00993D27 /* PurchaseViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PurchaseViewController.swift; sourceTree = ""; }; D985BC791EBD32F700993D27 /* StoreKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = StoreKit.framework; path = System/Library/Frameworks/StoreKit.framework; sourceTree = SDKROOT; }; D989A84D1B5DBD90000608A9 /* OTRExistingAccountViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = OTRExistingAccountViewController.h; path = "Login View Controllers/OTRExistingAccountViewController.h"; sourceTree = ""; }; @@ -1123,7 +617,6 @@ D9AC94191FCD0DE50051B457 /* XMPPManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = XMPPManager.swift; sourceTree = ""; }; D9ADE5B71B606642009471FF /* OTRCircleButtonView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OTRCircleButtonView.h; sourceTree = ""; }; D9ADE5B81B606642009471FF /* OTRCircleButtonView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = OTRCircleButtonView.m; sourceTree = ""; }; - D9AE3A0E1BA8CBFA00255537 /* OTRAssets.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = OTRAssets.framework; sourceTree = BUILT_PRODUCTS_DIR; }; D9AE3A101BA8CBFA00255537 /* OTRAssets.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = OTRAssets.h; sourceTree = ""; }; D9AE3A121BA8CBFA00255537 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; D9AE3A221BA8D02800255537 /* OTRCountryImages.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = OTRCountryImages.xcassets; path = Images/OTRCountryImages.xcassets; sourceTree = ""; }; @@ -1153,19 +646,6 @@ D9DB2D131F37AEBB005D64E4 /* OTRYapMessageSendAction.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OTRYapMessageSendAction.swift; sourceTree = ""; }; D9DEC3491FABC9F900BF1F7C /* Settings.bundle */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.plug-in"; path = Settings.bundle; sourceTree = ""; }; D9E8277D1E2819F20071F40D /* strings.json */ = {isa = PBXFileReference; lastKnownFileType = text.json; name = strings.json; path = OTRAssets/Strings/strings.json; sourceTree = SOURCE_ROOT; }; - D9EC47671EFA03D800C39B25 /* AFNetworking.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AFNetworking.framework; path = Carthage/Build/iOS/AFNetworking.framework; sourceTree = ""; }; - D9EC476A1EFA03FC00C39B25 /* Alamofire.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Alamofire.framework; path = Carthage/Build/iOS/Alamofire.framework; sourceTree = ""; }; - D9EC476B1EFA03FC00C39B25 /* FormatterKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = FormatterKit.framework; path = Carthage/Build/iOS/FormatterKit.framework; sourceTree = ""; }; - D9EC476C1EFA03FC00C39B25 /* HTMLReader.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = HTMLReader.framework; path = Carthage/Build/iOS/HTMLReader.framework; sourceTree = ""; }; - D9EC476E1EFA03FC00C39B25 /* KVOController.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = KVOController.framework; path = Carthage/Build/iOS/KVOController.framework; sourceTree = ""; }; - D9EC476F1EFA03FC00C39B25 /* Mantle.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Mantle.framework; path = Carthage/Build/iOS/Mantle.framework; sourceTree = ""; }; - D9EC47701EFA03FC00C39B25 /* MBProgressHUD.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MBProgressHUD.framework; path = Carthage/Build/iOS/MBProgressHUD.framework; sourceTree = ""; }; - D9EC47711EFA03FC00C39B25 /* PureLayout.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = PureLayout.framework; path = Carthage/Build/iOS/PureLayout.framework; sourceTree = ""; }; - D9EC47721EFA03FC00C39B25 /* SAMKeychain.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SAMKeychain.framework; path = Carthage/Build/iOS/SAMKeychain.framework; sourceTree = ""; }; - D9EC47731EFA03FC00C39B25 /* TTTAttributedLabel.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = TTTAttributedLabel.framework; path = Carthage/Build/iOS/TTTAttributedLabel.framework; sourceTree = ""; }; - D9EC47741EFA03FC00C39B25 /* UserVoice.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UserVoice.framework; path = Carthage/Build/iOS/UserVoice.framework; sourceTree = ""; }; - D9EC47751EFA03FC00C39B25 /* XLForm.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = XLForm.framework; path = Carthage/Build/iOS/XLForm.framework; sourceTree = ""; }; - D9EC47761EFA03FC00C39B25 /* ZXingObjC.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = ZXingObjC.framework; path = Carthage/Build/iOS/ZXingObjC.framework; sourceTree = ""; }; D9EEEDD11D27388600B8BC54 /* OTRvCard.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = OTRvCard.h; path = "Yap Storage/OTRvCard.h"; sourceTree = ""; }; D9F3B1AE1FD48DDA00DFC5DA /* Account.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Account.swift; sourceTree = ""; }; D9F5EC492016E94800010966 /* OTRProtocolManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OTRProtocolManager.swift; sourceTree = ""; }; @@ -1188,20 +668,8 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - D95515951EFA0B5F008AA429 /* TTTAttributedLabel.framework in Frameworks */, - D95515841EFA0A9F008AA429 /* AFNetworking.framework in Frameworks */, - D955158D1EFA0B5F008AA429 /* Mantle.framework in Frameworks */, D985BC7A1EBD32F700993D27 /* StoreKit.framework in Frameworks */, - D9227C3F1BA7952100B5E1D0 /* ChatSecureCore.framework in Frameworks */, - D955157D1EFA0A9F008AA429 /* MBProgressHUD.framework in Frameworks */, - D955159B1EFA0B5F008AA429 /* ZXingObjC.framework in Frameworks */, - D95515911EFA0B5F008AA429 /* PureLayout.framework in Frameworks */, - D95515871EFA0B5F008AA429 /* FormatterKit.framework in Frameworks */, - D95515991EFA0B5F008AA429 /* XLForm.framework in Frameworks */, 62541784C9130738A1DC0C3C /* Pods_ChatSecureCorePods_ChatSecure.framework in Frameworks */, - D955157F1EFA0A9F008AA429 /* SAMKeychain.framework in Frameworks */, - D955157B1EFA0A9F008AA429 /* KVOController.framework in Frameworks */, - D955157A1EFA0A9F008AA429 /* HTMLReader.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1209,42 +677,10 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - D9FD36011EFAFD3C00398CE4 /* FormatterKit.framework in Frameworks */, - D9FD36021EFAFD3C00398CE4 /* HTMLReader.framework in Frameworks */, - D9FD36031EFAFD3C00398CE4 /* KVOController.framework in Frameworks */, - D9FD36041EFAFD3C00398CE4 /* Mantle.framework in Frameworks */, - D9FD36051EFAFD3C00398CE4 /* MBProgressHUD.framework in Frameworks */, - D9FD36061EFAFD3C00398CE4 /* PureLayout.framework in Frameworks */, - D9FD36071EFAFD3C00398CE4 /* SAMKeychain.framework in Frameworks */, - D9FD36081EFAFD3C00398CE4 /* TTTAttributedLabel.framework in Frameworks */, - D9FD360A1EFAFD3C00398CE4 /* XLForm.framework in Frameworks */, - D9FD360B1EFAFD3C00398CE4 /* ZXingObjC.framework in Frameworks */, - D9FD360C1EFAFD3C00398CE4 /* AFNetworking.framework in Frameworks */, - 631E1E9F1C583B6900E263CD /* ChatSecureCore.framework in Frameworks */, 7A6540ECCA04445E88F06962 /* Pods_ChatSecureCorePods_ChatSecureTests.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - D9227C261BA7952100B5E1D0 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - D9EC47801EFA03FC00C39B25 /* TTTAttributedLabel.framework in Frameworks */, - D9EC47821EFA03FC00C39B25 /* XLForm.framework in Frameworks */, - D9AE3A201BA8CCFE00255537 /* OTRAssets.framework in Frameworks */, - D9EC47681EFA03D800C39B25 /* AFNetworking.framework in Frameworks */, - D9EC47781EFA03FC00C39B25 /* FormatterKit.framework in Frameworks */, - DDE1CAF4312DE1C724A33B72 /* Pods_ChatSecureCorePods_ChatSecureCore.framework in Frameworks */, - D9EC477C1EFA03FC00C39B25 /* Mantle.framework in Frameworks */, - D9EC47791EFA03FC00C39B25 /* HTMLReader.framework in Frameworks */, - D9EC477D1EFA03FC00C39B25 /* MBProgressHUD.framework in Frameworks */, - D9EC477E1EFA03FC00C39B25 /* PureLayout.framework in Frameworks */, - D9EC47831EFA03FC00C39B25 /* ZXingObjC.framework in Frameworks */, - D9EC477F1EFA03FC00C39B25 /* SAMKeychain.framework in Frameworks */, - D9EC477B1EFA03FC00C39B25 /* KVOController.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; D93027531BAA381F000CC975 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; @@ -1252,13 +688,6 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - D9AE3A0A1BA8CBFA00255537 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ @@ -1825,7 +1254,6 @@ 6396AF911A169D54009F3E6C = { isa = PBXGroup; children = ( - D9EC47691EFA03DF00C39B25 /* Carthage */, 6396AF9C1A169D54009F3E6C /* ChatSecure */, 6396AFB61A169D54009F3E6C /* ChatSecureTests */, 6365CEFD1E2453F6009E213F /* ChatSecureUITests */, @@ -1843,8 +1271,6 @@ children = ( 6396AF9A1A169D54009F3E6C /* ChatSecure.app */, 6396AFB31A169D54009F3E6C /* ChatSecureTests.xctest */, - D9227C2A1BA7952100B5E1D0 /* ChatSecureCore.framework */, - D9AE3A0E1BA8CBFA00255537 /* OTRAssets.framework */, D93027561BAA381F000CC975 /* OTRResources.bundle */, 6365CEFC1E2453F6009E213F /* ChatSecureUITests.xctest */, ); @@ -2001,8 +1427,6 @@ 6308D1441CA20762002F5F30 /* Pods-ChatSecureCorePods-ChatSecure-acknowledgements.plist */, DE32B878BAC9A236855EAF6E /* Pods-ChatSecureCorePods-ChatSecure.debug.xcconfig */, 7A62FCE8FEC1E7C9644F8C38 /* Pods-ChatSecureCorePods-ChatSecure.release.xcconfig */, - C4E2DF261B1D18F006F8B3A6 /* Pods-ChatSecureCorePods-ChatSecureCore.debug.xcconfig */, - 9118152C0A7B287ABD07FF70 /* Pods-ChatSecureCorePods-ChatSecureCore.release.xcconfig */, 962ED3D89B1F330A2A34928B /* Pods-ChatSecureCorePods-ChatSecureTests.debug.xcconfig */, 702F03DE10003A33635A366F /* Pods-ChatSecureCorePods-ChatSecureTests.release.xcconfig */, ); @@ -2097,28 +1521,6 @@ name = Resources; sourceTree = ""; }; - D9EC47691EFA03DF00C39B25 /* Carthage */ = { - isa = PBXGroup; - children = ( - D96F8E671EFC7209003DE8AE /* DTFoundation.framework */, - D984F6CD1EFC6D41008D0CF7 /* Kvitto.framework */, - D9EC476A1EFA03FC00C39B25 /* Alamofire.framework */, - D9EC476B1EFA03FC00C39B25 /* FormatterKit.framework */, - D9EC476C1EFA03FC00C39B25 /* HTMLReader.framework */, - D9EC476E1EFA03FC00C39B25 /* KVOController.framework */, - D9EC476F1EFA03FC00C39B25 /* Mantle.framework */, - D9EC47701EFA03FC00C39B25 /* MBProgressHUD.framework */, - D9EC47711EFA03FC00C39B25 /* PureLayout.framework */, - D9EC47721EFA03FC00C39B25 /* SAMKeychain.framework */, - D9EC47731EFA03FC00C39B25 /* TTTAttributedLabel.framework */, - D9EC47741EFA03FC00C39B25 /* UserVoice.framework */, - D9EC47751EFA03FC00C39B25 /* XLForm.framework */, - D9EC47761EFA03FC00C39B25 /* ZXingObjC.framework */, - D9EC47671EFA03D800C39B25 /* AFNetworking.framework */, - ); - name = Carthage; - sourceTree = ""; - }; DB9AACD6ED82090C7A6B0076 /* Frameworks */ = { isa = PBXGroup; children = ( @@ -2127,7 +1529,6 @@ CCD1F8E85C658C8D3865B584 /* Pods.framework */, 46AAC6968EC686E61C8E8EA4 /* Pods_ChatSecureCore.framework */, 9F52F68785B05428F442DF47 /* Pods_ChatSecureCorePods_ChatSecure.framework */, - 31610826406FD0CB714045AD /* Pods_ChatSecureCorePods_ChatSecureCore.framework */, 281981F599E0F5C8397E6A3F /* Pods_ChatSecureCorePods_ChatSecureTests.framework */, C492FFACC855CE12E882968E /* Pods_ChatSecureCorePods_ChatSecureUITests.framework */, ); @@ -2136,193 +1537,6 @@ }; /* End PBXGroup section */ -/* Begin PBXHeadersBuildPhase section */ - D9227C271BA7952100B5E1D0 /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - D93DDB491BA79A7200CD8331 /* OTRXMPPManager.h in Headers */, - D9227C2D1BA7952100B5E1D0 /* ChatSecureCore.h in Headers */, - D9ABD72B1ED7886100219A9C /* OTRTextItem.h in Headers */, - D93DDB2B1BA79A7000CD8331 /* OTRAppDelegate.h in Headers */, - D9FF60222040A9EF003207DC /* AppTheme.h in Headers */, - D93DDB2C1BA79A7000CD8331 /* NSURL+ChatSecure.h in Headers */, - D94ACBA41DFA206500B8C0F5 /* OTRBuddyCache.h in Headers */, - D93DDB331BA79A7000CD8331 /* NSString+ChatSecure.h in Headers */, - D93DDB361BA79A7000CD8331 /* OTRAccountsManager.h in Headers */, - D93DDB371BA79A7100CD8331 /* OTRDatabaseManager.h in Headers */, - 632AA72E1D4819BD00F65733 /* OTRSignalPreKey.h in Headers */, - 632AA7361D481A6300F65733 /* OTRSignalObject.h in Headers */, - D93DDB381BA79A7100CD8331 /* OTRDatabaseView.h in Headers */, - D93DDB391BA79A7100CD8331 /* OTREncryptionManager.h in Headers */, - D93DDB3C1BA79A7100CD8331 /* OTRProtocol.h in Headers */, - 63D65D2D1DD68A8D00D9E52E /* OTRMessage.h in Headers */, - D93DDB3D1BA79A7100CD8331 /* OTRProtocolManager.h in Headers */, - D93DDB3E1BA79A7100CD8331 /* OTRSettingsManager.h in Headers */, - D93DDB431BA79A7200CD8331 /* OTRMediaFileManager.h in Headers */, - D93DDB441BA79A7200CD8331 /* OTRMediaServer.h in Headers */, - 63BA43DF1D418F14007FAF7F /* OTRAccountSignalIdentity.h in Headers */, - D93DDB731BA79A7F00CD8331 /* OTRQRCodeActivity.h in Headers */, - 637ABBC41DD52ABB00B18DD2 /* OTRMessageEncryptionInfo.h in Headers */, - 63D150FB1D8A0C9C006FB2E2 /* OMEMODevice.h in Headers */, - D93DDB7F1BA79A8500CD8331 /* OTRSetting.h in Headers */, - D93DDB851BA79A8900CD8331 /* OTRAccount.h in Headers */, - D93DDB881BA79A8B00CD8331 /* OTRXMPPAccount.h in Headers */, - D93DDB8F1BA79A9100CD8331 /* OTRBuddy.h in Headers */, - D98B8E321E4CF90400A713E1 /* OTRServerCapabilities.h in Headers */, - D93DDB911BA79A9200CD8331 /* OTRBaseMessage.h in Headers */, - D93DDB941BA79A9500CD8331 /* OTRYapDatabaseObject.h in Headers */, - D93DDB991BA79A9B00CD8331 /* OTRImages.h in Headers */, - 632AA72A1D480BFF00F65733 /* OTRSignalSenderKey.h in Headers */, - D93DDB9C1BA79A9E00CD8331 /* OTRPasswordGenerator.h in Headers */, - D93DDBA31BA79AA500CD8331 /* OTRInviteViewController.h in Headers */, - 632AA73A1D482A1A00F65733 /* OTRSignalSession.h in Headers */, - D9040CB11EF1EB050027A862 /* OTRMediaItem+Private.h in Headers */, - D93DDBA61BA79AA800CD8331 /* OTRBaseLoginViewController.h in Headers */, - D93DDBA71BA79AA900CD8331 /* OTRXLFormCreator.h in Headers */, - D9229D541EA960CF003D0D09 /* OTRAccountMigrationViewController.h in Headers */, - 63E353F61BB9E46D005C54C3 /* OTRPushTLVHandlerProtocols.h in Headers */, - D93DDBA91BA79AAB00CD8331 /* OTRXMPPLoginHandler.h in Headers */, - 63D14F351C0FC7A60029F36B /* OTRThreadOwner.h in Headers */, - D93DDBAD1BA79AB000CD8331 /* OTRXMPPCreateAccountHandler.h in Headers */, - D93DDBAE1BA79AB100CD8331 /* OTRLoginHandler.h in Headers */, - D9DB2D141F37AEBE005D64E4 /* OTRYapMessageSendAction.swift in Headers */, - 637ABBCB1DD5330200B18DD2 /* OTRIncomingMessage.h in Headers */, - D93DDBB61BA79ABB00CD8331 /* OTRComposeViewController.h in Headers */, - D93DDBB71BA79ABD00CD8331 /* OTRConversationViewController.h in Headers */, - D9AE3A321BA8D9AB00255537 /* OTRConstants.h in Headers */, - D93DDBBE1BA79AC600CD8331 /* OTRMessagesViewController.h in Headers */, - D93DDBBF1BA79AC700CD8331 /* OTRMessagesHoldTalkViewController.h in Headers */, - D93DDBC11BA79ACA00CD8331 /* OTRQRCodeViewController.h in Headers */, - 6369855A1BC875110083FC53 /* OTRXMPPRoomManager.h in Headers */, - D935EF0B1CFFA19A005A1AC8 /* OTRBuddyApprovalCell.h in Headers */, - 639C352A1C3DDDDE00132330 /* OTRXMPPBuddyManager.h in Headers */, - D93DDBC71BA79AD200CD8331 /* XMPPServerInfoCell.h in Headers */, - D97175531E60D59300675DDE /* YapDatabaseViewConnection+ChatSecure.h in Headers */, - D93DDB311BA79A7000CD8331 /* UIViewController+ChatSecure.h in Headers */, - D93DDB301BA79A7000CD8331 /* UIImage+ChatSecure.h in Headers */, - D93DDB2F1BA79A7000CD8331 /* UIActivityViewController+ChatSecure.h in Headers */, - D93DDB961BA79A9800CD8331 /* OTRChatDemo.h in Headers */, - D93DDB2E1BA79A7000CD8331 /* UIActivity+ChatSecure.h in Headers */, - D9BEF8E01DCE6E12009945D1 /* OTRXMPPManager_Private.h in Headers */, - D93DDB4B1BA79A7300CD8331 /* OTRXMPPTorManager.h in Headers */, - D93DDB891BA79A8C00CD8331 /* OTRXMPPTorAccount.h in Headers */, - D93DDBA81BA79AAA00CD8331 /* OTRXMPPServerListViewController.h in Headers */, - D93DDB4E1BA79A7300CD8331 /* OTRXMPPServerInfo.h in Headers */, - D93DDB9F1BA79AA100CD8331 /* OTRXMPPError.h in Headers */, - D93DDB481BA79A7200CD8331 /* OTRXMPPBuddyTimers.h in Headers */, - D93DDB921BA79A9300CD8331 /* OTRXMPPBuddy.h in Headers */, - D93DDBA21BA79AA400CD8331 /* OTRWelcomeAccountTableViewDelegate.h in Headers */, - D93DDB831BA79A8800CD8331 /* OTRViewSetting.h in Headers */, - D9B79B951ECF951F00883963 /* OTRFileItem.h in Headers */, - 637ABBC91DD5312200B18DD2 /* OTROutgoingMessage.h in Headers */, - D93DDB8C1BA79A8E00CD8331 /* OTRVideoItem.h in Headers */, - D9B3F9E720C6500F005000A9 /* RoomOccupantRole.h in Headers */, - D93DDB821BA79A8700CD8331 /* OTRValueSetting.h in Headers */, - D93DDB9E1BA79AA000CD8331 /* OTRUtilities.h in Headers */, - D93DDBDE1BA79AF900CD8331 /* OTRTouchAndHoldGestureRecognizer.h in Headers */, - D93DDB3F1BA79A7100CD8331 /* OTRTorManager.h in Headers */, - D93DDB741BA79A8000CD8331 /* OTRToastOptions.h in Headers */, - D93DDBDB1BA79AF300CD8331 /* OTRTitleSubtitleView.h in Headers */, - D93DDB451BA79A7200CD8331 /* OTRStreamManagementYapStorage.h in Headers */, - D93DDB8E1BA79A9000CD8331 /* OTRStreamManagementStorageObject.h in Headers */, - D93DDBCE1BA79ADD00CD8331 /* OTRStatusMessageCell.h in Headers */, - D93DDBDA1BA79AF100CD8331 /* OTRSocialButtonsView.h in Headers */, - D93DDB811BA79A8700CD8331 /* OTRShareSetting.h in Headers */, - D997E3F41EAECD1400BF72EF /* UITableView+ChatSecure.h in Headers */, - D93DDBC31BA79ACC00CD8331 /* OTRSettingsViewController.h in Headers */, - D93DDB801BA79A8600CD8331 /* OTRSettingsGroup.h in Headers */, - D93DDBCD1BA79ADB00CD8331 /* OTRSettingTableViewCell.h in Headers */, - D93DDBC21BA79ACB00CD8331 /* OTRSettingDetailViewController.h in Headers */, - D93DDBD91BA79AF000CD8331 /* OTRRememberPasswordView.h in Headers */, - D93DDBA51BA79AA700CD8331 /* OTRQRCodeReaderDelegate.h in Headers */, - 63E353B71BB9D83B005C54C3 /* OTRPushTLVHandler.h in Headers */, - D93DDBD31BA79AE500CD8331 /* OTRPlayView.h in Headers */, - D93DDBD21BA79AE400CD8331 /* OTRPlayPauseProgressView.h in Headers */, - D93DDBD41BA79AE700CD8331 /* OTRPauseView.h in Headers */, - D93DDBD81BA79AEE00CD8331 /* OTRPasswordStrengthView.h in Headers */, - D93DDB721BA79A7F00CD8331 /* OTROpenInTwitterActivity.h in Headers */, - D93DDB711BA79A7F00CD8331 /* OTROpenInFacebookActivity.h in Headers */, - D93DDB871BA79A8A00CD8331 /* OTROAuthXMPPAccount.h in Headers */, - D93DDB3B1BA79A7100CD8331 /* OTROAuthRefresher.h in Headers */, - 92BE6C7F2010E34000A79C8B /* OTRXMPPPresenceSubscriptionRequest.h in Headers */, - D9B7C5CF1EC3C9F2008D99E6 /* OTRAccountMigrator.h in Headers */, - D93DDBC01BA79AC800CD8331 /* OTRNewBuddyViewController.h in Headers */, - D93DDB901BA79A9100CD8331 /* OTRMessage+JSQMessageData.h in Headers */, - D93DDB8A1BA79A8C00CD8331 /* OTRMediaItem.h in Headers */, - D93DDB9A1BA79A9C00CD8331 /* OTRLog.h in Headers */, - D93DDBD71BA79AEC00CD8331 /* OTRLockButton.h in Headers */, - D93DDBBD1BA79AC400CD8331 /* OTRListSettingViewController.h in Headers */, - D93DDB7E1BA79A8500CD8331 /* OTRListSettingValue.h in Headers */, - D93DDB7D1BA79A8400CD8331 /* OTRListSetting.h in Headers */, - D93DDB7C1BA79A8400CD8331 /* OTRLanguageSetting.h in Headers */, - D93DDBBC1BA79AC300CD8331 /* OTRLanguageListSettingViewController.h in Headers */, - D93DDBBB1BA79AC200CD8331 /* OTRIntSettingViewController.h in Headers */, - D93DDB7B1BA79A8300CD8331 /* OTRIntSetting.h in Headers */, - D93DDBCC1BA79ADA00CD8331 /* OTRInLineTextEditTableViewCell.h in Headers */, - D93DDB8B1BA79A8D00CD8331 /* OTRImageItem.h in Headers */, - D93DDBDC1BA79AF500CD8331 /* OTRHoldToTalkView.h in Headers */, - D93DDBAB1BA79AAE00CD8331 /* OTRGoolgeOAuthLoginHandler.h in Headers */, - D93DDB861BA79A8900CD8331 /* OTRGoogleOAuthXMPPAccount.h in Headers */, - D93DDB791BA79A8200CD8331 /* OTRFeedbackSetting.h in Headers */, - D93DDB841BA79A8800CD8331 /* OTRFacebookOAuthXMPPAccount.h in Headers */, - D93DDBA11BA79AA300CD8331 /* OTRExistingAccountViewController.h in Headers */, - D93DDBB91BA79ABF00CD8331 /* OTRDoubleSettingViewController.h in Headers */, - D93DDB781BA79A8200CD8331 /* OTRDoubleSetting.h in Headers */, - D93DDB771BA79A8100CD8331 /* OTRDonateSetting.h in Headers */, - D93DDB701BA79A7E00CD8331 /* OTRDomainCellInfo.h in Headers */, - D93DDBB81BA79ABE00CD8331 /* OTRDatabaseUnlockViewController.h in Headers */, - D93DDBCB1BA79AD800CD8331 /* OTRConversationCell.h in Headers */, - D93DDBD61BA79AEA00CD8331 /* OTRComposingImageView.h in Headers */, - D93DDB971BA79A9900CD8331 /* OTRColors.h in Headers */, - D93DDBD51BA79AE900CD8331 /* OTRColorFadingDotView.h in Headers */, - D93DDBC51BA79ACF00CD8331 /* OTRCircleView.h in Headers */, - D93DDBC61BA79AD000CD8331 /* OTRCircleButtonView.h in Headers */, - D93DDBB51BA79ABA00CD8331 /* OTRChooseAccountViewController.h in Headers */, - D93DDBB31BA79AB700CD8331 /* OTRCertificatesViewController.h in Headers */, - D93DDB761BA79A8100CD8331 /* OTRCertificateSetting.h in Headers */, - D93DDB951BA79A9600CD8331 /* OTRCertificatePinning.h in Headers */, - D93DDBB21BA79AB600CD8331 /* OTRCertificateDomainViewController.h in Headers */, - D93DDBD01BA79AE000CD8331 /* OTRButtonView.h in Headers */, - D93DDB751BA79A8000CD8331 /* OTRBoolSetting.h in Headers */, - D93DDBDD1BA79AF700CD8331 /* OTRAudioTrashView.h in Headers */, - D93DDB411BA79A7100CD8331 /* OTRAudioSessionManager.h in Headers */, - 6326D9AF1DC3D0F100D72403 /* OTRYapMessageSendAction.h in Headers */, - D93DDB421BA79A7100CD8331 /* OTRAudioPlaybackController.h in Headers */, - D93DDB8D1BA79A8F00CD8331 /* OTRAudioItem.h in Headers */, - D93DDBD11BA79AE200CD8331 /* OTRAudioControlsView.h in Headers */, - D93DDB351BA79A7000CD8331 /* OTRAttachmentPicker.h in Headers */, - D9A7756F1E43F8A200027864 /* ProxyXMPPStream.h in Headers */, - D93DDBA41BA79AA600CD8331 /* OTRAddBuddyQRCodeViewController.h in Headers */, - D93DDB6F1BA79A7E00CD8331 /* OTRActivityItemProvider.h in Headers */, - D91F9EFB1ED6301500AEA62C /* OTRDownloadMessage.h in Headers */, - D9ABD71E1ED787EE00219A9C /* OTRHTMLItem.h in Headers */, - D93DDBC81BA79AD300CD8331 /* OTRAccountTableViewCell.h in Headers */, - D93DDB341BA79A7000CD8331 /* NSFileManager+ChatSecure.h in Headers */, - D93DDB321BA79A7000CD8331 /* JSQMessagesCollectionViewCell+ChatSecure.h in Headers */, - D93DDBC91BA79AD500CD8331 /* OTRBuddyImageCell.h in Headers */, - D93DDBCA1BA79AD700CD8331 /* OTRBuddyInfoCell.h in Headers */, - 632AA7321D4819E000F65733 /* OTRSignalSignedPreKey.h in Headers */, - D9B9B1371DC802480007F5A7 /* OTRUserInfoProfile.h in Headers */, - D9EEEDD31D2739A800B8BC54 /* OTRvCard.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - D9AE3A0B1BA8CBFA00255537 /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - D9599BBE1E285ECD006A4450 /* OTRLanguageManager_Private.h in Headers */, - D9E8277F1E28222F0071F40D /* OTRLanguageManager.h in Headers */, - D9AE3A111BA8CBFA00255537 /* OTRAssets.h in Headers */, - D9AE3A211BA8CF4400255537 /* OTRStrings.h in Headers */, - D9AE3A1C1BA8CC8E00255537 /* OTRSecrets.h in Headers */, - D9AE3A301BA8D84500255537 /* OTRBranding.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXHeadersBuildPhase section */ - /* Begin PBXNativeTarget section */ 6365CEFB1E2453F6009E213F /* ChatSecureUITests */ = { isa = PBXNativeTarget; @@ -2359,7 +1573,6 @@ ); dependencies = ( D99F17901BAB9CD400604558 /* PBXTargetDependency */, - D9227C3E1BA7952100B5E1D0 /* PBXTargetDependency */, ); name = ChatSecure; productName = ChatSecure; @@ -2380,7 +1593,6 @@ buildRules = ( ); dependencies = ( - 631E1E9E1C583B6200E263CD /* PBXTargetDependency */, 6396AFB51A169D54009F3E6C /* PBXTargetDependency */, ); name = ChatSecureTests; @@ -2388,26 +1600,6 @@ productReference = 6396AFB31A169D54009F3E6C /* ChatSecureTests.xctest */; productType = "com.apple.product-type.bundle.unit-test"; }; - D9227C291BA7952100B5E1D0 /* ChatSecureCore */ = { - isa = PBXNativeTarget; - buildConfigurationList = D9227C471BA7952100B5E1D0 /* Build configuration list for PBXNativeTarget "ChatSecureCore" */; - buildPhases = ( - A6D5997FD889EEEABB9C430A /* [CP] Check Pods Manifest.lock */, - D9227C251BA7952100B5E1D0 /* Sources */, - D9227C261BA7952100B5E1D0 /* Frameworks */, - D9227C271BA7952100B5E1D0 /* Headers */, - D9227C281BA7952100B5E1D0 /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - D9AE3A1F1BA8CCFA00255537 /* PBXTargetDependency */, - ); - name = ChatSecureCore; - productName = ChatSecureCore; - productReference = D9227C2A1BA7952100B5E1D0 /* ChatSecureCore.framework */; - productType = "com.apple.product-type.framework"; - }; D93027551BAA381F000CC975 /* OTRResources */ = { isa = PBXNativeTarget; buildConfigurationList = D930275C1BAA381F000CC975 /* Build configuration list for PBXNativeTarget "OTRResources" */; @@ -2425,25 +1617,6 @@ productReference = D93027561BAA381F000CC975 /* OTRResources.bundle */; productType = "com.apple.product-type.bundle"; }; - D9AE3A0D1BA8CBFA00255537 /* OTRAssets */ = { - isa = PBXNativeTarget; - buildConfigurationList = D9AE3A171BA8CBFA00255537 /* Build configuration list for PBXNativeTarget "OTRAssets" */; - buildPhases = ( - D97B6BA21E4A869C005C7B11 /* Update OTRStrings from strings.json */, - D9AE3A091BA8CBFA00255537 /* Sources */, - D9AE3A0A1BA8CBFA00255537 /* Frameworks */, - D9AE3A0B1BA8CBFA00255537 /* Headers */, - D9AE3A0C1BA8CBFA00255537 /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = OTRAssets; - productName = OTRAssets; - productReference = D9AE3A0E1BA8CBFA00255537 /* OTRAssets.framework */; - productType = "com.apple.product-type.framework"; - }; /* End PBXNativeTarget section */ /* Begin PBXProject section */ @@ -2492,23 +1665,11 @@ LastSwiftMigration = 1010; ProvisioningStyle = Automatic; }; - D9227C291BA7952100B5E1D0 = { - CreatedOnToolsVersion = 7.0; - DevelopmentTeam = 4T8JLQR6GR; - LastSwiftMigration = 1010; - ProvisioningStyle = Automatic; - }; D93027551BAA381F000CC975 = { CreatedOnToolsVersion = 7.0; DevelopmentTeam = 4T8JLQR6GR; ProvisioningStyle = Automatic; }; - D9AE3A0D1BA8CBFA00255537 = { - CreatedOnToolsVersion = 7.0; - DevelopmentTeam = 4T8JLQR6GR; - LastSwiftMigration = 1010; - ProvisioningStyle = Automatic; - }; }; }; buildConfigurationList = 6396AF951A169D54009F3E6C /* Build configuration list for PBXProject "ChatSecure" */; @@ -2557,8 +1718,6 @@ 6396AF991A169D54009F3E6C /* ChatSecure */, 6396AFB21A169D54009F3E6C /* ChatSecureTests */, 6365CEFB1E2453F6009E213F /* ChatSecureUITests */, - D9227C291BA7952100B5E1D0 /* ChatSecureCore */, - D9AE3A0D1BA8CBFA00255537 /* OTRAssets */, D93027551BAA381F000CC975 /* OTRResources */, ); }; @@ -2602,13 +1761,6 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - D9227C281BA7952100B5E1D0 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; D93027541BAA381F000CC975 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; @@ -2646,13 +1798,6 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - D9AE3A0C1BA8CBFA00255537 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ @@ -2663,6 +1808,7 @@ ); inputPaths = ( "${PODS_ROOT}/Target Support Files/Pods-ChatSecureCorePods-ChatSecure/Pods-ChatSecureCorePods-ChatSecure-frameworks.sh", + "${BUILT_PRODUCTS_DIR}/AFNetworking/AFNetworking.framework", "${BUILT_PRODUCTS_DIR}/ARChromeActivity/ARChromeActivity.framework", "${BUILT_PRODUCTS_DIR}/Alamofire/Alamofire.framework", "${BUILT_PRODUCTS_DIR}/Appirater/Appirater.framework", @@ -2670,32 +1816,44 @@ "${BUILT_PRODUCTS_DIR}/BButton/BButton.framework", "${BUILT_PRODUCTS_DIR}/CPAProxy/CPAProxy.framework", "${BUILT_PRODUCTS_DIR}/ChatSecure-Push-iOS/ChatSecure_Push_iOS.framework", + "${BUILT_PRODUCTS_DIR}/ChatSecureCore/ChatSecureCore.framework", "${BUILT_PRODUCTS_DIR}/CocoaAsyncSocket/CocoaAsyncSocket.framework", "${BUILT_PRODUCTS_DIR}/CocoaLumberjack/CocoaLumberjack.framework", "${BUILT_PRODUCTS_DIR}/DTFoundation/DTFoundation.framework", + "${BUILT_PRODUCTS_DIR}/FormatterKit/FormatterKit.framework", "${BUILT_PRODUCTS_DIR}/GCDWebServer/GCDWebServer.framework", + "${BUILT_PRODUCTS_DIR}/HTMLReader/HTMLReader.framework", "${BUILT_PRODUCTS_DIR}/HockeySDK-Source/HockeySDK_Source.framework", "${BUILT_PRODUCTS_DIR}/IOCipher/IOCipher.framework", "${BUILT_PRODUCTS_DIR}/JSQMessagesViewController/JSQMessagesViewController.framework", "${BUILT_PRODUCTS_DIR}/JTSImageViewController/JTSImageViewController.framework", + "${BUILT_PRODUCTS_DIR}/KVOController/KVOController.framework", "${BUILT_PRODUCTS_DIR}/KissXML/KissXML.framework", "${BUILT_PRODUCTS_DIR}/Kvitto/Kvitto.framework", "${BUILT_PRODUCTS_DIR}/LumberjackConsole/LumberjackConsole.framework", + "${BUILT_PRODUCTS_DIR}/MBProgressHUD/MBProgressHUD.framework", "${BUILT_PRODUCTS_DIR}/MWFeedParser/MWFeedParser.framework", + "${BUILT_PRODUCTS_DIR}/Mantle/Mantle.framework", "${BUILT_PRODUCTS_DIR}/NBUCore/NBUCore.framework", "${BUILT_PRODUCTS_DIR}/Navajo/Navajo.framework", + "${BUILT_PRODUCTS_DIR}/OTRAssets/OTRAssets.framework", "${BUILT_PRODUCTS_DIR}/OTRKit/OTRKit.framework", "${BUILT_PRODUCTS_DIR}/OpenInChrome/OpenInChrome.framework", "${BUILT_PRODUCTS_DIR}/ParkedTextField/ParkedTextField.framework", "${BUILT_PRODUCTS_DIR}/ProxyKit/ProxyKit.framework", + "${BUILT_PRODUCTS_DIR}/PureLayout/PureLayout.framework", "${BUILT_PRODUCTS_DIR}/QRCodeReaderViewController/QRCodeReaderViewController.framework", + "${BUILT_PRODUCTS_DIR}/SAMKeychain/SAMKeychain.framework", "${BUILT_PRODUCTS_DIR}/SQLCipher/SQLCipher.framework", "${BUILT_PRODUCTS_DIR}/SignalProtocolC/SignalProtocolC.framework", "${BUILT_PRODUCTS_DIR}/SignalProtocolObjC/SignalProtocolObjC.framework", + "${BUILT_PRODUCTS_DIR}/TTTAttributedLabel/TTTAttributedLabel.framework", "${BUILT_PRODUCTS_DIR}/TUSafariActivity/TUSafariActivity.framework", + "${BUILT_PRODUCTS_DIR}/XLForm/XLForm.framework", "${BUILT_PRODUCTS_DIR}/XMPPFramework/XMPPFramework.framework", "${BUILT_PRODUCTS_DIR}/YapDatabase/YapDatabase.framework", "${BUILT_PRODUCTS_DIR}/YapTaskQueue/YapTaskQueue.framework", + "${BUILT_PRODUCTS_DIR}/ZXingObjC/ZXingObjC.framework", "${BUILT_PRODUCTS_DIR}/gtm-http-fetcher/gtm_http_fetcher.framework", "${BUILT_PRODUCTS_DIR}/gtm-oauth2/gtm_oauth2.framework", "${BUILT_PRODUCTS_DIR}/libidn/libidn.framework", @@ -2703,6 +1861,7 @@ ); name = "[CP] Embed Pods Frameworks"; outputPaths = ( + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/AFNetworking.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/ARChromeActivity.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Alamofire.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Appirater.framework", @@ -2710,32 +1869,44 @@ "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/BButton.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/CPAProxy.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/ChatSecure_Push_iOS.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/ChatSecureCore.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/CocoaAsyncSocket.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/CocoaLumberjack.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/DTFoundation.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/FormatterKit.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/GCDWebServer.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/HTMLReader.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/HockeySDK_Source.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/IOCipher.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/JSQMessagesViewController.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/JTSImageViewController.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/KVOController.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/KissXML.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Kvitto.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/LumberjackConsole.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/MBProgressHUD.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/MWFeedParser.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Mantle.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/NBUCore.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Navajo.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/OTRAssets.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/OTRKit.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/OpenInChrome.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/ParkedTextField.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/ProxyKit.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/PureLayout.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/QRCodeReaderViewController.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/SAMKeychain.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/SQLCipher.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/SignalProtocolC.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/SignalProtocolObjC.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/TTTAttributedLabel.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/TUSafariActivity.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/XLForm.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/XMPPFramework.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/YapDatabase.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/YapTaskQueue.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/ZXingObjC.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/gtm_http_fetcher.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/gtm_oauth2.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/libidn.framework", @@ -2771,6 +1942,7 @@ ); inputPaths = ( "${PODS_ROOT}/Target Support Files/Pods-ChatSecureCorePods-ChatSecureTests/Pods-ChatSecureCorePods-ChatSecureTests-frameworks.sh", + "${BUILT_PRODUCTS_DIR}/AFNetworking/AFNetworking.framework", "${BUILT_PRODUCTS_DIR}/ARChromeActivity/ARChromeActivity.framework", "${BUILT_PRODUCTS_DIR}/Alamofire/Alamofire.framework", "${BUILT_PRODUCTS_DIR}/Appirater/Appirater.framework", @@ -2778,32 +1950,44 @@ "${BUILT_PRODUCTS_DIR}/BButton/BButton.framework", "${BUILT_PRODUCTS_DIR}/CPAProxy/CPAProxy.framework", "${BUILT_PRODUCTS_DIR}/ChatSecure-Push-iOS/ChatSecure_Push_iOS.framework", + "${BUILT_PRODUCTS_DIR}/ChatSecureCore/ChatSecureCore.framework", "${BUILT_PRODUCTS_DIR}/CocoaAsyncSocket/CocoaAsyncSocket.framework", "${BUILT_PRODUCTS_DIR}/CocoaLumberjack/CocoaLumberjack.framework", "${BUILT_PRODUCTS_DIR}/DTFoundation/DTFoundation.framework", + "${BUILT_PRODUCTS_DIR}/FormatterKit/FormatterKit.framework", "${BUILT_PRODUCTS_DIR}/GCDWebServer/GCDWebServer.framework", + "${BUILT_PRODUCTS_DIR}/HTMLReader/HTMLReader.framework", "${BUILT_PRODUCTS_DIR}/HockeySDK-Source/HockeySDK_Source.framework", "${BUILT_PRODUCTS_DIR}/IOCipher/IOCipher.framework", "${BUILT_PRODUCTS_DIR}/JSQMessagesViewController/JSQMessagesViewController.framework", "${BUILT_PRODUCTS_DIR}/JTSImageViewController/JTSImageViewController.framework", + "${BUILT_PRODUCTS_DIR}/KVOController/KVOController.framework", "${BUILT_PRODUCTS_DIR}/KissXML/KissXML.framework", "${BUILT_PRODUCTS_DIR}/Kvitto/Kvitto.framework", "${BUILT_PRODUCTS_DIR}/LumberjackConsole/LumberjackConsole.framework", + "${BUILT_PRODUCTS_DIR}/MBProgressHUD/MBProgressHUD.framework", "${BUILT_PRODUCTS_DIR}/MWFeedParser/MWFeedParser.framework", + "${BUILT_PRODUCTS_DIR}/Mantle/Mantle.framework", "${BUILT_PRODUCTS_DIR}/NBUCore/NBUCore.framework", "${BUILT_PRODUCTS_DIR}/Navajo/Navajo.framework", + "${BUILT_PRODUCTS_DIR}/OTRAssets/OTRAssets.framework", "${BUILT_PRODUCTS_DIR}/OTRKit/OTRKit.framework", "${BUILT_PRODUCTS_DIR}/OpenInChrome/OpenInChrome.framework", "${BUILT_PRODUCTS_DIR}/ParkedTextField/ParkedTextField.framework", "${BUILT_PRODUCTS_DIR}/ProxyKit/ProxyKit.framework", + "${BUILT_PRODUCTS_DIR}/PureLayout/PureLayout.framework", "${BUILT_PRODUCTS_DIR}/QRCodeReaderViewController/QRCodeReaderViewController.framework", + "${BUILT_PRODUCTS_DIR}/SAMKeychain/SAMKeychain.framework", "${BUILT_PRODUCTS_DIR}/SQLCipher/SQLCipher.framework", "${BUILT_PRODUCTS_DIR}/SignalProtocolC/SignalProtocolC.framework", "${BUILT_PRODUCTS_DIR}/SignalProtocolObjC/SignalProtocolObjC.framework", + "${BUILT_PRODUCTS_DIR}/TTTAttributedLabel/TTTAttributedLabel.framework", "${BUILT_PRODUCTS_DIR}/TUSafariActivity/TUSafariActivity.framework", + "${BUILT_PRODUCTS_DIR}/XLForm/XLForm.framework", "${BUILT_PRODUCTS_DIR}/XMPPFramework/XMPPFramework.framework", "${BUILT_PRODUCTS_DIR}/YapDatabase/YapDatabase.framework", "${BUILT_PRODUCTS_DIR}/YapTaskQueue/YapTaskQueue.framework", + "${BUILT_PRODUCTS_DIR}/ZXingObjC/ZXingObjC.framework", "${BUILT_PRODUCTS_DIR}/gtm-http-fetcher/gtm_http_fetcher.framework", "${BUILT_PRODUCTS_DIR}/gtm-oauth2/gtm_oauth2.framework", "${BUILT_PRODUCTS_DIR}/libidn/libidn.framework", @@ -2811,6 +1995,7 @@ ); name = "[CP] Embed Pods Frameworks"; outputPaths = ( + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/AFNetworking.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/ARChromeActivity.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Alamofire.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Appirater.framework", @@ -2818,32 +2003,44 @@ "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/BButton.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/CPAProxy.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/ChatSecure_Push_iOS.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/ChatSecureCore.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/CocoaAsyncSocket.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/CocoaLumberjack.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/DTFoundation.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/FormatterKit.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/GCDWebServer.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/HTMLReader.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/HockeySDK_Source.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/IOCipher.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/JSQMessagesViewController.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/JTSImageViewController.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/KVOController.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/KissXML.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Kvitto.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/LumberjackConsole.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/MBProgressHUD.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/MWFeedParser.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Mantle.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/NBUCore.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Navajo.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/OTRAssets.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/OTRKit.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/OpenInChrome.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/ParkedTextField.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/ProxyKit.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/PureLayout.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/QRCodeReaderViewController.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/SAMKeychain.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/SQLCipher.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/SignalProtocolC.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/SignalProtocolObjC.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/TTTAttributedLabel.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/TUSafariActivity.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/XLForm.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/XMPPFramework.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/YapDatabase.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/YapTaskQueue.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/ZXingObjC.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/gtm_http_fetcher.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/gtm_oauth2.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/libidn.framework", @@ -2872,24 +2069,6 @@ shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; - A6D5997FD889EEEABB9C430A /* [CP] Check Pods Manifest.lock */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", - ); - name = "[CP] Check Pods Manifest.lock"; - outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-ChatSecureCorePods-ChatSecureCore-checkManifestLockResult.txt", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; - showEnvVarsInLog = 0; - }; D92F96D821BA1E7A0056EA35 /* LicensePlist */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; @@ -2908,20 +2087,6 @@ shellPath = /bin/sh; shellScript = "if [ $CONFIGURATION = \"Debug\" ]; then\n${PODS_ROOT}/LicensePlist/license-plist --output-path $PRODUCT_NAME/Settings.bundle --add-version-numbers --suppress-opening-directory || true\nfi\n"; }; - D97B6BA21E4A869C005C7B11 /* Update OTRStrings from strings.json */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - ); - name = "Update OTRStrings from strings.json"; - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "python \"${SRCROOT}/OTRAssets/Strings/StringsConverter.py\""; - }; D9BE0B531EFAFED800BDF8D8 /* [Carthage] Copy Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; @@ -2953,17 +2118,6 @@ files = ( ); inputPaths = ( - "$(SRCROOT)/Carthage/Build/iOS/AFNetworking.framework", - "$(SRCROOT)/Carthage/Build/iOS/FormatterKit.framework", - "$(SRCROOT)/Carthage/Build/iOS/HTMLReader.framework", - "$(SRCROOT)/Carthage/Build/iOS/KVOController.framework", - "$(SRCROOT)/Carthage/Build/iOS/Mantle.framework", - "$(SRCROOT)/Carthage/Build/iOS/MBProgressHUD.framework", - "$(SRCROOT)/Carthage/Build/iOS/PureLayout.framework", - "$(SRCROOT)/Carthage/Build/iOS/SAMKeychain.framework", - "$(SRCROOT)/Carthage/Build/iOS/TTTAttributedLabel.framework", - "$(SRCROOT)/Carthage/Build/iOS/XLForm.framework", - "$(SRCROOT)/Carthage/Build/iOS/ZXingObjC.framework", ); name = "[Carthage] Copy Frameworks"; outputPaths = ( @@ -3015,254 +2169,6 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - D9227C251BA7952100B5E1D0 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 9265091A1F4CB45B003FCAD3 /* OTRVerticalStackView.swift in Sources */, - 9236F56B1F21FFA600C963D0 /* OTRGroupAvatarGenerator.swift in Sources */, - 63D65D2A1DD68A2D00D9E52E /* OTRMessageEncryptionInfo.m in Sources */, - 63D65D291DD689B500D9E52E /* OTRIncomingMessage.m in Sources */, - D9FF60242040B0E5003207DC /* DefaultTheme.swift in Sources */, - D98C850B203D133800F8DA6B /* OMEMODevice.swift in Sources */, - D93DDB291BA79A5400CD8331 /* OTRWelcomeViewController.swift in Sources */, - D93DDB2A1BA79A5400CD8331 /* OTRUsernameCell.swift in Sources */, - D93DDA781BA79A2400CD8331 /* OTRAppDelegate.m in Sources */, - D935EF0C1CFFA19A005A1AC8 /* OTRBuddyApprovalCell.m in Sources */, - 924F67C71EA55C6F00528FB6 /* MigrationInfoHeaderView.swift in Sources */, - D93DDA791BA79A2400CD8331 /* NSURL+ChatSecure.m in Sources */, - 634E68BD1BAB887200DC6B25 /* PushController.swift in Sources */, - 924F68571EA7A2FD00528FB6 /* MigratedBuddyHeaderView.swift in Sources */, - 926142002006566400E8216F /* OTRMessageNewDeviceCell.swift in Sources */, - D997E3F51EAECD1400BF72EF /* UITableView+ChatSecure.m in Sources */, - D90E711C1E6CB4360008D83B /* AccountDetailViewController.swift in Sources */, - D93DDA7B1BA79A2400CD8331 /* UIActivity+ChatSecure.m in Sources */, - D93DDA7C1BA79A2400CD8331 /* UIActivityViewController+ChatSecure.m in Sources */, - D9BD54151E567A20007077FB /* UIViewController+ChatSecure.swift in Sources */, - 639C352B1C3DDDDE00132330 /* OTRXMPPBuddyManager.m in Sources */, - D93DDA7D1BA79A2400CD8331 /* UIImage+ChatSecure.m in Sources */, - D93DDA7E1BA79A2400CD8331 /* UIViewController+ChatSecure.m in Sources */, - 6358FDE01CDC097A00C9D3B6 /* OTRXMPPMessageStatusModule.swift in Sources */, - D93DDA7F1BA79A2400CD8331 /* JSQMessagesCollectionViewCell+ChatSecure.m in Sources */, - D94D5A0F1F98132300AC23BF /* XMPPMessage+ChatSecure.swift in Sources */, - D93DDA801BA79A2400CD8331 /* NSString+ChatSecure.m in Sources */, - D93DDA811BA79A2400CD8331 /* NSFileManager+ChatSecure.m in Sources */, - D93DDA821BA79A2400CD8331 /* OTRAttachmentPicker.m in Sources */, - D93DDA831BA79A2400CD8331 /* OTRAccountsManager.m in Sources */, - D93DDA841BA79A2400CD8331 /* OTRDatabaseManager.m in Sources */, - D93DDA851BA79A2400CD8331 /* OTRDatabaseView.m in Sources */, - D93DDA861BA79A2400CD8331 /* OTREncryptionManager.m in Sources */, - D93DDA881BA79A2400CD8331 /* OTROAuthRefresher.m in Sources */, - 6340431B1BD5BCD800ECA95A /* OTRXMPPRoomMessage.swift in Sources */, - 9212364E1FCD779D009F97F0 /* OTRMessageUnknownSenderCell.swift in Sources */, - D93DDA891BA79A2400CD8331 /* OTRProtocolManager.m in Sources */, - 63DC417B1BB3767100D42857 /* Errors.swift in Sources */, - D93DDA8A1BA79A2400CD8331 /* OTRSettingsManager.m in Sources */, - D93DDA8B1BA79A2400CD8331 /* OTRTorManager.m in Sources */, - 63E353B81BB9D83B005C54C3 /* OTRPushTLVHandler.m in Sources */, - D93DDA8D1BA79A2400CD8331 /* OTRAudioSessionManager.m in Sources */, - D93DDA8E1BA79A2400CD8331 /* OTRAudioPlaybackController.m in Sources */, - D93DDA8F1BA79A2400CD8331 /* OTRMediaFileManager.m in Sources */, - D93DDA901BA79A2400CD8331 /* OTRMediaServer.m in Sources */, - 6380456A1BB4C833002D8BAE /* PushDeserializer.swift in Sources */, - D9229D551EA960CF003D0D09 /* OTRAccountMigrationViewController.m in Sources */, - D98BA36E1EDE47F3004475B6 /* HTMLPreviewView.swift in Sources */, - D943AA421E6A0BA3007F3564 /* XMPPAccountCell.swift in Sources */, - D93DDA911BA79A2400CD8331 /* OTRStreamManagementYapStorage.m in Sources */, - D93DDA941BA79A2400CD8331 /* OTRXMPPBuddyTimers.m in Sources */, - D9AE3A331BA8D9AB00255537 /* OTRConstants.m in Sources */, - D926C19B20FBDD9E0053C538 /* Compatibility.swift in Sources */, - 63363FAE1CCAE29B00B0C720 /* OTRYapExtensions.swift in Sources */, - D93DDA971BA79A2400CD8331 /* OTRXMPPTorManager.m in Sources */, - D93DDA991BA79A2400CD8331 /* OTRXMPPServerInfo.m in Sources */, - 638045681BB4BDED002D8BAE /* PushSerializer.swift in Sources */, - 6369855B1BC875110083FC53 /* OTRXMPPRoomManager.m in Sources */, - 63636D6E1C1F78A6009F5FCD /* UINavigationController+ChatSecure.swift in Sources */, - D9F5EC4A2016E94800010966 /* OTRProtocolManager.swift in Sources */, - 634364231CC192F1009E169F /* YapDatabaseConstants.swift in Sources */, - 63929C961C7D32D9008DB2E3 /* MessagesViewControllerState.swift in Sources */, - 634E68BE1BAB891C00DC6B25 /* PushContainers.swift in Sources */, - D93DDABA1BA79A2500CD8331 /* OTRActivityItemProvider.m in Sources */, - D93DDABB1BA79A2500CD8331 /* OTRDomainCellInfo.m in Sources */, - 6325DD601E20390700C88944 /* OTRLogListViewController.swift in Sources */, - D93DDABC1BA79A2500CD8331 /* OTROpenInFacebookActivity.m in Sources */, - D9B9B1331DC7F3AC0007F5A7 /* UserInfoProfileCell.swift in Sources */, - D97070A71EEF3909004FEBDE /* MediaDownloadView.swift in Sources */, - D9AC941A1FCD0DE50051B457 /* XMPPManager.swift in Sources */, - D93DDABD1BA79A2500CD8331 /* OTROpenInTwitterActivity.m in Sources */, - 63BAB26D1C863C60005185F3 /* PushMessage.swift in Sources */, - D93DDABE1BA79A2500CD8331 /* OTRQRCodeActivity.m in Sources */, - 63232AC71E37F13C00D84CDF /* OTRAccountDatabaseCount.swift in Sources */, - 63D639E21D12124F002B4175 /* OTRStreamManagementDelegate.swift in Sources */, - D93DDABF1BA79A2500CD8331 /* OTRToastOptions.m in Sources */, - D93DDAC01BA79A2600CD8331 /* OTRBoolSetting.m in Sources */, - D97175541E60D59300675DDE /* YapDatabaseViewConnection+ChatSecure.m in Sources */, - D93DDAC11BA79A2600CD8331 /* OTRCertificateSetting.m in Sources */, - D985BC771EBD307D00993D27 /* PurchaseViewController.swift in Sources */, - D93DDAC21BA79A2600CD8331 /* OTRDonateSetting.m in Sources */, - D9CBBC581C642BAA005CD715 /* EnablePushViewController.swift in Sources */, - D93DDAC31BA79A2600CD8331 /* OTRDoubleSetting.m in Sources */, - D93DDAC41BA79A2600CD8331 /* OTRFeedbackSetting.m in Sources */, - 63D150FE1D8B5637006FB2E2 /* OTROMEMOStorageManager.swift in Sources */, - D93DDAC61BA79A2600CD8331 /* OTRIntSetting.m in Sources */, - D9315CB01BB604FA0077D2EE /* AddFriendsView.swift in Sources */, - D93DDAC71BA79A2600CD8331 /* OTRLanguageSetting.m in Sources */, - D93DDAC81BA79A2600CD8331 /* OTRListSetting.m in Sources */, - 63AB1A071C0D116A005FA351 /* OTRSplitViewCoordinator.swift in Sources */, - D93DDAC91BA79A2600CD8331 /* OTRListSettingValue.m in Sources */, - 6381F3601DFB7AD800563057 /* OTRXMPPChangePasswordManager.swift in Sources */, - D93DDACA1BA79A2600CD8331 /* OTRSetting.m in Sources */, - D947C2FB1FB251410037DE84 /* SecondaryIndexes.swift in Sources */, - D93DDACB1BA79A2600CD8331 /* OTRSettingsGroup.m in Sources */, - D93DDACC1BA79A2600CD8331 /* OTRShareSetting.m in Sources */, - D93DDACD1BA79A2600CD8331 /* OTRValueSetting.m in Sources */, - D93DDACE1BA79A2600CD8331 /* OTRViewSetting.m in Sources */, - D93DDACF1BA79A2600CD8331 /* OTRFacebookOAuthXMPPAccount.m in Sources */, - D93DDAD01BA79A2600CD8331 /* OTRAccount.m in Sources */, - D93DDAD11BA79A2600CD8331 /* OTRGoogleOAuthXMPPAccount.m in Sources */, - 632AA7331D4819E000F65733 /* OTRSignalSignedPreKey.m in Sources */, - D93DDAD21BA79A2600CD8331 /* OTROAuthXMPPAccount.m in Sources */, - D93DDAD31BA79A2600CD8331 /* OTRXMPPAccount.m in Sources */, - 63CBD6901C642B9E00AC6D1F /* BuddyActions.swift in Sources */, - D9ABD72C1ED7886100219A9C /* OTRTextItem.m in Sources */, - 92CC68F11F42FF8D0006CDF8 /* OTRComposeGroupBuddyCell.swift in Sources */, - 929FCF6B2010AA4D004736AF /* BuddySubscriptions.swift in Sources */, - D93DDAD41BA79A2600CD8331 /* OTRXMPPTorAccount.m in Sources */, - D93DDAD51BA79A2700CD8331 /* OTRMediaItem.m in Sources */, - D93DDAD61BA79A2700CD8331 /* OTRImageItem.m in Sources */, - D93DDAD71BA79A2700CD8331 /* OTRVideoItem.m in Sources */, - D93DDAD81BA79A2700CD8331 /* OTRAudioItem.m in Sources */, - D9315CB21BB606890077D2EE /* ShareController.swift in Sources */, - D93DDAD91BA79A2700CD8331 /* OTRStreamManagementStorageObject.m in Sources */, - 632AA7371D481A6300F65733 /* OTRSignalObject.m in Sources */, - 63FCB1371DA3224A00A801F2 /* OTRSignalEncryptionHelper.swift in Sources */, - D9A429D01F31169F00BD2545 /* UIAlertController+ChatSecure.swift in Sources */, - D93DDADA1BA79A2700CD8331 /* OTRBuddy.m in Sources */, - D9A2C4DC204B1D2900C5DF8B /* VCardStorage.swift in Sources */, - D98B8E331E4CF90400A713E1 /* OTRServerCapabilities.m in Sources */, - 63C0C4451BE184910086B529 /* OTRRoomOccupantsViewController.swift in Sources */, - 92BE6C7E2010E34000A79C8B /* OTRXMPPPresenceSubscriptionRequest.m in Sources */, - D98B8E351E4D3DB600A713E1 /* ServerCapabilitiesViewController.swift in Sources */, - D9A775701E43F8A200027864 /* ProxyXMPPStream.m in Sources */, - D93DDADB1BA79A2700CD8331 /* OTRMessage+JSQMessageData.m in Sources */, - D93DDADC1BA79A2700CD8331 /* OTRBaseMessage.m in Sources */, - D93DDADD1BA79A2700CD8331 /* OTRXMPPBuddy.m in Sources */, - 632AA72B1D480BFF00F65733 /* OTRSignalSenderKey.m in Sources */, - 632AA72F1D4819BD00F65733 /* OTRSignalPreKey.m in Sources */, - D9FBDDC91FD74A93006F1C6C /* OTRAppDelegate.swift in Sources */, - 92BE6C852014DBB400A79C8B /* RosterStorage.swift in Sources */, - D93DDADF1BA79A2700CD8331 /* OTRYapDatabaseObject.m in Sources */, - D94ACBA51DFA206500B8C0F5 /* OTRBuddyCache.m in Sources */, - D93DDAE01BA79A2700CD8331 /* OTRCertificatePinning.m in Sources */, - 63564E101BBB1C5200EB4CA6 /* PushStorage.swift in Sources */, - D93DDAE11BA79A2700CD8331 /* OTRChatDemo.m in Sources */, - D93DDAE21BA79A2700CD8331 /* OTRColors.m in Sources */, - 9224A5F1207E3B6700A044BF /* JoinRoomView.swift in Sources */, - D93DDAE41BA79A2700CD8331 /* OTRImages.m in Sources */, - D93DDAE61BA79A2700CD8331 /* OTRPasswordGenerator.m in Sources */, - 637ABBCA1DD5312200B18DD2 /* OTROutgoingMessage.m in Sources */, - 929D6F1C1EC4EC9C00802941 /* OTRXMPPAccount+Migration.swift in Sources */, - D9BC71DF1E53B465007A3C4F /* TwoButtonTableViewCell.swift in Sources */, - 63D65D2E1DD68A8D00D9E52E /* OTRMessage.m in Sources */, - D93DDAE81BA79A2800CD8331 /* OTRUtilities.m in Sources */, - D93DDAE91BA79A2800CD8331 /* OTRXMPPError.m in Sources */, - D93DDAEB1BA79A2800CD8331 /* OTRExistingAccountViewController.m in Sources */, - 63E413AA1CDA9E2400B17303 /* MessageQueueHandler.swift in Sources */, - 6340431D1BD5BD0400ECA95A /* OTRXMPPRoomOccupant.swift in Sources */, - D93718501EC1402B00766D49 /* MaybeLaterViewController.swift in Sources */, - D93DDAEC1BA79A2800CD8331 /* OTRWelcomeAccountTableViewDelegate.m in Sources */, - D936D6C91E8B0F6C003B1343 /* FileTransferManager.swift in Sources */, - D93DDAED1BA79A2800CD8331 /* OTRInviteViewController.m in Sources */, - D93DDAEE1BA79A2800CD8331 /* OTRAddBuddyQRCodeViewController.m in Sources */, - D93DDAEF1BA79A2800CD8331 /* OTRQRCodeReaderDelegate.m in Sources */, - D93DDAF01BA79A2800CD8331 /* OTRBaseLoginViewController.m in Sources */, - 634905B01BD05E3900347FE2 /* OTRYapViewHandler.swift in Sources */, - 92ED91D620441B92002011FB /* OTRMessagesViewController+SupplementaryViews.swift in Sources */, - D93DDAF11BA79A2800CD8331 /* OTRXLFormCreator.m in Sources */, - D93DDAF21BA79A2800CD8331 /* OTRXMPPServerListViewController.m in Sources */, - D93DDAF31BA79A2800CD8331 /* OTRXMPPLoginHandler.m in Sources */, - D93DDAF51BA79A2800CD8331 /* OTRGoolgeOAuthLoginHandler.m in Sources */, - D92AC2091DB023D8007BD3E7 /* KeyManagementViewController.swift in Sources */, - 6326D9B01DC3D0F100D72403 /* OTRYapMessageSendAction.m in Sources */, - D91F9EFC1ED6301500AEA62C /* OTRDownloadMessage.m in Sources */, - D93DDAF71BA79A2900CD8331 /* OTRXMPPCreateAccountHandler.m in Sources */, - D917CCDE1E553007003636B7 /* ServerCheck.swift in Sources */, - D93DDAF81BA79A2900CD8331 /* OTRLoginHandler.m in Sources */, - D91C866B1E4E7EEA008BD763 /* ServerCapabilityTableViewCell.swift in Sources */, - D9A2C4DD204B2D5B00C5DF8B /* OTRXMPPManager.m in Sources */, - D9F3B1AF1FD48DDA00DFC5DA /* Account.swift in Sources */, - 631C79931E56846700B30CB4 /* NSData+ChatSecure.swift in Sources */, - D97097A21FC4DB3D008ED04B /* MessageStorage.swift in Sources */, - D93DDAFC1BA79A2900CD8331 /* OTRCertificateDomainViewController.m in Sources */, - D93DDAFD1BA79A2900CD8331 /* OTRCertificatesViewController.m in Sources */, - D91E641A1DB156E90074B2D4 /* OMEMODeviceFingerprintCell.swift in Sources */, - D93DDAFF1BA79A2900CD8331 /* OTRChooseAccountViewController.m in Sources */, - D91C86681E4E6DEE008BD763 /* ServerCapabilityInfo.swift in Sources */, - D93DDB001BA79A2900CD8331 /* OTRComposeViewController.m in Sources */, - D9B79B961ECF951F00883963 /* OTRFileItem.m in Sources */, - D93DDB011BA79A2900CD8331 /* OTRConversationViewController.m in Sources */, - D93DDB021BA79A2900CD8331 /* OTRDatabaseUnlockViewController.m in Sources */, - D9A1E6551F7309C100E42118 /* OTRDownloadMessage.swift in Sources */, - 924F68611EA8A00D00528FB6 /* OTRServerDeprecation.swift in Sources */, - D93DDB031BA79A2A00CD8331 /* OTRDoubleSettingViewController.m in Sources */, - D93DDB051BA79A2A00CD8331 /* OTRIntSettingViewController.m in Sources */, - D967CA8A1E516A95005FBB49 /* PushAccountTableViewCell.swift in Sources */, - D93DDB061BA79A2A00CD8331 /* OTRLanguageListSettingViewController.m in Sources */, - D93DDB071BA79A2A00CD8331 /* OTRListSettingViewController.m in Sources */, - D93DDB081BA79A2A00CD8331 /* OTRMessagesViewController.m in Sources */, - 63BA43DC1D41826F007FAF7F /* OTRSignalStorageManager.swift in Sources */, - 63828AA01D53F54F00B81249 /* OTROMEMOSignalCoordinator.swift in Sources */, - 633E88CE1D94751B00AD6FBE /* OTRAccountSignalEncryptionManager.swift in Sources */, - 63D150FC1D8A0C9C006FB2E2 /* OMEMODevice.m in Sources */, - D93DDB091BA79A2A00CD8331 /* OTRMessagesHoldTalkViewController.m in Sources */, - D93DDB0A1BA79A2A00CD8331 /* OTRNewBuddyViewController.m in Sources */, - D93DDB0B1BA79A2A00CD8331 /* OTRQRCodeViewController.m in Sources */, - D93DDB0C1BA79A2A00CD8331 /* OTRSettingDetailViewController.m in Sources */, - D93DDB0D1BA79A2A00CD8331 /* OTRSettingsViewController.m in Sources */, - 63BA43E01D418F14007FAF7F /* OTRAccountSignalIdentity.m in Sources */, - D93DDB0F1BA79A2B00CD8331 /* OTRCircleView.m in Sources */, - 63BB66B41BC5D5F00004A619 /* OTRXMPPRoom.swift in Sources */, - 63FA130C1C8A4EB700AE33EF /* OTRMessagesCollectionViewFlowLayout.swift in Sources */, - D93DDB101BA79A2B00CD8331 /* OTRCircleButtonView.m in Sources */, - D93DDB111BA79A2B00CD8331 /* XMPPServerInfoCell.m in Sources */, - 632AA73B1D482A1A00F65733 /* OTRSignalSession.m in Sources */, - D93DDB121BA79A2B00CD8331 /* OTRAccountTableViewCell.m in Sources */, - D93DDB131BA79A2B00CD8331 /* OTRBuddyImageCell.m in Sources */, - D93DDB141BA79A2B00CD8331 /* OTRBuddyInfoCell.m in Sources */, - D93DDB151BA79A2B00CD8331 /* OTRConversationCell.m in Sources */, - D93DDB161BA79A2B00CD8331 /* OTRInLineTextEditTableViewCell.m in Sources */, - 9224A5EF207E39CF00A044BF /* OTRMessagesViewController+RoomOperations.swift in Sources */, - 63636D721C1F9D7C009F5FCD /* UIApplication+ChatSecure.swift in Sources */, - D93DDB171BA79A2B00CD8331 /* OTRSettingTableViewCell.m in Sources */, - D9F8C3C21FBFD2CA00D4B857 /* RoomManager.swift in Sources */, - D93DDB181BA79A2C00CD8331 /* OTRStatusMessageCell.m in Sources */, - D93DDB1A1BA79A2C00CD8331 /* OTRButtonView.m in Sources */, - D93DDB1B1BA79A2C00CD8331 /* OTRAudioControlsView.m in Sources */, - D93DDB1C1BA79A2C00CD8331 /* OTRPlayPauseProgressView.m in Sources */, - D93DDB1D1BA79A2C00CD8331 /* OTRPlayView.m in Sources */, - 63C0C4431BE010B00086B529 /* YapDatabaseTransaction+ChatSecure.swift in Sources */, - D93DDB1E1BA79A2C00CD8331 /* OTRPauseView.m in Sources */, - D945D6FD1FDA08DD00C7502C /* RoomStorage.swift in Sources */, - D93DDB1F1BA79A2C00CD8331 /* OTRColorFadingDotView.m in Sources */, - D93DDB201BA79A2C00CD8331 /* OTRComposingImageView.m in Sources */, - D93DDB211BA79A2C00CD8331 /* OTRLockButton.m in Sources */, - D93DDB221BA79A2C00CD8331 /* OTRPasswordStrengthView.m in Sources */, - D9B7C5CE1EC3C9ED008D99E6 /* OTRAccountMigrator.m in Sources */, - D93DDB231BA79A2D00CD8331 /* OTRRememberPasswordView.m in Sources */, - D93DDB241BA79A2D00CD8331 /* OTRSocialButtonsView.m in Sources */, - 6370CCB91CF65A07005DA8D2 /* YapDatabase+ChatSecure.swift in Sources */, - D93DDB251BA79A2D00CD8331 /* OTRTitleSubtitleView.m in Sources */, - D9BC71DA1E53B2BF007A3C4F /* SingleButtonTableViewCell.swift in Sources */, - D9ABD71F1ED787EE00219A9C /* OTRHTMLItem.m in Sources */, - 92CC68C11F42F11E0006CDF8 /* OTRComposeGroupViewController.swift in Sources */, - D93DDB261BA79A2D00CD8331 /* OTRHoldToTalkView.m in Sources */, - D93DDB271BA79A2D00CD8331 /* OTRAudioTrashView.m in Sources */, - 92DC0F761F442DBA00318E49 /* OTRBuddyInfoCheckableCell.swift in Sources */, - 632BF0401E3817A400C2D0C2 /* OTRXMPPChangeAvatar.swift in Sources */, - D93DDB281BA79A2D00CD8331 /* OTRTouchAndHoldGestureRecognizer.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; D93027521BAA381F000CC975 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; @@ -3270,26 +2176,9 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - D9AE3A091BA8CBFA00255537 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - D927C9771EF0C5AF00B72026 /* UIView+OTRAssets.swift in Sources */, - D9AE3A311BA8D84500255537 /* OTRBranding.m in Sources */, - D9AE3A1B1BA8CC8600255537 /* OTRSecrets.m in Sources */, - D9599BBC1E28578D006A4450 /* OTRStrings.m in Sources */, - D9E8277E1E28222D0071F40D /* OTRLanguageManager.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; /* End PBXSourcesBuildPhase section */ /* Begin PBXTargetDependency section */ - 631E1E9E1C583B6200E263CD /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = D9227C291BA7952100B5E1D0 /* ChatSecureCore */; - targetProxy = 631E1E9D1C583B6200E263CD /* PBXContainerItemProxy */; - }; 6365CF021E2453F6009E213F /* PBXTargetDependency */ = { isa = PBXTargetDependency; target = 6396AF991A169D54009F3E6C /* ChatSecure */; @@ -3300,21 +2189,11 @@ target = 6396AF991A169D54009F3E6C /* ChatSecure */; targetProxy = 6396AFB41A169D54009F3E6C /* PBXContainerItemProxy */; }; - D9227C3E1BA7952100B5E1D0 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = D9227C291BA7952100B5E1D0 /* ChatSecureCore */; - targetProxy = D9227C3D1BA7952100B5E1D0 /* PBXContainerItemProxy */; - }; D99F17901BAB9CD400604558 /* PBXTargetDependency */ = { isa = PBXTargetDependency; target = D93027551BAA381F000CC975 /* OTRResources */; targetProxy = D99F178F1BAB9CD400604558 /* PBXContainerItemProxy */; }; - D9AE3A1F1BA8CCFA00255537 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = D9AE3A0D1BA8CBFA00255537 /* OTRAssets */; - targetProxy = D9AE3A1E1BA8CCFA00255537 /* PBXContainerItemProxy */; - }; /* End PBXTargetDependency section */ /* Begin PBXVariantGroup section */ @@ -3634,68 +2513,6 @@ }; name = Release; }; - D9227C411BA7952100B5E1D0 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = C4E2DF261B1D18F006F8B3A6 /* Pods-ChatSecureCorePods-ChatSecureCore.debug.xcconfig */; - buildSettings = { - CLANG_ALLOW_NON_MODULAR_INCLUDES_IN_FRAMEWORK_MODULES = YES; - CODE_SIGN_IDENTITY = "iPhone Developer"; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - CURRENT_PROJECT_VERSION = 1; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/Carthage/Build/iOS", - ); - GCC_NO_COMMON_BLOCKS = YES; - INFOPLIST_FILE = ChatSecureCore/Info.plist; - INSTALL_PATH = ../; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = org.chatsecure.ChatSecureCore; - PRODUCT_NAME = "$(TARGET_NAME)"; - PROVISIONING_PROFILE = ""; - SKIP_INSTALL = YES; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Debug; - }; - D9227C421BA7952100B5E1D0 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 9118152C0A7B287ABD07FF70 /* Pods-ChatSecureCorePods-ChatSecureCore.release.xcconfig */; - buildSettings = { - CLANG_ALLOW_NON_MODULAR_INCLUDES_IN_FRAMEWORK_MODULES = YES; - CODE_SIGN_IDENTITY = "iPhone Developer"; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - COPY_PHASE_STRIP = NO; - CURRENT_PROJECT_VERSION = 1; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/Carthage/Build/iOS", - ); - GCC_NO_COMMON_BLOCKS = YES; - INFOPLIST_FILE = ChatSecureCore/Info.plist; - INSTALL_PATH = ../; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = org.chatsecure.ChatSecureCore; - PRODUCT_NAME = "$(TARGET_NAME)"; - PROVISIONING_PROFILE = ""; - SKIP_INSTALL = YES; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Release; - }; D93027591BAA381F000CC975 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { @@ -3733,60 +2550,6 @@ }; name = Release; }; - D9AE3A181BA8CBFA00255537 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - CLANG_ENABLE_MODULES = YES; - CODE_SIGN_IDENTITY = "iPhone Developer"; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - CURRENT_PROJECT_VERSION = 1; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_NO_COMMON_BLOCKS = YES; - INFOPLIST_FILE = OTRAssets/Info.plist; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - OTHER_LDFLAGS = ""; - PRODUCT_BUNDLE_IDENTIFIER = org.chatsecure.OTRAssets; - PRODUCT_NAME = "$(TARGET_NAME)"; - PROVISIONING_PROFILE = ""; - SKIP_INSTALL = YES; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Debug; - }; - D9AE3A191BA8CBFA00255537 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - CLANG_ENABLE_MODULES = YES; - CODE_SIGN_IDENTITY = "iPhone Developer"; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - COPY_PHASE_STRIP = NO; - CURRENT_PROJECT_VERSION = 1; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_NO_COMMON_BLOCKS = YES; - INFOPLIST_FILE = OTRAssets/Info.plist; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - OTHER_LDFLAGS = ""; - PRODUCT_BUNDLE_IDENTIFIER = org.chatsecure.OTRAssets; - PRODUCT_NAME = "$(TARGET_NAME)"; - PROVISIONING_PROFILE = ""; - SKIP_INSTALL = YES; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Release; - }; /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ @@ -3826,15 +2589,6 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - D9227C471BA7952100B5E1D0 /* Build configuration list for PBXNativeTarget "ChatSecureCore" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - D9227C411BA7952100B5E1D0 /* Debug */, - D9227C421BA7952100B5E1D0 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; D930275C1BAA381F000CC975 /* Build configuration list for PBXNativeTarget "OTRResources" */ = { isa = XCConfigurationList; buildConfigurations = ( @@ -3844,15 +2598,6 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - D9AE3A171BA8CBFA00255537 /* Build configuration list for PBXNativeTarget "OTRAssets" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - D9AE3A181BA8CBFA00255537 /* Debug */, - D9AE3A191BA8CBFA00255537 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; /* End XCConfigurationList section */ }; rootObject = 6396AF921A169D54009F3E6C /* Project object */; diff --git a/ChatSecure/Classes/Categories/UITableView+ChatSecure.m b/ChatSecure/Classes/Categories/UITableView+ChatSecure.m index aa915c090..4d5097084 100644 --- a/ChatSecure/Classes/Categories/UITableView+ChatSecure.m +++ b/ChatSecure/Classes/Categories/UITableView+ChatSecure.m @@ -8,7 +8,7 @@ #import "UITableView+ChatSecure.h" #import "OTRXMPPBuddy.h" -#import +#import "ChatSecureCoreCompat-Swift.h" #import "OTRXMPPManager_Private.h" @import OTRAssets; diff --git a/ChatSecure/Classes/Controllers/OTRDatabaseManager.m b/ChatSecure/Classes/Controllers/OTRDatabaseManager.m index 5a1c0bc4a..30778ed44 100644 --- a/ChatSecure/Classes/Controllers/OTRDatabaseManager.m +++ b/ChatSecure/Classes/Controllers/OTRDatabaseManager.m @@ -15,7 +15,6 @@ #import "OTRConstants.h" #import "OTRXMPPAccount.h" #import "OTRXMPPTorAccount.h" -#import "OTRGoogleOAuthXMPPAccount.h" #import "OTRAccount.h" #import "OTRIncomingMessage.h" #import "OTROutgoingMessage.h" @@ -29,7 +28,7 @@ #import "OTRSignalSession.h" #import "OTRSettingsManager.h" #import "OTRXMPPPresenceSubscriptionRequest.h" -#import +#import "ChatSecureCoreCompat-Swift.h" @interface OTRDatabaseManager () diff --git a/ChatSecure/Classes/Controllers/OTRDatabaseView.m b/ChatSecure/Classes/Controllers/OTRDatabaseView.m index a61d1b4cc..de5a264ff 100644 --- a/ChatSecure/Classes/Controllers/OTRDatabaseView.m +++ b/ChatSecure/Classes/Controllers/OTRDatabaseView.m @@ -14,7 +14,7 @@ #import "OTRIncomingMessage.h" #import "OTRLog.h" #import "OTROutgoingMessage.h" -#import +#import "ChatSecureCoreCompat-Swift.h" NSString *OTRArchiveFilteredConversationsName = @"OTRFilteredConversationsName"; NSString *OTRBuddyFilteredConversationsName = @"OTRBuddyFilteredConversationsName"; diff --git a/ChatSecure/Classes/Controllers/OTREncryptionManager.m b/ChatSecure/Classes/Controllers/OTREncryptionManager.m index c3ec2ade5..a5814e1b8 100644 --- a/ChatSecure/Classes/Controllers/OTREncryptionManager.m +++ b/ChatSecure/Classes/Controllers/OTREncryptionManager.m @@ -41,7 +41,7 @@ #import "OTRLog.h" #import "OTRXMPPManager.h" #import "OTRYapMessageSendAction.h" -#import +#import "ChatSecureCoreCompat-Swift.h" @import AVFoundation; @import XMPPFramework; diff --git a/ChatSecure/Classes/Controllers/OTROAuthRefresher.h b/ChatSecure/Classes/Controllers/OTROAuthRefresher.h deleted file mode 100644 index 06528edbd..000000000 --- a/ChatSecure/Classes/Controllers/OTROAuthRefresher.h +++ /dev/null @@ -1,21 +0,0 @@ -// -// OTROAuthRefresher.h -// Off the Record -// -// Created by David Chiles on 3/28/14. -// Copyright (c) 2014 Chris Ballinger. All rights reserved. -// - -@import Foundation; - -@class GTMOAuth2Authentication; -@class FBAccessTokenData; -@class OTROAuthXMPPAccount; - -typedef void(^OTROAuthCompletionBlock)(id token,NSError *); - -@interface OTROAuthRefresher : NSObject - -+ (void)refreshAccount:(OTROAuthXMPPAccount *)account completion:(OTROAuthCompletionBlock)completionBlock; - -@end diff --git a/ChatSecure/Classes/Controllers/OTROAuthRefresher.m b/ChatSecure/Classes/Controllers/OTROAuthRefresher.m deleted file mode 100644 index 7399b074c..000000000 --- a/ChatSecure/Classes/Controllers/OTROAuthRefresher.m +++ /dev/null @@ -1,41 +0,0 @@ -// -// OTROAuthRefresher.m -// Off the Record -// -// Created by David Chiles on 3/28/14. -// Copyright (c) 2014 Chris Ballinger. All rights reserved. -// - -#import "OTROAuthRefresher.h" - -#import "GTMOAuth2Authentication.h" -#import "OTRSecrets.h" -#import "OTRConstants.h" - -#import "OTROAuthXMPPAccount.h" - - -@implementation OTROAuthRefresher - -+ (void)refreshGoogleToken:(GTMOAuth2Authentication *)authToken completion:(OTROAuthCompletionBlock)completionBlock -{ - [authToken authorizeRequest:nil completionHandler:^(NSError *error) { - if (completionBlock) { - if (!error) { - completionBlock(authToken,nil); - } - else { - completionBlock(nil,error); - } - } - }]; -} - -+ (void)refreshAccount:(OTROAuthXMPPAccount *)account completion:(OTROAuthCompletionBlock)completionBlock -{ - if (account.accountType == OTRAccountTypeGoogleTalk) { - [self refreshGoogleToken:[account accountSpecificToken] completion:completionBlock]; - } -} - -@end diff --git a/ChatSecure/Classes/Controllers/OTRProtocolManager.m b/ChatSecure/Classes/Controllers/OTRProtocolManager.m index e1b2ce791..117617de6 100644 --- a/ChatSecure/Classes/Controllers/OTRProtocolManager.m +++ b/ChatSecure/Classes/Controllers/OTRProtocolManager.m @@ -26,8 +26,6 @@ #import "OTRIncomingMessage.h" #import "OTROutgoingMessage.h" #import "OTRConstants.h" -#import "OTROAuthRefresher.h" -#import "OTROAuthXMPPAccount.h" #import "OTRDatabaseManager.h" #import "OTRPushTLVHandler.h" #import @@ -36,7 +34,7 @@ @import KVOController; @import OTRAssets; #import "OTRLog.h" -#import +#import "ChatSecureCoreCompat-Swift.h" #import "OTRXMPPPresenceSubscriptionRequest.h" @interface OTRProtocolManager () @@ -136,22 +134,7 @@ - (void)loginAccount:(OTRAccount *)account userInitiated:(BOOL)userInitiated if (!account) { return; } id protocol = [self protocolForAccount:account]; - if([account isKindOfClass:[OTROAuthXMPPAccount class]]) - { - [OTROAuthRefresher refreshAccount:(OTROAuthXMPPAccount *)account completion:^(id token, NSError *error) { - if (!error) { - ((OTROAuthXMPPAccount *)account).accountSpecificToken = token; - [protocol connectUserInitiated:userInitiated]; - } - else { - DDLogError(@"Error Refreshing Token"); - } - }]; - } - else - { - [protocol connectUserInitiated:userInitiated]; - } + [protocol connectUserInitiated:userInitiated]; } - (void)loginAccount:(OTRAccount *)account diff --git a/ChatSecure/Classes/Controllers/OTRPurchaseController.h b/ChatSecure/Classes/Controllers/OTRPurchaseController.h deleted file mode 100644 index 1f7276f70..000000000 --- a/ChatSecure/Classes/Controllers/OTRPurchaseController.h +++ /dev/null @@ -1,48 +0,0 @@ -// -// OTRPurchaseController.h -// Off the Record -// -// Created by Christopher Ballinger on 9/28/12. -// Copyright (c) 2012 Chris Ballinger. All rights reserved. -// -// This file is part of ChatSecure. -// -// ChatSecure is free software: you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// ChatSecure is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License -// along with ChatSecure. If not, see . - -#import -#import -#import "OTRStoreTableViewCell.h" - -#define kOTRPurchaseControllerProductUpdateNotification @"kOTRPurchaseControllerProductUpdateNotification" - -@protocol OTRPurchaseControllerDelegate -@required -- (void) productsUpdated:(NSArray*)products; -@end - -@interface OTRPurchaseController : NSObject - -@property (nonatomic, weak) id delegate; -@property (nonatomic, strong) NSArray *products; - -- (void) requestProducts; -- (void) buyProduct:(SKProduct *)product; -- (void) restorePurchases; - -- (BOOL) isProductIdentifierPurchased:(NSString*)productIdentifier; -- (void) setProductIdentifier:(NSString*)productIdentifier purchased:(BOOL)purchased; - -+ (OTRPurchaseController*) sharedInstance; - -@end diff --git a/ChatSecure/Classes/Controllers/OTRPurchaseController.m b/ChatSecure/Classes/Controllers/OTRPurchaseController.m deleted file mode 100644 index dbbff865a..000000000 --- a/ChatSecure/Classes/Controllers/OTRPurchaseController.m +++ /dev/null @@ -1,176 +0,0 @@ -// -// OTRPurchaseController.m -// Off the Record -// -// Created by Christopher Ballinger on 9/28/12. -// Copyright (c) 2012 Chris Ballinger. All rights reserved. -// -// This file is part of ChatSecure. -// -// ChatSecure is free software: you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// ChatSecure is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License -// along with ChatSecure. If not, see . - -#import "OTRPurchaseController.h" -#import "AFNetworking.h" -#import "Strings.h" -#import "OTRPushAPIClient.h" - -#define REQUEST_PRODUCT_IDENTIFIERS @"request_product_identifiers" -#define PRODUCT_IDENTIFIERS_KEY @"identifiers" - -#define PRODUCTS_KEY @"products" - -@implementation OTRPurchaseController -@synthesize products; - -- (void) dealloc { - [[SKPaymentQueue defaultQueue] removeTransactionObserver:self]; -} - -- (id) init { - if (self = [super init]) { - [[SKPaymentQueue defaultQueue] addTransactionObserver:self]; - } - return self; -} - -+ (OTRPurchaseController*)sharedInstance -{ - static dispatch_once_t once; - static OTRPurchaseController *sharedInstance; - dispatch_once(&once, ^{ - sharedInstance = [[OTRPurchaseController alloc] init]; - }); - return sharedInstance; -} - -- (void) requestProducts { - if (products) { - [self.delegate productsUpdated:products]; - } else { - [self requestProductIdentifiers]; - } -} - -- (void) requestProductIdentifiers { - // Code to request product identifiers here - NSURL *requestURL = [NSURL URLWithString:REQUEST_PRODUCT_IDENTIFIERS relativeToURL:[OTRPushAPIClient sharedClient].baseURL]; - AFHTTPSessionManager *manager = [AFHTTPSessionManager manager]; - [manager GET:requestURL.absoluteString parameters:nil success:^(NSURLSessionDataTask *task, id responseObject) { - [self fetchProductsWithIdentifiers:[NSSet setWithArray:[responseObject objectForKey:PRODUCT_IDENTIFIERS_KEY]]]; - } failure:^(NSURLSessionDataTask *task, NSError *error) { - NSLog(@"Error loading product identifiers: %@%@", [error localizedDescription], [error userInfo]); - }]; -} - -- (void) fetchProductsWithIdentifiers:(NSSet*)identifiers { - SKProductsRequest *request = [[SKProductsRequest alloc] initWithProductIdentifiers:identifiers]; - request.delegate = self; - [request start]; -} - - -- (void) productsRequest:(SKProductsRequest *)request didReceiveResponse:(SKProductsResponse *)response { - if ([response.invalidProductIdentifiers count] > 0) { - NSLog(@"Invalid products identifiers: %@", [response.invalidProductIdentifiers description]); - } - self.products = response.products; - [self.delegate productsUpdated:products]; -} - -- (void) buyProduct:(SKProduct *)product { - if ([SKPaymentQueue canMakePayments]) { - SKPayment *payment = [SKPayment paymentWithProduct:product]; - [[SKPaymentQueue defaultQueue] addPayment:payment]; - } else { - UIAlertView *alert = [[UIAlertView alloc] initWithTitle:ERROR_STRING message:PAYMENTS_SETUP_ERROR_STRING delegate:nil cancelButtonTitle:nil otherButtonTitles:OK_STRING, nil]; - [alert show]; - } -} - -- (void)paymentQueue:(SKPaymentQueue *)queue updatedTransactions:(NSArray *)transactions { - for (SKPaymentTransaction *transaction in transactions) { - NSLog(@"Transaction: %@", transaction.transactionIdentifier); - switch (transaction.transactionState) { - case SKPaymentTransactionStatePurchased: - NSLog(@"Transaction purchased"); - //[[OTRPushController sharedInstance] registerWithReceipt:transaction.transactionReceipt resetAccount:NO]; - [self setProductIdentifier:transaction.payment.productIdentifier purchased:YES]; - [self sendProductUpdateNotification]; - [[SKPaymentQueue defaultQueue] finishTransaction: transaction]; - break; - case SKPaymentTransactionStateFailed: - NSLog(@"Transaction failed"); - [self sendProductUpdateNotification]; - [[SKPaymentQueue defaultQueue] finishTransaction: transaction]; - break; - case SKPaymentTransactionStateRestored: - NSLog(@"Original transaction restored: %@", transaction.originalTransaction.transactionIdentifier); - //[[OTRPushController sharedInstance] registerWithReceipt:transaction.transactionReceipt resetAccount:YES]; - [self setProductIdentifier:transaction.payment.productIdentifier purchased:YES]; - [self sendProductUpdateNotification]; - [[SKPaymentQueue defaultQueue] finishTransaction: transaction]; - NSLog(@"Transaction restored"); - break; - case SKPaymentTransactionStatePurchasing: - NSLog(@"Purchasing transaction... "); - break; - default: - break; - } - } -} - -- (void) sendProductUpdateNotification { - [[NSNotificationCenter defaultCenter] postNotificationName:kOTRPurchaseControllerProductUpdateNotification object:self]; -} - -- (BOOL) isProductIdentifierPurchased:(NSString*)productIdentifier { - NSMutableDictionary *productsDictionary = [self productsDictionary]; - NSNumber *productValue = [productsDictionary objectForKey:productIdentifier]; - if (!productValue) { - return NO; - } - return [productValue boolValue]; -} - -- (NSMutableDictionary*) productsDictionary { - NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; - NSMutableDictionary *productDictionary = [NSMutableDictionary dictionaryWithDictionary:[defaults objectForKey:PRODUCTS_KEY]]; - if (!productDictionary) { - productDictionary = [NSMutableDictionary dictionary]; - } - return productDictionary; -} - -- (void) saveProductsDictionary:(NSMutableDictionary*)productsDictionary { - NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; - [defaults setObject:productsDictionary forKey:PRODUCTS_KEY]; - BOOL success = [defaults synchronize]; - if (!success) { - NSLog(@"Product preferences not saved to disk!"); - } -} - - -- (void) setProductIdentifier:(NSString*)productIdentifier purchased:(BOOL)purchased { - NSMutableDictionary *productsDictionary = [self productsDictionary]; - [productsDictionary setObject:[NSNumber numberWithBool:purchased] forKey:productIdentifier]; - [self saveProductsDictionary:productsDictionary]; -} - -- (void) restorePurchases { - [[SKPaymentQueue defaultQueue] restoreCompletedTransactions]; -} - -@end diff --git a/ChatSecure/Classes/Controllers/OTRSettingsManager.m b/ChatSecure/Classes/Controllers/OTRSettingsManager.m index fe79066a5..1934b204c 100644 --- a/ChatSecure/Classes/Controllers/OTRSettingsManager.m +++ b/ChatSecure/Classes/Controllers/OTRSettingsManager.m @@ -36,7 +36,7 @@ #import "OTRIntSetting.h" #import "OTRCertificateSetting.h" #import "OTRUtilities.h" -#import +#import "ChatSecureCoreCompat-Swift.h" #import "OTRUtilities.h" diff --git a/ChatSecure/Classes/Controllers/XMPP/OTRXMPPBuddyManager.m b/ChatSecure/Classes/Controllers/XMPP/OTRXMPPBuddyManager.m index 74aa3d0ad..81f916d5d 100644 --- a/ChatSecure/Classes/Controllers/XMPP/OTRXMPPBuddyManager.m +++ b/ChatSecure/Classes/Controllers/XMPP/OTRXMPPBuddyManager.m @@ -7,7 +7,7 @@ // #import "OTRXMPPBuddyManager.h" -#import +#import "ChatSecureCoreCompat-Swift.h" @import XMPPFramework; #import "OTRXMPPBuddy.h" @import YapDatabase; diff --git a/ChatSecure/Classes/Controllers/XMPP/OTRXMPPManager_Private.h b/ChatSecure/Classes/Controllers/XMPP/OTRXMPPManager_Private.h index 0591ecdc2..b407877b2 100644 --- a/ChatSecure/Classes/Controllers/XMPP/OTRXMPPManager_Private.h +++ b/ChatSecure/Classes/Controllers/XMPP/OTRXMPPManager_Private.h @@ -9,7 +9,7 @@ #import "OTRXMPPManager.h" #import "OTRCertificatePinning.h" #import "OTRXMPPBuddyManager.h" -#import +#import "ChatSecureCoreCompat-Swift.h" #import "OTRXMPPRoomManager.h" #import "OTRXMPPBuddyTimers.h" @import XMPPFramework; diff --git a/ChatSecure/Classes/Controllers/XMPP/OTRXMPPRoomManager.m b/ChatSecure/Classes/Controllers/XMPP/OTRXMPPRoomManager.m index 7b78368df..e6e5321de 100644 --- a/ChatSecure/Classes/Controllers/XMPP/OTRXMPPRoomManager.m +++ b/ChatSecure/Classes/Controllers/XMPP/OTRXMPPRoomManager.m @@ -8,7 +8,7 @@ #import "OTRXMPPRoomManager.h" @import XMPPFramework; -#import +#import "ChatSecureCoreCompat-Swift.h" #import "OTRBuddy.h" #import "OTRBuddyCache.h" @import YapDatabase; diff --git a/ChatSecure/Classes/Model/OTRBuddyCache.m b/ChatSecure/Classes/Model/OTRBuddyCache.m index 86576670f..8788aea7a 100644 --- a/ChatSecure/Classes/Model/OTRBuddyCache.m +++ b/ChatSecure/Classes/Model/OTRBuddyCache.m @@ -9,7 +9,7 @@ #import "OTRBuddyCache.h" #import "OTRDatabaseManager.h" #import "OTRYapDatabaseObject.h" -#import +#import "ChatSecureCoreCompat-Swift.h" @implementation OTRXMPPRoomRuntimeProperties - (instancetype)init { diff --git a/ChatSecure/Classes/Model/Yap Storage/Accounts/OTRAccount.m b/ChatSecure/Classes/Model/Yap Storage/Accounts/OTRAccount.m index c9cdc053b..d66545d2f 100644 --- a/ChatSecure/Classes/Model/Yap Storage/Accounts/OTRAccount.m +++ b/ChatSecure/Classes/Model/Yap Storage/Accounts/OTRAccount.m @@ -13,14 +13,13 @@ #import "OTRXMPPAccount.h" #import "OTRXMPPTorAccount.h" -#import "OTRGoogleOAuthXMPPAccount.h" #import "OTRDatabaseManager.h" @import YapDatabase; #import "OTRBuddy.h" #import "OTRImages.h" #import "NSURL+ChatSecure.h" #import "OTRProtocolManager.h" -#import +#import "ChatSecureCoreCompat-Swift.h" #import "OTRColors.h" @@ -63,8 +62,6 @@ - (nullable instancetype)initWithUsername:(NSString*)username + (nullable Class) accountClassForAccountType:(OTRAccountType)accountType { switch(accountType) { - case OTRAccountTypeGoogleTalk: - return [OTRGoogleOAuthXMPPAccount class]; case OTRAccountTypeJabber: return [OTRXMPPAccount class]; case OTRAccountTypeXMPPTor: diff --git a/ChatSecure/Classes/Model/Yap Storage/Accounts/OTRFacebookOAuthXMPPAccount.h b/ChatSecure/Classes/Model/Yap Storage/Accounts/OTRFacebookOAuthXMPPAccount.h deleted file mode 100644 index 91192cbc3..000000000 --- a/ChatSecure/Classes/Model/Yap Storage/Accounts/OTRFacebookOAuthXMPPAccount.h +++ /dev/null @@ -1,13 +0,0 @@ -// -// OTRFacebookOAuthXMPPAccount.h -// Off the Record -// -// Created by David Chiles on 3/28/14. -// Copyright (c) 2014 Chris Ballinger. All rights reserved. -// - -#import "OTROAuthXMPPAccount.h" - -@interface OTRFacebookOAuthXMPPAccount : OTROAuthXMPPAccount - -@end diff --git a/ChatSecure/Classes/Model/Yap Storage/Accounts/OTRFacebookOAuthXMPPAccount.m b/ChatSecure/Classes/Model/Yap Storage/Accounts/OTRFacebookOAuthXMPPAccount.m deleted file mode 100644 index 30b10e45b..000000000 --- a/ChatSecure/Classes/Model/Yap Storage/Accounts/OTRFacebookOAuthXMPPAccount.m +++ /dev/null @@ -1,13 +0,0 @@ -// -// OTRFacebookOAuthXMPPAccount.m -// Off the Record -// -// Created by David Chiles on 3/28/14. -// Copyright (c) 2014 Chris Ballinger. All rights reserved. -// - -#import "OTRFacebookOAuthXMPPAccount.h" - -@implementation OTRFacebookOAuthXMPPAccount - -@end diff --git a/ChatSecure/Classes/Model/Yap Storage/Accounts/OTRGoogleOAuthXMPPAccount.h b/ChatSecure/Classes/Model/Yap Storage/Accounts/OTRGoogleOAuthXMPPAccount.h deleted file mode 100644 index 90af8b0ba..000000000 --- a/ChatSecure/Classes/Model/Yap Storage/Accounts/OTRGoogleOAuthXMPPAccount.h +++ /dev/null @@ -1,13 +0,0 @@ -// -// OTRGoogleOAuthXMPPAccount.h -// Off the Record -// -// Created by David Chiles on 3/28/14. -// Copyright (c) 2014 Chris Ballinger. All rights reserved. -// - -#import "OTROAuthXMPPAccount.h" - -@interface OTRGoogleOAuthXMPPAccount : OTROAuthXMPPAccount - -@end diff --git a/ChatSecure/Classes/Model/Yap Storage/Accounts/OTRGoogleOAuthXMPPAccount.m b/ChatSecure/Classes/Model/Yap Storage/Accounts/OTRGoogleOAuthXMPPAccount.m deleted file mode 100644 index 8cac9ba67..000000000 --- a/ChatSecure/Classes/Model/Yap Storage/Accounts/OTRGoogleOAuthXMPPAccount.m +++ /dev/null @@ -1,98 +0,0 @@ -// -// OTRGoogleOAuthXMPPAccount.m -// Off the Record -// -// Created by David Chiles on 3/28/14. -// Copyright (c) 2014 Chris Ballinger. All rights reserved. -// - -#import "OTRGoogleOAuthXMPPAccount.h" -@import gtm_oauth2; -@import OTRAssets; -#import "OTRConstants.h" - - -NSString *const kOTRExpirationDateKey = @"kOTRExpirationDateKey"; -NSString *const kOTRExpiresInKey = @"expires_in"; - - -@implementation OTRGoogleOAuthXMPPAccount - -- (UIImage *)accountImage -{ - return [UIImage imageNamed:OTRGoogleTalkImageName inBundle:[OTRAssets resourcesBundle] compatibleWithTraitCollection:nil]; -} - --(NSString *)accessTokenString { - return [self authToken].accessToken; -} - --(void)setOAuthTokenDictionary:(NSDictionary *)oAuthTokenDictionary -{ - if ([oAuthTokenDictionary count]) { - NSMutableDictionary * mutableTokenDictionary = [oAuthTokenDictionary mutableCopy]; - NSNumber * expiresIn = [mutableTokenDictionary objectForKey:kOTRExpiresInKey]; - [mutableTokenDictionary removeObjectForKey:kOTRExpiresInKey]; - NSDate *date = nil; - if (expiresIn) { - unsigned long deltaSeconds = [expiresIn unsignedLongValue]; - if (deltaSeconds > 0) { - date = [NSDate dateWithTimeIntervalSinceNow:deltaSeconds]; - } - } - if(date) { - [mutableTokenDictionary setObject:date forKey:kOTRExpirationDateKey]; - } - oAuthTokenDictionary = mutableTokenDictionary; - } - [super setOAuthTokenDictionary:oAuthTokenDictionary]; -} - --(NSDictionary *)oAuthTokenDictionary -{ - NSMutableDictionary * mutableTokenDictionary = [[super oAuthTokenDictionary] mutableCopy]; - NSDate * expirationDate = [mutableTokenDictionary objectForKey:kOTRExpirationDateKey]; - - NSTimeInterval timeInterval = [expirationDate timeIntervalSinceDate:[NSDate date]]; - mutableTokenDictionary[kOTRExpiresInKey] = @(timeInterval); - return mutableTokenDictionary; -} - --(GTMOAuth2Authentication *)authToken -{ - GTMOAuth2Authentication * auth = nil; - NSDictionary * tokenDictionary = [self oAuthTokenDictionary]; - if ([tokenDictionary count]) { - auth = [[GTMOAuth2Authentication alloc] init]; - [auth setParameters:[tokenDictionary mutableCopy]]; - } else { - return nil; - } - auth.clientID = [OTRBranding googleAppId]; - auth.clientSecret = [OTRSecrets googleAppSecret]; - auth.scope = [OTRBranding googleAppScope]; - auth.tokenURL = [GTMOAuth2SignIn googleTokenURL]; - return auth; -} - -- (id)accountSpecificToken -{ - return [self authToken]; -} - -- (void)setAccountSpecificToken:(id)accountSpecificToken -{ - if ([accountSpecificToken isKindOfClass:[GTMOAuth2Authentication class]]) { - GTMOAuth2Authentication *token = (GTMOAuth2Authentication *)accountSpecificToken; - [self setOAuthTokenDictionary:token.parameters]; - } -} - -#pragma - mark Class Methods - -+ (NSString *)collection -{ - return NSStringFromClass([OTRAccount class]); -} - -@end diff --git a/ChatSecure/Classes/Model/Yap Storage/Accounts/OTROAuthXMPPAccount.h b/ChatSecure/Classes/Model/Yap Storage/Accounts/OTROAuthXMPPAccount.h deleted file mode 100644 index c447768fa..000000000 --- a/ChatSecure/Classes/Model/Yap Storage/Accounts/OTROAuthXMPPAccount.h +++ /dev/null @@ -1,16 +0,0 @@ -// -// OTROAuthXMPPAccount.h -// Off the Record -// -// Created by David Chiles on 3/28/14. -// Copyright (c) 2014 Chris Ballinger. All rights reserved. -// - -#import "OTRXMPPAccount.h" - -@interface OTROAuthXMPPAccount : OTRXMPPAccount - -@property (nonatomic, strong) NSDictionary *oAuthTokenDictionary; -@property (nonatomic, strong) id accountSpecificToken; - -@end diff --git a/ChatSecure/Classes/Model/Yap Storage/Accounts/OTROAuthXMPPAccount.m b/ChatSecure/Classes/Model/Yap Storage/Accounts/OTROAuthXMPPAccount.m deleted file mode 100644 index 5de1dfaa8..000000000 --- a/ChatSecure/Classes/Model/Yap Storage/Accounts/OTROAuthXMPPAccount.m +++ /dev/null @@ -1,94 +0,0 @@ -// -// OTROAuthXMPPAccount.m -// Off the Record -// -// Created by David Chiles on 3/28/14. -// Copyright (c) 2014 Chris Ballinger. All rights reserved. -// - -#import "OTROAuthXMPPAccount.h" -@import SAMKeychain; -#import "OTRLog.h" -#import "OTRConstants.h" - -@implementation OTROAuthXMPPAccount - --(void)setPassword:(NSString *)password -{ - if(![password length]) - { - [self setOAuthTokenDictionary:nil]; - } -} --(NSString *)password -{ - return [self accessTokenString]; -} - --(NSString *)accessTokenString -{ - return @""; -} - --(void)setOAuthTokenDictionary:(NSDictionary *)oAuthTokenDictionary -{ - if (![oAuthTokenDictionary count]) { - [super setPassword:nil]; - } - else { - NSError *error = nil; - - SAMKeychainQuery * keychainQuery = [self baseKeychainQuery]; - - keychainQuery.passwordObject = oAuthTokenDictionary; - - [keychainQuery save:&error]; - - if (error) { - DDLogError(@"Error saving password to keychain: %@%@", [error localizedDescription], [error userInfo]); - } - } -} - -- (NSDictionary *)oAuthTokenDictionary -{ - NSError * error = nil; - NSDictionary *dictionary = nil; - - SAMKeychainQuery * keychainQuery = [self baseKeychainQuery]; - [keychainQuery fetch:&error]; - - if (error) { - DDLogError(@"Error retreiving password from keychain: %@%@", [error localizedDescription], [error userInfo]); - error = nil; - } - else { - dictionary = (NSDictionary *)keychainQuery.passwordObject; - } - return dictionary; -} - --(SAMKeychainQuery *)baseKeychainQuery -{ - SAMKeychainQuery * keychainQuery = [[SAMKeychainQuery alloc] init]; - keychainQuery.service = kOTRServiceName; - keychainQuery.account = self.uniqueId; - return keychainQuery; -} - - -#pragma - mark Class Methods - -+ (NSString *)collection -{ - return NSStringFromClass([OTRAccount class]); -} - -+ (NSDictionary*) encodingBehaviorsByPropertyKey { - NSMutableDictionary *encodingBehaviors = [NSMutableDictionary dictionaryWithDictionary:[super encodingBehaviorsByPropertyKey]]; - [encodingBehaviors setObject:@(MTLModelEncodingBehaviorExcluded) forKey:NSStringFromSelector(@selector(accountSpecificToken))]; - [encodingBehaviors setObject:@(MTLModelEncodingBehaviorExcluded) forKey:NSStringFromSelector(@selector(oAuthTokenDictionary))]; - return encodingBehaviors; -} - -@end diff --git a/ChatSecure/Classes/Model/Yap Storage/Accounts/OTRXMPPAccount.m b/ChatSecure/Classes/Model/Yap Storage/Accounts/OTRXMPPAccount.m index 72cba1470..daf80d673 100644 --- a/ChatSecure/Classes/Model/Yap Storage/Accounts/OTRXMPPAccount.m +++ b/ChatSecure/Classes/Model/Yap Storage/Accounts/OTRXMPPAccount.m @@ -9,7 +9,7 @@ #import "OTRXMPPAccount.h" #import "OTRXMPPManager.h" #import "OTRConstants.h" -#import +#import "ChatSecureCoreCompat-Swift.h" @import OTRAssets; @import XMPPFramework; diff --git a/ChatSecure/Classes/Model/Yap Storage/OMEMO-Storage/OMEMODevice.m b/ChatSecure/Classes/Model/Yap Storage/OMEMO-Storage/OMEMODevice.m index dc288fb25..dbb50806b 100644 --- a/ChatSecure/Classes/Model/Yap Storage/OMEMO-Storage/OMEMODevice.m +++ b/ChatSecure/Classes/Model/Yap Storage/OMEMO-Storage/OMEMODevice.m @@ -7,7 +7,7 @@ // #import "OMEMODevice.h" -#import +#import "ChatSecureCoreCompat-Swift.h" @implementation OMEMODevice diff --git a/ChatSecure/Classes/Model/Yap Storage/OTRBaseMessage.m b/ChatSecure/Classes/Model/Yap Storage/OTRBaseMessage.m index 48bafc12b..8d1c30b31 100644 --- a/ChatSecure/Classes/Model/Yap Storage/OTRBaseMessage.m +++ b/ChatSecure/Classes/Model/Yap Storage/OTRBaseMessage.m @@ -19,7 +19,7 @@ @import CocoaLumberjack; #import "OTRLog.h" #import "OTRMessageEncryptionInfo.h" -#import +#import "ChatSecureCoreCompat-Swift.h" @interface OTRBaseMessage() @property (nonatomic) BOOL transportedSecurely; diff --git a/ChatSecure/Classes/Model/Yap Storage/OTRBuddy.m b/ChatSecure/Classes/Model/Yap Storage/OTRBuddy.m index 90d832c33..ebbe19518 100644 --- a/ChatSecure/Classes/Model/Yap Storage/OTRBuddy.m +++ b/ChatSecure/Classes/Model/Yap Storage/OTRBuddy.m @@ -15,7 +15,7 @@ @import YapDatabase; #import "OTRImages.h" @import JSQMessagesViewController; -#import +#import "ChatSecureCoreCompat-Swift.h" @import OTRKit; #import "OTRLog.h" #import "OTRColors.h" diff --git a/ChatSecure/Classes/Model/Yap Storage/OTRDownloadMessage.m b/ChatSecure/Classes/Model/Yap Storage/OTRDownloadMessage.m index 692b7d8cc..33edc60be 100644 --- a/ChatSecure/Classes/Model/Yap Storage/OTRDownloadMessage.m +++ b/ChatSecure/Classes/Model/Yap Storage/OTRDownloadMessage.m @@ -12,7 +12,7 @@ #import "OTRImages.h" #import "OTRDownloadMessage.h" #import "UIActivity+ChatSecure.h" -#import +#import "ChatSecureCoreCompat-Swift.h" @interface OTRDirectDownloadMessage() @property (nonatomic, strong, readonly) NSString *parentMessageKey; diff --git a/ChatSecure/Classes/Model/Yap Storage/OTRHTMLItem.m b/ChatSecure/Classes/Model/Yap Storage/OTRHTMLItem.m index d2da1b17a..68e736b24 100644 --- a/ChatSecure/Classes/Model/Yap Storage/OTRHTMLItem.m +++ b/ChatSecure/Classes/Model/Yap Storage/OTRHTMLItem.m @@ -13,7 +13,7 @@ @import OTRAssets; #import "OTRLog.h" #import "OTRMediaItem+Private.h" -#import +#import "ChatSecureCoreCompat-Swift.h" @interface OTRHTMLMetadata : NSObject @property (nonatomic, strong, nullable) NSString *title; diff --git a/ChatSecure/Classes/Model/Yap Storage/OTRMediaItem.m b/ChatSecure/Classes/Model/Yap Storage/OTRMediaItem.m index f4b0c014c..9774ab837 100644 --- a/ChatSecure/Classes/Model/Yap Storage/OTRMediaItem.m +++ b/ChatSecure/Classes/Model/Yap Storage/OTRMediaItem.m @@ -18,7 +18,7 @@ @import MobileCoreServices; @import OTRAssets; #import "OTRDatabaseManager.h" -#import +#import "ChatSecureCoreCompat-Swift.h" static NSString* GetExtensionForMimeType(NSString* mimeType) { NSCParameterAssert(mimeType.length > 0); diff --git a/ChatSecure/Classes/Model/Yap Storage/OTROutgoingMessage.m b/ChatSecure/Classes/Model/Yap Storage/OTROutgoingMessage.m index 6ae2f79ad..44bb1463b 100644 --- a/ChatSecure/Classes/Model/Yap Storage/OTROutgoingMessage.m +++ b/ChatSecure/Classes/Model/Yap Storage/OTROutgoingMessage.m @@ -7,7 +7,7 @@ // #import "OTROutgoingMessage.h" -#import +#import "ChatSecureCoreCompat-Swift.h" #import "OTRMessageEncryptionInfo.h" @implementation OTROutgoingMessage diff --git a/ChatSecure/Classes/Model/Yap Storage/OTRXMPPBuddy.m b/ChatSecure/Classes/Model/Yap Storage/OTRXMPPBuddy.m index 0d631fc5a..3dd6ee61f 100644 --- a/ChatSecure/Classes/Model/Yap Storage/OTRXMPPBuddy.m +++ b/ChatSecure/Classes/Model/Yap Storage/OTRXMPPBuddy.m @@ -8,7 +8,7 @@ #import "OTRXMPPBuddy.h" #import "OTRBuddyCache.h" -#import +#import "ChatSecureCoreCompat-Swift.h" @import XMPPFramework; @import OTRAssets; diff --git a/ChatSecure/Classes/Model/Yap Storage/OTRXMPPPresenceSubscriptionRequest.m b/ChatSecure/Classes/Model/Yap Storage/OTRXMPPPresenceSubscriptionRequest.m index 8c18c3b21..a8f6f1ae2 100644 --- a/ChatSecure/Classes/Model/Yap Storage/OTRXMPPPresenceSubscriptionRequest.m +++ b/ChatSecure/Classes/Model/Yap Storage/OTRXMPPPresenceSubscriptionRequest.m @@ -11,7 +11,7 @@ @import YapDatabase; #import "OTRDatabaseManager.h" #import "OTRXMPPAccount.h" -#import +#import "ChatSecureCoreCompat-Swift.h" const struct OTRXMPPPresenceSubscriptionRequestAttributes OTRXMPPPresenceSubscriptionRequestAttributes = { .date = @"date", diff --git a/ChatSecure/Classes/Model/Yap Storage/OTRYapMessageSendAction.m b/ChatSecure/Classes/Model/Yap Storage/OTRYapMessageSendAction.m index 9cc04c0cb..5e986d845 100644 --- a/ChatSecure/Classes/Model/Yap Storage/OTRYapMessageSendAction.m +++ b/ChatSecure/Classes/Model/Yap Storage/OTRYapMessageSendAction.m @@ -8,7 +8,7 @@ #import "OTRYapMessageSendAction.h" #import "OTRBuddy.h" -#import +#import "ChatSecureCoreCompat-Swift.h" @interface OTRYapMessageSendAction() @property (nonatomic, strong, nonnull) NSString *buddyKey DEPRECATED_MSG_ATTRIBUTE("Deprecated in favor of threadKey"); diff --git a/ChatSecure/Classes/Model/Yap Storage/OTRYapMessageSendAction.swift b/ChatSecure/Classes/Model/Yap Storage/OTRYapMessageSendAction.swift index 416c8518e..8ccb4e718 100644 --- a/ChatSecure/Classes/Model/Yap Storage/OTRYapMessageSendAction.swift +++ b/ChatSecure/Classes/Model/Yap Storage/OTRYapMessageSendAction.swift @@ -10,7 +10,7 @@ import Foundation import YapTaskQueue import YapDatabase -public extension OTRYapMessageSendAction: YapDatabaseRelationshipNode { +extension OTRYapMessageSendAction: YapDatabaseRelationshipNode { // Relationship only really used to make sure tasks are deleted when messages are deleted public func yapDatabaseRelationshipEdges() -> [YapDatabaseRelationshipEdge]? { diff --git a/ChatSecure/Classes/Model/Yap Storage/Signal-Storage/OTRSignalSignedPreKey.m b/ChatSecure/Classes/Model/Yap Storage/Signal-Storage/OTRSignalSignedPreKey.m index 9c7c0f324..e45e936b3 100644 --- a/ChatSecure/Classes/Model/Yap Storage/Signal-Storage/OTRSignalSignedPreKey.m +++ b/ChatSecure/Classes/Model/Yap Storage/Signal-Storage/OTRSignalSignedPreKey.m @@ -8,7 +8,7 @@ #import "OTRSignalSignedPreKey.h" #import "OTRAccount.h" -#import +#import "ChatSecureCoreCompat-Swift.h" @implementation OTRSignalSignedPreKey diff --git a/ChatSecure/Classes/OTRAppDelegate.m b/ChatSecure/Classes/OTRAppDelegate.m index 4aaf13f3a..603fe9978 100644 --- a/ChatSecure/Classes/OTRAppDelegate.m +++ b/ChatSecure/Classes/OTRAppDelegate.m @@ -55,7 +55,7 @@ @import XMPPFramework; #import "OTRProtocolManager.h" #import "OTRInviteViewController.h" -#import +#import "ChatSecureCoreCompat-Swift.h" #import "OTRMessagesViewController.h" #import "OTRXMPPTorAccount.h" @import OTRAssets; diff --git a/ChatSecure/Classes/Utilities/OTRChatDemo.m b/ChatSecure/Classes/Utilities/OTRChatDemo.m index 17746a778..4f6158606 100644 --- a/ChatSecure/Classes/Utilities/OTRChatDemo.m +++ b/ChatSecure/Classes/Utilities/OTRChatDemo.m @@ -16,7 +16,7 @@ #import "OMEMODevice.h" #import "OTRBuddyCache.h" #import "OTRPasswordGenerator.h" -#import +#import "ChatSecureCoreCompat-Swift.h" @import OTRAssets; @implementation OTRChatDemo diff --git a/ChatSecure/Classes/Utilities/OTRXMPPError.m b/ChatSecure/Classes/Utilities/OTRXMPPError.m index 55ef3b7fa..906ed4ec5 100644 --- a/ChatSecure/Classes/Utilities/OTRXMPPError.m +++ b/ChatSecure/Classes/Utilities/OTRXMPPError.m @@ -11,7 +11,7 @@ @import XMPPFramework; @import OTRAssets; -#import +#import "ChatSecureCoreCompat-Swift.h" NSString *const OTRXMPPErrorDomain = @"OTRXMPPErrorDomain"; NSString *const OTRXMPPXMLErrorKey = @"OTRXMPPXMLErrorKey"; diff --git a/ChatSecure/Classes/View Controllers/Login View Controllers/OTRBaseLoginViewController.m b/ChatSecure/Classes/View Controllers/Login View Controllers/OTRBaseLoginViewController.m index 862a675ed..ee023c08e 100644 --- a/ChatSecure/Classes/View Controllers/Login View Controllers/OTRBaseLoginViewController.m +++ b/ChatSecure/Classes/View Controllers/Login View Controllers/OTRBaseLoginViewController.m @@ -15,7 +15,7 @@ #import "OTRAccount.h" @import MBProgressHUD; #import "OTRXLFormCreator.h" -#import +#import "ChatSecureCoreCompat-Swift.h" #import "OTRXMPPServerInfo.h" #import "OTRXMPPAccount.h" @import OTRAssets; diff --git a/ChatSecure/Classes/View Controllers/Login View Controllers/OTRExistingAccountViewController.m b/ChatSecure/Classes/View Controllers/Login View Controllers/OTRExistingAccountViewController.m index a024d9ff3..c1cec6f38 100644 --- a/ChatSecure/Classes/View Controllers/Login View Controllers/OTRExistingAccountViewController.m +++ b/ChatSecure/Classes/View Controllers/Login View Controllers/OTRExistingAccountViewController.m @@ -14,9 +14,6 @@ #import "OTRXLFormCreator.h" #import "OTRXMPPLoginHandler.h" #import "OTRXMPPCreateAccountHandler.h" -#import "OTRGoogleOAuthXMPPAccount.h" -#import "OTRGoolgeOAuthLoginHandler.h" -@import gtm_oauth2; #import "OTRDatabaseManager.h" #import "OTRWelcomeAccountTableViewDelegate.h" @import OTRAssets; @@ -105,34 +102,6 @@ - (NSArray *)defaultAccountArray [strongSelf.navigationController pushViewController:loginViewController animated:YES]; }]]; - [accountArray addObject:[OTRWelcomeAccountInfo accountInfoWithText:@"Google" image:[UIImage imageNamed:@"gtalk" inBundle:[OTRAssets resourcesBundle] compatibleWithTraitCollection:nil] didSelectBlock:^{ - __typeof__(self) strongSelf = weakSelf; - //Authenicate and go through google oauth - GTMOAuth2ViewControllerTouch * oauthViewController = [GTMOAuth2ViewControllerTouch controllerWithScope:[OTRBranding googleAppScope] clientID:[OTRBranding googleAppId] clientSecret:[OTRSecrets googleAppSecret] keychainItemName:nil completionHandler:^(GTMOAuth2ViewControllerTouch *viewController, GTMOAuth2Authentication *auth, NSError *error) { - if (!error) { - OTRGoogleOAuthXMPPAccount *googleAccount = [[OTRGoogleOAuthXMPPAccount alloc] initWithUsername:auth.userEmail accountType:OTRAccountTypeGoogleTalk]; - googleAccount.oAuthTokenDictionary = auth.parameters; - - [[OTRDatabaseManager sharedInstance].writeConnection readWriteWithBlock:^(YapDatabaseReadWriteTransaction *transaction) { - [googleAccount saveWithTransaction:transaction]; - }]; - - OTRBaseLoginViewController *loginViewController = [[OTRBaseLoginViewController alloc] initWithAccount:googleAccount]; - OTRGoolgeOAuthLoginHandler *loginHandler = [[OTRGoolgeOAuthLoginHandler alloc] init]; - loginViewController.loginHandler = loginHandler; - - NSMutableArray *viewControllers = [strongSelf.navigationController.viewControllers mutableCopy]; - [viewControllers removeObject:viewController]; - [viewControllers addObject:loginViewController]; - [strongSelf.navigationController setViewControllers:viewControllers animated:YES]; - } - }]; - [oauthViewController setPopViewBlock:^{ - - }]; - [strongSelf.navigationController pushViewController:oauthViewController animated:YES]; - }]]; - return accountArray; } diff --git a/ChatSecure/Classes/View Controllers/Login View Controllers/OTRGoolgeOAuthLoginHandler.h b/ChatSecure/Classes/View Controllers/Login View Controllers/OTRGoolgeOAuthLoginHandler.h deleted file mode 100644 index 8faf3b016..000000000 --- a/ChatSecure/Classes/View Controllers/Login View Controllers/OTRGoolgeOAuthLoginHandler.h +++ /dev/null @@ -1,14 +0,0 @@ -// -// OTRGoolgeOAuthLoginHandler.h -// ChatSecure -// -// Created by David Chiles on 5/13/15. -// Copyright (c) 2015 Chris Ballinger. All rights reserved. -// - -@import Foundation; -#import "OTRXMPPLoginHandler.h" - -@interface OTRGoolgeOAuthLoginHandler : OTRXMPPLoginHandler - -@end diff --git a/ChatSecure/Classes/View Controllers/Login View Controllers/OTRGoolgeOAuthLoginHandler.m b/ChatSecure/Classes/View Controllers/Login View Controllers/OTRGoolgeOAuthLoginHandler.m deleted file mode 100644 index e78bd49dd..000000000 --- a/ChatSecure/Classes/View Controllers/Login View Controllers/OTRGoolgeOAuthLoginHandler.m +++ /dev/null @@ -1,36 +0,0 @@ -// -// OTRGoolgeOAuthLoginHandler.m -// ChatSecure -// -// Created by David Chiles on 5/13/15. -// Copyright (c) 2015 Chris Ballinger. All rights reserved. -// - -#import "OTRGoolgeOAuthLoginHandler.h" -#import "OTRGoogleOAuthXMPPAccount.h" -#import "OTROAuthRefresher.h" -#import "OTRXMPPLoginHandler.h" -#import "OTRXMPPManager.h" - -@implementation OTRGoolgeOAuthLoginHandler - -- (void)performActionWithValidForm:(XLFormDescriptor *)form account:(OTROAuthXMPPAccount *)account progress:(void (^)(NSInteger progress, NSString *summaryString))progress completion:(void (^)(OTRAccount * account, NSError *error))completion -{ - [OTROAuthRefresher refreshAccount:account completion:^(id token, NSError *error) { - if (!error) { - account.accountSpecificToken = token; - [super performActionWithValidForm:form account:account progress:progress completion:completion]; - } else if (completion) { - //Error refreshing account - completion(account, error); - } - }]; -} - -// Override superclass to prevent password clash -- (void) finishConnectingWithForm:(XLFormDescriptor *)form account:(OTRXMPPAccount *)account { - [self prepareForXMPPConnectionFrom:form account:account]; - [self.xmppManager connectUserInitiated:YES]; -} - -@end diff --git a/ChatSecure/Classes/View Controllers/Login View Controllers/OTRLoginHandler.m b/ChatSecure/Classes/View Controllers/Login View Controllers/OTRLoginHandler.m index 8e66bca28..09acd8a58 100644 --- a/ChatSecure/Classes/View Controllers/Login View Controllers/OTRLoginHandler.m +++ b/ChatSecure/Classes/View Controllers/Login View Controllers/OTRLoginHandler.m @@ -8,19 +8,15 @@ #import "OTRLoginHandler.h" #import "OTRXMPPLoginHandler.h" -#import "OTRGoolgeOAuthLoginHandler.h" #import "OTRAccount.h" #import "OTRXMPPAccount.h" -#import "OTRGoogleOAuthXMPPAccount.h" @implementation OTRLoginHandler + (id)loginHandlerForAccount:(OTRAccount *)account { idloginHandler = nil; - if (account.accountType == OTRAccountTypeGoogleTalk) { - loginHandler = [[OTRGoolgeOAuthLoginHandler alloc] init]; - } else if (account.accountType == OTRAccountTypeJabber || account.accountType == OTRAccountTypeXMPPTor) { + if (account.accountType == OTRAccountTypeJabber || account.accountType == OTRAccountTypeXMPPTor) { loginHandler = [[OTRXMPPLoginHandler alloc] init]; } NSParameterAssert(loginHandler != nil); diff --git a/ChatSecure/Classes/View Controllers/Login View Controllers/OTRXLFormCreator.m b/ChatSecure/Classes/View Controllers/Login View Controllers/OTRXLFormCreator.m index cfa250822..793c80311 100644 --- a/ChatSecure/Classes/View Controllers/Login View Controllers/OTRXLFormCreator.m +++ b/ChatSecure/Classes/View Controllers/Login View Controllers/OTRXLFormCreator.m @@ -14,7 +14,7 @@ #import "OTRImages.h" #import "OTRXMPPServerListViewController.h" #import "OTRXMPPServerInfo.h" -#import +#import "ChatSecureCoreCompat-Swift.h" #import "OTRXMPPTorAccount.h" diff --git a/ChatSecure/Classes/View Controllers/Login View Controllers/OTRXMPPLoginHandler.m b/ChatSecure/Classes/View Controllers/Login View Controllers/OTRXMPPLoginHandler.m index a881ad885..34cf27f95 100644 --- a/ChatSecure/Classes/View Controllers/Login View Controllers/OTRXMPPLoginHandler.m +++ b/ChatSecure/Classes/View Controllers/Login View Controllers/OTRXMPPLoginHandler.m @@ -13,7 +13,7 @@ #import "OTRProtocolManager.h" #import "OTRDatabaseManager.h" #import "OTRPasswordGenerator.h" -#import +#import "ChatSecureCoreCompat-Swift.h" @import XMPPFramework; #import "OTRXMPPServerInfo.h" #import "OTRXMPPTorAccount.h" diff --git a/ChatSecure/Classes/View Controllers/OTRChooseAccountViewController.m b/ChatSecure/Classes/View Controllers/OTRChooseAccountViewController.m index 04736b33f..b6c256242 100644 --- a/ChatSecure/Classes/View Controllers/OTRChooseAccountViewController.m +++ b/ChatSecure/Classes/View Controllers/OTRChooseAccountViewController.m @@ -14,7 +14,7 @@ #import "OTRAccountsManager.h" #import "OTRAccount.h" @import PureLayout; -#import +#import "ChatSecureCoreCompat-Swift.h" @interface OTRChooseAccountViewController () diff --git a/ChatSecure/Classes/View Controllers/OTRComposeViewController.m b/ChatSecure/Classes/View Controllers/OTRComposeViewController.m index 26efcd042..1bd1ba148 100644 --- a/ChatSecure/Classes/View Controllers/OTRComposeViewController.m +++ b/ChatSecure/Classes/View Controllers/OTRComposeViewController.m @@ -24,7 +24,7 @@ #import "OTRChooseAccountViewController.h" #import "UITableView+ChatSecure.h" -#import +#import "ChatSecureCoreCompat-Swift.h" @import OTRAssets; diff --git a/ChatSecure/Classes/View Controllers/OTRConversationViewController.m b/ChatSecure/Classes/View Controllers/OTRConversationViewController.m index 9e54e2378..fdc440506 100644 --- a/ChatSecure/Classes/View Controllers/OTRConversationViewController.m +++ b/ChatSecure/Classes/View Controllers/OTRConversationViewController.m @@ -29,7 +29,7 @@ #import "OTRAppDelegate.h" #import "OTRProtocolManager.h" #import "OTRInviteViewController.h" -#import +#import "ChatSecureCoreCompat-Swift.h" @import OTRAssets; #import "OTRXMPPManager.h" diff --git a/ChatSecure/Classes/View Controllers/OTRInviteViewController.m b/ChatSecure/Classes/View Controllers/OTRInviteViewController.m index 4d5e62214..a3724a537 100644 --- a/ChatSecure/Classes/View Controllers/OTRInviteViewController.m +++ b/ChatSecure/Classes/View Controllers/OTRInviteViewController.m @@ -16,7 +16,7 @@ #import "OTRColors.h" @import OTRAssets; -#import +#import "ChatSecureCoreCompat-Swift.h" static CGFloat const kOTRInvitePadding = 10; static CGFloat const kOTRButtonHeight = 40; diff --git a/ChatSecure/Classes/View Controllers/OTRMessagesHoldTalkViewController.m b/ChatSecure/Classes/View Controllers/OTRMessagesHoldTalkViewController.m index e4e53d4b6..4d73f55f3 100644 --- a/ChatSecure/Classes/View Controllers/OTRMessagesHoldTalkViewController.m +++ b/ChatSecure/Classes/View Controllers/OTRMessagesHoldTalkViewController.m @@ -17,7 +17,7 @@ #import "OTRXMPPManager.h" #import "OTRXMPPAccount.h" -#import +#import "ChatSecureCoreCompat-Swift.h" static Float64 kOTRMessagesMinimumAudioTime = .5; diff --git a/ChatSecure/Classes/View Controllers/OTRMessagesViewController.m b/ChatSecure/Classes/View Controllers/OTRMessagesViewController.m index ee17a98d5..5c2b66bd5 100644 --- a/ChatSecure/Classes/View Controllers/OTRMessagesViewController.m +++ b/ChatSecure/Classes/View Controllers/OTRMessagesViewController.m @@ -46,7 +46,7 @@ #import "UIImage+ChatSecure.h" #import "OTRBaseLoginViewController.h" -#import +#import "ChatSecureCoreCompat-Swift.h" #import "OTRYapMessageSendAction.h" #import "UIViewController+ChatSecure.h" #import "OTRBuddyCache.h" diff --git a/ChatSecure/Classes/View Controllers/OTRNewBuddyViewController.m b/ChatSecure/Classes/View Controllers/OTRNewBuddyViewController.m index 36c479d0d..e800a3dfd 100644 --- a/ChatSecure/Classes/View Controllers/OTRNewBuddyViewController.m +++ b/ChatSecure/Classes/View Controllers/OTRNewBuddyViewController.m @@ -23,7 +23,7 @@ @import XMPPFramework; #import "NSURL+ChatSecure.h" -#import +#import "ChatSecureCoreCompat-Swift.h" @interface OTRNewBuddyViewController () diff --git a/ChatSecure/Classes/View Controllers/OTRSettingsViewController.m b/ChatSecure/Classes/View Controllers/OTRSettingsViewController.m index 13d7acc48..d4749d12b 100644 --- a/ChatSecure/Classes/View Controllers/OTRSettingsViewController.m +++ b/ChatSecure/Classes/View Controllers/OTRSettingsViewController.m @@ -45,7 +45,7 @@ #import "OTRDonateSetting.h" @import KVOController; #import "OTRInviteViewController.h" -#import +#import "ChatSecureCoreCompat-Swift.h" @import OTRAssets; @import MobileCoreServices; diff --git a/ChatSecure/Classes/View Controllers/OTRStoreViewController.h b/ChatSecure/Classes/View Controllers/OTRStoreViewController.h deleted file mode 100644 index 35441b12d..000000000 --- a/ChatSecure/Classes/View Controllers/OTRStoreViewController.h +++ /dev/null @@ -1,36 +0,0 @@ -// -// OTRStoreViewController.h -// Off the Record -// -// Created by Christopher Ballinger on 9/28/12. -// Copyright (c) 2012 Chris Ballinger. All rights reserved. -// -// This file is part of ChatSecure. -// -// ChatSecure is free software: you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// ChatSecure is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License -// along with ChatSecure. If not, see . - -#import -#import -#import "OTRStoreTableViewCell.h" -#import "OTRPurchaseController.h" -#import "OTRPushController.h" - -@interface OTRStoreViewController : UIViewController - -@property (nonatomic, weak) OTRPurchaseController *purchaseController; -@property (nonatomic, weak) OTRPushController *pushController; -@property (nonatomic, weak) NSArray *products; -@property (nonatomic, strong) UITableView *productTableView; - -@end diff --git a/ChatSecure/Classes/View Controllers/OTRStoreViewController.m b/ChatSecure/Classes/View Controllers/OTRStoreViewController.m deleted file mode 100644 index ac053cdd8..000000000 --- a/ChatSecure/Classes/View Controllers/OTRStoreViewController.m +++ /dev/null @@ -1,186 +0,0 @@ -// -// OTRStoreViewController.m -// Off the Record -// -// Created by Christopher Ballinger on 9/28/12. -// Copyright (c) 2012 Chris Ballinger. All rights reserved. -// -// This file is part of ChatSecure. -// -// ChatSecure is free software: you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// ChatSecure is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License -// along with ChatSecure. If not, see . - -#import "OTRStoreViewController.h" -#import "MBProgressHUD.h" -#import "Strings.h" -#import "OTRPushAccessViewController.h" -#import "OTRConstants.h" - -enum { - ACCOUNT_INFO_SECTION = 0, - PATS_SECTION, - PRODUCTS_SECTION -}; - -enum { - ACCOUNT_INFO_ACCOUNT_ROW = 0, - ACCOUNT_INFO_PASSWORD_ROW, - ACCOUNT_INFO_EXPIRATION_ROW -}; - -@interface OTRStoreViewController () - -@end - -@implementation OTRStoreViewController -@synthesize productTableView, products, purchaseController, pushController; - -- (void) dealloc { - self.productTableView = nil; - [[NSNotificationCenter defaultCenter] removeObserver:self]; -} - -- (id)init { - if(self = [super init]) { - self.productTableView = [[UITableView alloc] initWithFrame:CGRectZero style:UITableViewStyleGrouped]; - self.productTableView.delegate = self; - self.productTableView.dataSource = self; - self.title = STORE_STRING; - self.purchaseController = [OTRPurchaseController sharedInstance]; - self.pushController = [OTRPushController sharedInstance]; - purchaseController.delegate = self; - self.products = [NSArray array]; - self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:RESTORE_STRING style:UIBarButtonItemStyleBordered target:self action:@selector(restorePurchases:)]; - [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(receivedProductUpdateNotification:) name:kOTRPurchaseControllerProductUpdateNotification object:purchaseController]; - [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(receivedProductUpdateNotification:) name:kOTRPushAccountUpdateNotification object:pushController]; - } - return self; -} - -- (void) receivedProductUpdateNotification:(NSNotification*)notification { - [self.productTableView reloadData]; -} - -- (void) loadView { - [super loadView]; - [self.view addSubview:productTableView]; -} - -- (void) hideHUD { - [MBProgressHUD hideHUDForView:self.view animated:YES]; -} - -- (void) showHUD { - [MBProgressHUD showHUDAddedTo:self.view animated:YES]; -} - -- (void) restorePurchases:(id)sender { - [purchaseController restorePurchases]; -} - -- (void) viewWillAppear:(BOOL)animated { - [super viewWillAppear:animated]; - self.productTableView.frame = CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height); - self.productTableView.autoresizingMask = UIViewAutoresizingFlexibleBottomMargin | UIViewAutoresizingFlexibleRightMargin | UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth; - [self showHUD]; - [purchaseController requestProducts]; -} - -- (UITableViewCell*) tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { - if (indexPath.section == ACCOUNT_INFO_SECTION) { - static NSString *cellIdentifier = @"InfoCellIdentifier"; - UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellIdentifier]; - if (!cell) { - cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:cellIdentifier]; - } - if (indexPath.row == ACCOUNT_INFO_ACCOUNT_ROW) { - cell.textLabel.text = ACCOUNT_ID_STRING; - cell.detailTextLabel.text = pushController.accountID; - } else if (indexPath.row == ACCOUNT_INFO_PASSWORD_ROW) { - cell.textLabel.text = PASSWORD_STRING; - cell.detailTextLabel.text = pushController.password; - } else if (indexPath.row == ACCOUNT_INFO_EXPIRATION_ROW) { - cell.textLabel.text = EXPIRATION_TITLE_STRING; - cell.detailTextLabel.text = [pushController.expirationDate description]; - } - return cell; - } - if (indexPath.section == PRODUCTS_SECTION) { - static NSString *cellIdentifier = @"StoreCellIdentifier"; - OTRStoreTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellIdentifier]; - if (!cell) { - cell = [[OTRStoreTableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:cellIdentifier]; - } - SKProduct *product = [products objectAtIndex:indexPath.row]; - cell.product = product; - return cell; - } - if (indexPath.section == PATS_SECTION) { - static NSString *cellIdentifier = @"CellIdentifier"; - UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellIdentifier]; - if (!cell) { - cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellIdentifier]; - } - cell.textLabel.text = PATS_SECTION_STRING; - return cell; - } - return nil; -} - -- (void) tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { - [tableView deselectRowAtIndexPath:indexPath animated:YES]; - if (indexPath.section == PATS_SECTION) { - OTRPushAccessViewController *patViewController = [[OTRPushAccessViewController alloc] init]; - [self.navigationController pushViewController:patViewController animated:YES]; - } -} - -- (NSInteger) numberOfSectionsInTableView:(UITableView *)tableView { - return 3; -} - -- (NSString*) tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section { - if (section == ACCOUNT_INFO_SECTION) { - return ACCOUNT_INFO_STRING; - } else if (section == PRODUCTS_SECTION) { - return PRODUCTS_SECTION_STRING; - } else if (section == PATS_SECTION) { - return PATS_SECTION_STRING; - } - return nil; -} - -- (NSInteger) tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { - if (section == ACCOUNT_INFO_SECTION) { - return 3; - } else if (section == PRODUCTS_SECTION) { - return [products count]; - } else if (section == PATS_SECTION) { - return 1; - } - return 0; -} - -- (void)didReceiveMemoryWarning -{ - [super didReceiveMemoryWarning]; - // Dispose of any resources that can be recreated. -} - -- (void) productsUpdated:(NSArray*)newProducts { - self.products = newProducts; - [self hideHUD]; - [self.productTableView reloadData]; -} - -@end diff --git a/ChatSecure/Classes/View Controllers/UserProfileViewController.swift b/ChatSecure/Classes/View Controllers/UserProfileViewController.swift deleted file mode 100644 index 480a02ceb..000000000 --- a/ChatSecure/Classes/View Controllers/UserProfileViewController.swift +++ /dev/null @@ -1,466 +0,0 @@ -// -// OMEMODeviceVerificationViewController.swift -// ChatSecure -// -// Created by Chris Ballinger on 10/13/16. -// Copyright © 2016 Chris Ballinger. All rights reserved. -// - -import UIKit -import XLForm -import YapDatabase -import OTRAssets - -open class KeyManagementViewController: XLFormViewController { - - @objc open var completionBlock: (()->Void)? - - // Crypto Chooser row tags - open static let DefaultRowTag = "DefaultRowTag" - open static let PlaintextRowTag = "PlaintextRowTag" - open static let OTRRowTag = "OTRRowTag" - open static let OMEMORowTag = "OMEMORowTag" - open static let ShowAdvancedCryptoSettingsTag = "ShowAdvancedCryptoSettingsTag" - - open let accountKey:String - open var readConnection: YapDatabaseConnection - open var writeConnection: YapDatabaseConnection - - lazy var signalCoordinator:OTROMEMOSignalCoordinator? = { - var account:OTRAccount? = nil - self.readConnection.read { (transaction) in - account = OTRAccount.fetchObject(withUniqueID: self.accountKey, transaction: transaction) - } - - guard let acct = account else { - return nil - } - - guard let xmpp = OTRProtocolManager.sharedInstance().protocol(for: acct) as? XMPPManager else { - return nil - } - return xmpp.omemoSignalCoordinator - }() - - @objc public init(accountKey:String, - readConnection: YapDatabaseConnection, - writeConnection:YapDatabaseConnection, - form: XLFormDescriptor) { - self.accountKey = accountKey - self.readConnection = readConnection - self.writeConnection = writeConnection - super.init(nibName: nil, bundle: nil) - - self.form = form - } - - required public init!(coder aDecoder: NSCoder!) { - fatalError("init(coder:) has not been implemented") - } - - open override func viewDidLoad() { - // gotta register cell before super - OMEMODeviceFingerprintCell.registerCellClass(OMEMODeviceFingerprintCell.defaultRowDescriptorType()) - UserInfoProfileCell.registerCellClass(UserInfoProfileCell.defaultRowDescriptorType()) - - super.viewDidLoad() - self.navigationItem.rightBarButtonItem = UIBarButtonItem(barButtonSystemItem: .done, target: self, action: #selector(doneButtonPressed(_:))) - self.tableView.allowsMultipleSelectionDuringEditing = false - - // Overriding superclass behaviour. This prevents the red icon on left of cell for deletion. Just want swipe to delete on device/fingerprint. - self.tableView.setEditing(false, animated: false) - } - - open override func didReceiveMemoryWarning() { - super.didReceiveMemoryWarning() - // Dispose of any resources that can be recreated. - } - - @objc open func doneButtonPressed(_ sender: AnyObject?) { - var devicesToSave: [OMEMODevice] = [] - var otrFingerprintsToSave: [OTRFingerprint] = [] - for (_, value) in form.formValues() { - switch value { - case let device as OMEMODevice: - devicesToSave.append(device) - case let fingerprint as OTRFingerprint: - otrFingerprintsToSave.append(fingerprint) - default: - break - } - } - OTRDatabaseManager.sharedInstance().readWriteDatabaseConnection?.asyncReadWrite({ (t: YapDatabaseReadWriteTransaction) in - for viewedDevice in devicesToSave { - if var device = t.object(forKey: viewedDevice.uniqueId, inCollection: OMEMODevice.collection) as? OMEMODevice { - device = device.copy() as! OMEMODevice - device.trustLevel = viewedDevice.trustLevel - - if (device.trustLevel == .trustedUser && device.isExpired()) { - device.lastSeenDate = viewedDevice.lastSeenDate - } - - device.save(with: t) - } - } - }) - - otrFingerprintsToSave.forEach { (fingerprint) in - OTRProtocolManager.encryptionManager.save(fingerprint) - } - if let completion = self.completionBlock { - completion() - } - dismiss(animated: true, completion: nil) - } - - fileprivate func isAbleToDeleteCellAtIndexPath(_ indexPath:IndexPath) -> Bool { - if let rowDescriptor = self.form.formRow(atIndex: indexPath) { - - switch rowDescriptor.value { - case let device as OMEMODevice: - if let myBundle = self.signalCoordinator?.fetchMyBundle() { - // This is only used to compare so we don't allow delete UI on our device - let thisDeviceYapKey = OMEMODevice.yapKey(withDeviceId: NSNumber(value: myBundle.deviceId as UInt32), parentKey: self.accountKey, parentCollection: OTRAccount.collection) - if device.uniqueId != thisDeviceYapKey { - return true - } - } - case let fingerprint as OTRFingerprint: - if (fingerprint.accountName != fingerprint.username) { - return true - } - default: - break - } - } - return false - } - - fileprivate func performEdit(_ action:UITableViewCellEditingStyle, indexPath:IndexPath) { - if ( action == .delete ) { - if let rowDescriptor = self.form.formRow(atIndex: indexPath) { - rowDescriptor.sectionDescriptor.removeFormRow(rowDescriptor) - switch rowDescriptor.value { - case let device as OMEMODevice: - - self.signalCoordinator?.removeDevice([device], completion: { (success) in - - }) - break - case let fingerprint as OTRFingerprint: - do { - try OTRProtocolManager.encryptionManager.otrKit.delete(fingerprint) - } catch { - - } - break - default: - break - } - } - } - } - - open static func cryptoChooserRows(_ buddy: OTRBuddy, connection: YapDatabaseConnection) -> [XLFormRowDescriptor] { - - let bestAvailableRow = XLFormRowDescriptor(tag: DefaultRowTag, rowType: XLFormRowDescriptorTypeBooleanCheck, title: Best_Available()) - let plaintextOnlyRow = XLFormRowDescriptor(tag: PlaintextRowTag, rowType: XLFormRowDescriptorTypeBooleanCheck, title: Plaintext_Only()) - let plaintextOtrRow = XLFormRowDescriptor(tag: PlaintextRowTag, rowType: XLFormRowDescriptorTypeBooleanCheck, title: Plaintext_Opportunistic_OTR()) - let otrRow = XLFormRowDescriptor(tag: OTRRowTag, rowType: XLFormRowDescriptorTypeBooleanCheck, title: "OTR") - let omemoRow = XLFormRowDescriptor(tag: OMEMORowTag, rowType: XLFormRowDescriptorTypeBooleanCheck, title: "OMEMO") - - var hasDevices = false - - connection.read { (transaction: YapDatabaseReadTransaction) in - if OMEMODevice.allDevices(forParentKey: buddy.uniqueId, collection: type(of: buddy).collection, transaction: transaction).count > 0 { - hasDevices = true - } - } - - if (!hasDevices) { - omemoRow.disabled = NSNumber(value: true as Bool) - } - - let trueValue = NSNumber(value: true as Bool) - switch buddy.preferredSecurity { - case .plaintextOnly: - plaintextOnlyRow.value = trueValue - break - case .bestAvailable: - bestAvailableRow.value = trueValue - break - case .OTR: - otrRow.value = trueValue - break - case .OMEMO: - omemoRow.value = trueValue - break - case .omemOandOTR: - omemoRow.value = trueValue - break - case .plaintextWithOTR: - plaintextOtrRow.value = trueValue - } - - let formRows = [bestAvailableRow, plaintextOnlyRow, plaintextOtrRow, otrRow, omemoRow] - - var currentRow: XLFormRowDescriptor? = nil - var rowsToDeselect: NSMutableSet = NSMutableSet() - let onChangeBlock = { (oldValue: Any?, newValue: Any?, rowDescriptor: XLFormRowDescriptor) in - // Prevent infinite loops - // Allow deselection - if rowsToDeselect.count > 0 { - rowsToDeselect.remove(rowDescriptor) - return - } - if currentRow != nil { - return - } - currentRow = rowDescriptor - - // Don't allow user to unselect a true value - if (newValue as AnyObject?)?.boolValue == false { - rowDescriptor.value = NSNumber(value: true as Bool) - currentRow = nil - return - } - - // Deselect other rows - rowsToDeselect = NSMutableSet(array: formRows.filter({ $0 != rowDescriptor })) - for row in rowsToDeselect { - guard let row = row as? XLFormRowDescriptor else { - continue - } - let newValue = NSNumber(value: false as Bool) - row.value = newValue - // Wow that's janky - (row.sectionDescriptor.formDescriptor.delegate as! XLFormViewControllerDelegate).reloadFormRow!(row) - } - - var preferredSecurity: OTRSessionSecurity = .bestAvailable - if (plaintextOnlyRow.value as AnyObject?)?.boolValue == true { - preferredSecurity = .plaintextOnly - } else if (otrRow.value as AnyObject?)?.boolValue == true { - preferredSecurity = .OTR - } else if (omemoRow.value as AnyObject?)?.boolValue == true { - preferredSecurity = .OMEMO - } else if (bestAvailableRow.value as AnyObject?)?.boolValue == true { - preferredSecurity = .bestAvailable - } else if (plaintextOtrRow.value as AnyObject?)?.boolValue == true { - preferredSecurity = .plaintextWithOTR - } - - OTRDatabaseManager.sharedInstance().readWriteDatabaseConnection?.readWrite({ (transaction: YapDatabaseReadWriteTransaction) in - guard var buddy = transaction.object(forKey: buddy.uniqueId, inCollection: type(of: buddy).collection) as? OTRBuddy else { - return - } - guard let account = buddy.account(with: transaction) else { - return - } - buddy = buddy.copy() as! OTRBuddy - buddy.preferredSecurity = preferredSecurity - buddy.save(with: transaction) - // Cancel OTR session if plaintext or omemo only - if (preferredSecurity == .plaintextOnly || preferredSecurity == .OMEMO) { - OTRProtocolManager.encryptionManager.otrKit.disableEncryption(withUsername: buddy.username, accountName: account.username, protocol: account.protocolTypeString()) - } - }) - currentRow = nil - } - - for row in formRows { - row.onChangeBlock = onChangeBlock - } - - return formRows - } - -//MARK UITableView Delegate overrides - - open override func tableView(_ tableView: UITableView, canEditRowAt indexPath: IndexPath) -> Bool { - if self.isAbleToDeleteCellAtIndexPath(indexPath) { - return true - } - return false - } - - open override func tableView(_ tableView: UITableView, editingStyleForRowAt indexPath: IndexPath) -> UITableViewCellEditingStyle { - if self.isAbleToDeleteCellAtIndexPath(indexPath) { - return .delete - } - return .none - } - - open override func tableView(_ tableView: UITableView, commit editingStyle: UITableViewCellEditingStyle, forRowAt indexPath: IndexPath) { - - self.performEdit(editingStyle, indexPath: indexPath) - } - - - @objc open static func profileFormDescriptorForAccount(_ account: OTRAccount, buddies: [OTRBuddy], connection: YapDatabaseConnection) -> XLFormDescriptor { - let form = XLFormDescriptor(title: Profile_String()) - - let yourProfileSection = XLFormSectionDescriptor.formSection(withTitle: Me_String()) - let yourProfileRow = XLFormRowDescriptor(tag: account.uniqueId, rowType: UserInfoProfileCell.defaultRowDescriptorType()) - yourProfileRow.value = account - yourProfileSection.addFormRow(yourProfileRow) - - guard let xmpp = OTRProtocolManager.sharedInstance().protocol(for: account) as? XMPPManager else { - return form - } - guard let myBundle = xmpp.omemoSignalCoordinator?.fetchMyBundle() else { - return form - } - let thisDevice = OMEMODevice(deviceId: NSNumber(value: myBundle.deviceId as UInt32), trustLevel: .trustedUser, parentKey: account.uniqueId, parentCollection: type(of: account).collection, publicIdentityKeyData: myBundle.identityKey, lastSeenDate: Date()) - var ourDevices: [OMEMODevice] = [] - connection.read { (transaction: YapDatabaseReadTransaction) in - ourDevices = OMEMODevice.allDevices(forParentKey: account.uniqueId, collection: type(of: account).collection, transaction: transaction) - } - - - let ourFilteredDevices = ourDevices.filter({ (device: OMEMODevice) -> Bool in - return device.uniqueId != thisDevice.uniqueId - }) - - // TODO - Sort ourDevices and theirDevices by lastSeen - - let addDevicesToSection: ([OMEMODevice], XLFormSectionDescriptor) -> Void = { devices, section in - for device in devices { - guard let _ = device.publicIdentityKeyData else { - continue - } - let row = XLFormRowDescriptor(tag: device.uniqueId, rowType: OMEMODeviceFingerprintCell.defaultRowDescriptorType()) - row.value = device.copy() - - // Don't allow editing of your own device - if device.uniqueId == thisDevice.uniqueId { - row.disabled = true - } - - section.addFormRow(row) - } - } - - let otrKit = OTRProtocolManager.encryptionManager.otrKit - let allFingerprints = otrKit.allFingerprints() - let myFingerprint = otrKit.fingerprint(forAccountName: account.username, protocol: account.protocolTypeString()) - let addFingerprintsToSection: ([OTRFingerprint], XLFormSectionDescriptor) -> Void = { fingerprints, section in - for fingerprint in fingerprints { - let row = XLFormRowDescriptor(tag: (fingerprint.fingerprint as NSData).otr_hexString(), rowType: OMEMODeviceFingerprintCell.defaultRowDescriptorType()) - if let myFingerprint = myFingerprint { - if (fingerprint === myFingerprint) { - // We implicitly trust ourselves with OTR - row.disabled = true - } else { - row.disabled = false - } - } - - row.value = fingerprint - - section.addFormRow(row) - } - } - - var allMyDevices: [OMEMODevice] = [] - allMyDevices.append(thisDevice) - allMyDevices.append(contentsOf: ourFilteredDevices) - addDevicesToSection(allMyDevices, yourProfileSection) - - var theirSections: [XLFormSectionDescriptor] = [] - - if let myFingerprint = myFingerprint { - addFingerprintsToSection([myFingerprint], yourProfileSection) - } - - // Add section for each buddy's device - for buddy in buddies { - let theirSection = XLFormSectionDescriptor.formSection(withTitle: buddy.username) - - let buddyRow = XLFormRowDescriptor(tag: buddy.uniqueId, rowType: UserInfoProfileCell.defaultRowDescriptorType()) - buddyRow.value = buddy - theirSection.addFormRow(buddyRow) - var theirDevices: [OMEMODevice] = [] - connection.read({ (transaction: YapDatabaseReadTransaction) in - theirDevices = OMEMODevice.allDevices(forParentKey: buddy.uniqueId, collection: type(of: buddy).collection, transaction: transaction) - }) - let theirFingerprints = allFingerprints.filter({ (fingerprint: OTRFingerprint) -> Bool in - return fingerprint.username == buddy.username && - fingerprint.accountName == account.username - }) - - addDevicesToSection(theirDevices, theirSection) - addFingerprintsToSection(theirFingerprints, theirSection) - theirSections.append(theirSection) - } - - - var sectionsToAdd: [XLFormSectionDescriptor] = [] - sectionsToAdd.append(contentsOf: theirSections) - - // cryptoChooserRows is only meaningful for 1:1 conversations at the moment - if buddies.count == 1 { - let buddy = buddies.first! - let cryptoSection = XLFormSectionDescriptor.formSection(withTitle: Advanced_Encryption_Settings()) - cryptoSection.footerTitle = Advanced_Crypto_Warning() - let showAdvancedSwitch = XLFormRowDescriptor.init(tag: self.ShowAdvancedCryptoSettingsTag, rowType: XLFormRowDescriptorTypeBooleanSwitch, title: Show_Advanced_Encryption_Settings()) - showAdvancedSwitch.value = NSNumber(value: false as Bool) - let cryptoChooser = cryptoChooserRows(buddy, connection: connection) - for row in cryptoChooser { - cryptoSection.addFormRow(row) - } - cryptoSection.hidden = "$\(ShowAdvancedCryptoSettingsTag)==0" - let buddySection = theirSections.first! - buddySection.addFormRow(showAdvancedSwitch) - sectionsToAdd.append(cryptoSection) - } - - sectionsToAdd.append(yourProfileSection) - - for section in sectionsToAdd { - if section.formRows.count > 0 { - form.addFormSection(section) - } - } - - return form - } - - // MARK: - UITableViewDelegate - - open override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { - super.tableView(tableView, didSelectRowAt: indexPath) - tableView.deselectRow(at: indexPath, animated: true) - guard let cell = self.tableView(tableView, cellForRowAt: indexPath) as? OMEMODeviceFingerprintCell else { - return - } - var fingerprint = "" - var username = "" - var cryptoType = "" - if let device = cell.rowDescriptor.value as? OMEMODevice { - cryptoType = "OMEMO" - fingerprint = device.humanReadableFingerprint - self.readConnection.read({ (transaction) in - if let buddy = transaction.object(forKey: device.parentKey, inCollection: device.parentCollection) as? OTRBuddy { - username = buddy.username - } - }) - } - if let otrFingerprint = cell.rowDescriptor.value as? OTRFingerprint { - cryptoType = "OTR" - fingerprint = (otrFingerprint.fingerprint as NSData).humanReadableFingerprint() - username = otrFingerprint.username - } - if fingerprint.count == 0 || username.count == 0 || cryptoType.count == 0 { - return - } - let stringToShare = "\(username): \(cryptoType) \(fingerprint)" - let activityViewController = UIActivityViewController(activityItems: [stringToShare], applicationActivities: nil) - if let ppc = activityViewController.popoverPresentationController { - ppc.sourceView = cell - ppc.sourceRect = cell.frame - } - present(activityViewController, animated: true, completion: nil) - } - -} diff --git a/ChatSecure/Classes/Views/Cells/OTRConversationCell.m b/ChatSecure/Classes/Views/Cells/OTRConversationCell.m index bb12b246f..23dfdca4a 100644 --- a/ChatSecure/Classes/Views/Cells/OTRConversationCell.m +++ b/ChatSecure/Classes/Views/Cells/OTRConversationCell.m @@ -18,7 +18,7 @@ #import "OTRVideoItem.h" @import OTRAssets; @import YapDatabase; -#import +#import "ChatSecureCoreCompat-Swift.h" @interface OTRConversationCell () diff --git a/ChatSecure/Classes/Views/Cells/OTRStoreTableViewCell.h b/ChatSecure/Classes/Views/Cells/OTRStoreTableViewCell.h deleted file mode 100644 index 2f7466cd5..000000000 --- a/ChatSecure/Classes/Views/Cells/OTRStoreTableViewCell.h +++ /dev/null @@ -1,30 +0,0 @@ -// -// OTRStoreTableViewCell.h -// Off the Record -// -// Created by Christopher Ballinger on 9/28/12. -// Copyright (c) 2012 Chris Ballinger. All rights reserved. -// -// This file is part of ChatSecure. -// -// ChatSecure is free software: you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// ChatSecure is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License -// along with ChatSecure. If not, see . - -#import -#import - -@interface OTRStoreTableViewCell : UITableViewCell - -@property (nonatomic, strong) SKProduct *product; - -@end diff --git a/ChatSecure/Classes/Views/Cells/OTRStoreTableViewCell.m b/ChatSecure/Classes/Views/Cells/OTRStoreTableViewCell.m deleted file mode 100644 index 0405d5c1c..000000000 --- a/ChatSecure/Classes/Views/Cells/OTRStoreTableViewCell.m +++ /dev/null @@ -1,66 +0,0 @@ -// -// OTRStoreTableViewCell.m -// Off the Record -// -// Created by Christopher Ballinger on 9/28/12. -// Copyright (c) 2012 Chris Ballinger. All rights reserved. -// -// This file is part of ChatSecure. -// -// ChatSecure is free software: you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// ChatSecure is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License -// along with ChatSecure. If not, see . - -#import "OTRStoreTableViewCell.h" -#import "OTRPurchaseController.h" -#import "Strings.h" - -@implementation OTRStoreTableViewCell -@synthesize product; - -- (void) setProduct:(SKProduct *)newProduct { - product = newProduct; - self.textLabel.text = product.localizedTitle; - self.detailTextLabel.text = product.localizedDescription; - - NSNumberFormatter *numberFormatter = [[NSNumberFormatter alloc] init]; - [numberFormatter setFormatterBehavior:NSNumberFormatterBehavior10_4]; - [numberFormatter setNumberStyle:NSNumberFormatterCurrencyStyle]; - [numberFormatter setLocale:product.priceLocale]; - NSString *priceString = [numberFormatter stringFromNumber:product.price]; - - BOOL productPurchased = [[OTRPurchaseController sharedInstance] isProductIdentifierPurchased:product.productIdentifier]; - if (productPurchased) { - priceString = PURCHASED_STRING; - } - - UISegmentedControl *buyButton = [[UISegmentedControl alloc]initWithItems:@[priceString]]; - buyButton.segmentedControlStyle = UISegmentedControlStyleBar; - buyButton.momentary = YES; - if (productPurchased) { - buyButton.enabled = NO; - } else { - [buyButton addTarget:self - action:@selector(buyButtonPressed:) - forControlEvents:UIControlEventValueChanged]; - } - self.accessoryView = buyButton; -} - -- (void) buyButtonPressed:(id)sender { - UIActivityIndicatorView *activityView = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleGray]; - [activityView startAnimating]; - self.accessoryView = activityView; - [[OTRPurchaseController sharedInstance] buyProduct:self.product]; -} - -@end diff --git a/ChatSecure/Settings.bundle/com.mono0926.LicensePlist.latest_result.txt b/ChatSecure/Settings.bundle/com.mono0926.LicensePlist.latest_result.txt index 1a333179d..beaa59d82 100644 --- a/ChatSecure/Settings.bundle/com.mono0926.LicensePlist.latest_result.txt +++ b/ChatSecure/Settings.bundle/com.mono0926.LicensePlist.latest_result.txt @@ -1,6 +1,10 @@ -name: Alamofire, nameSpecified: -body: Copyright (c) 2014 A… -version: 4.8.2 +name: AFNetworking, nameSpecified: +body: Copyright (c) 2011-2… +version: 3.2.1 + +name: AFNetworking, nameSpecified: +body: Copyright (c) 2011-2… +version: 3.2.1 name: Alamofire, nameSpecified: body: Copyright (c) 2014 A… @@ -18,10 +22,6 @@ name: Appirater, nameSpecified: body: Copyright 2017. Aras… version: 2.3.1 -name: Appirater, nameSpecified: -body: Copyright 2017. Aras… -version: 2.3.1 - name: ARChromeActivity, nameSpecified: body: ARChromeActivity Cop… @@ -32,15 +32,6 @@ body: ARChromeActivity Cop… version: 1.0.6 -name: ARChromeActivity, nameSpecified: -body: ARChromeActivity -Cop… -version: 1.0.6 - -name: BBlock, nameSpecified: -body: Copyright (c) 2012 D… -version: 1.2.1 - name: BBlock, nameSpecified: body: Copyright (c) 2012 D… version: 1.2.1 @@ -57,10 +48,6 @@ name: BButton, nameSpecified: body: BButton - copyright … version: 4.0.2 -name: BButton, nameSpecified: -body: BButton - copyright … -version: 4.0.2 - name: ChatSecure-Push-iOS, nameSpecified: body: … version: 1.1 @@ -69,13 +56,13 @@ name: ChatSecure-Push-iOS, nameSpecified: body: … version: 1.1 -name: ChatSecure-Push-iOS, nameSpecified: -body: … -version: 1.1 +name: ChatSecureCore, nameSpecified: +body: ChatSecure, an OTR-c… +version: 0.1.0 -name: CocoaAsyncSocket, nameSpecified: -body: Public Domain Licens… -version: 7.6.3 +name: ChatSecureCore, nameSpecified: +body: ChatSecure, an OTR-c… +version: 0.1.0 name: CocoaAsyncSocket, nameSpecified: body: Public Domain Licens… @@ -93,14 +80,6 @@ name: CocoaLumberjack, nameSpecified: body: BSD 3-Clause License… version: 3.5.2 -name: CocoaLumberjack, nameSpecified: -body: BSD 3-Clause License… -version: 3.5.2 - -name: CPAProxy, nameSpecified: -body: Copyright (c) 2013 C… -version: 1.2.0 - name: CPAProxy, nameSpecified: body: Copyright (c) 2013 C… version: 1.2.0 @@ -117,13 +96,13 @@ name: DTFoundation, nameSpecified: body: Copyright (c) 2011, … version: 1.7.13 -name: DTFoundation, nameSpecified: -body: Copyright (c) 2011, … -version: 1.7.13 +name: FormatterKit, nameSpecified: +body: Copyright (c) 2011–2… +version: 1.8.2 -name: GCDWebServer, nameSpecified: -body: Copyright (c) 2012-2… -version: 3.5.2 +name: FormatterKit, nameSpecified: +body: Copyright (c) 2011–2… +version: 1.8.2 name: GCDWebServer, nameSpecified: body: Copyright (c) 2012-2… @@ -143,16 +122,6 @@ body: … version: 1.1 -name: gtm-http-fetcher, nameSpecified: -body: - … -version: 1.1 - -name: gtm-oauth2, nameSpecified: -body: - … -version: 1.1 - name: gtm-oauth2, nameSpecified: body: … @@ -175,15 +144,13 @@ body: ## Licenses The Hoc… version: 5.1.4 -name: HockeySDK-Source, nameSpecified: -body: ## Licenses - -The Hoc… -version: 5.1.4 +name: HTMLReader, nameSpecified: +body: HTMLReader is in the… +version: 2.1.3 -name: IOCipher, nameSpecified: -body: GNU LESSER GENER… -version: 0.1.0 +name: HTMLReader, nameSpecified: +body: HTMLReader is in the… +version: 2.1.3 name: IOCipher, nameSpecified: body: GNU LESSER GENER… @@ -205,12 +172,6 @@ MIT License Copyrig… version: 7.3.4 -name: JSQMessagesViewController, nameSpecified: -body: -MIT License -Copyrig… -version: 7.3.4 - name: JTSImageViewController, nameSpecified: body: The MIT License (MIT… version: 1.5.1 @@ -219,14 +180,6 @@ name: JTSImageViewController, nameSpecified: body: The MIT License (MIT… version: 1.5.1 -name: JTSImageViewController, nameSpecified: -body: The MIT License (MIT… -version: 1.5.1 - -name: KissXML, nameSpecified: -body: Copyright (c) 2012, … -version: 5.2.3 - name: KissXML, nameSpecified: body: Copyright (c) 2012, … version: 5.2.3 @@ -243,15 +196,17 @@ name: Kvitto, nameSpecified: body: Copyright (c) 2015, … version: 1.0.3 -name: Kvitto, nameSpecified: -body: Copyright (c) 2015, … -version: 1.0.3 +name: KVOController, nameSpecified: +body: BSD License -name: libidn, nameSpecified: -body: libidn-podspec +For KVO… +version: 1.2.0 -The … -version: 1.35 +name: KVOController, nameSpecified: +body: BSD License + +For KVO… +version: 1.2.0 name: libidn, nameSpecified: body: libidn-podspec @@ -273,16 +228,6 @@ name: libsqlfs, nameSpecified: body: GNU LESSER GENER… version: 1.3.2 -name: libsqlfs, nameSpecified: -body: GNU LESSER GENER… -version: 1.3.2 - -name: LicensePlist, nameSpecified: -body: MIT License - -Copyrig… -version: 2.5.0 - name: LicensePlist, nameSpecified: body: MIT License @@ -305,14 +250,21 @@ body: Apache License … version: 3.3.1 -name: LumberjackConsole, nameSpecified: -body: Apache License - … -version: 3.3.1 +name: Mantle, nameSpecified: +body: **Copyright (c) GitH… +version: 2.1.0 -name: MWFeedParser, nameSpecified: -body: Copyright (c) 2010 M… -version: 1.0.1 +name: Mantle, nameSpecified: +body: **Copyright (c) GitH… +version: 2.1.0 + +name: MBProgressHUD, nameSpecified: +body: Copyright © 2009-201… +version: 1.1.0 + +name: MBProgressHUD, nameSpecified: +body: Copyright © 2009-201… +version: 1.1.0 name: MWFeedParser, nameSpecified: body: Copyright (c) 2010 M… @@ -330,10 +282,6 @@ name: Navajo, nameSpecified: body: Copyright (c) 2014 M… version: 0.0.1 -name: Navajo, nameSpecified: -body: Copyright (c) 2014 M… -version: 0.0.1 - name: NBUCore, nameSpecified: body: … @@ -344,14 +292,13 @@ body: … version: 2.1.0 -name: NBUCore, nameSpecified: -body: - … -version: 2.1.0 +name: OTRAssets, nameSpecified: +body: ChatSecure, an OTR-c… +version: 0.1.0 -name: OTRKit, nameSpecified: -body: Software License Agr… -version: 2.0.0 +name: OTRAssets, nameSpecified: +body: ChatSecure, an OTR-c… +version: 0.1.0 name: OTRKit, nameSpecified: body: Software License Agr… @@ -369,10 +316,6 @@ name: ParkedTextField, nameSpecified: body: The MIT License (MIT… version: 0.5.0 -name: ParkedTextField, nameSpecified: -body: The MIT License (MIT… -version: 0.5.0 - name: ProxyKit, nameSpecified: body: The MIT License (MIT… version: 1.2.0 @@ -381,13 +324,13 @@ name: ProxyKit, nameSpecified: body: The MIT License (MIT… version: 1.2.0 -name: ProxyKit, nameSpecified: -body: The MIT License (MIT… -version: 1.2.0 +name: PureLayout, nameSpecified: +body: This code is distrib… +version: 3.1.4 -name: QRCodeReaderViewController, nameSpecified: -body: The MIT License (MIT… -version: 4.0.2 +name: PureLayout, nameSpecified: +body: This code is distrib… +version: 3.1.4 name: QRCodeReaderViewController, nameSpecified: body: The MIT License (MIT… @@ -397,9 +340,13 @@ name: QRCodeReaderViewController, nameSpecified: body: The MIT License (MIT… version: 4.0.2 -name: SignalProtocolC, nameSpecified: -body: Copyright 20… -version: 2.3.2 +name: SAMKeychain, nameSpecified: +body: Copyright (c) 2010-2… +version: 1.5.3 + +name: SAMKeychain, nameSpecified: +body: Copyright (c) 2010-2… +version: 1.5.3 name: SignalProtocolC, nameSpecified: body: Copyright 20… @@ -417,10 +364,6 @@ name: SignalProtocolObjC, nameSpecified: body: Copyright 2016-2017 … version: 1.1.0 -name: SignalProtocolObjC, nameSpecified: -body: Copyright 2016-2017 … -version: 1.1.0 - name: SQLCipher, nameSpecified: body: Copyright (c) 2008, … version: 3.4.2 @@ -429,13 +372,13 @@ name: SQLCipher, nameSpecified: body: Copyright (c) 2008, … version: 3.4.2 -name: SQLCipher, nameSpecified: -body: Copyright (c) 2008, … -version: 3.4.2 +name: TTTAttributedLabel, nameSpecified: +body: Copyright (c) 2011 M… +version: 2.0.0 -name: TUSafariActivity, nameSpecified: -body: Copyright (c) 2012 T… -version: 1.0.4 +name: TTTAttributedLabel, nameSpecified: +body: Copyright (c) 2011 M… +version: 2.0.0 name: TUSafariActivity, nameSpecified: body: Copyright (c) 2012 T… @@ -445,9 +388,13 @@ name: TUSafariActivity, nameSpecified: body: Copyright (c) 2012 T… version: 1.0.4 -name: XMPPFramework, nameSpecified: -body: GCDAsyncSocket: (Pub… -version: 4.0.0 +name: XLForm, nameSpecified: +body: The MIT License (MIT… +version: 4.0.1 + +name: XLForm, nameSpecified: +body: The MIT License (MIT… +version: 4.0.1 name: XMPPFramework, nameSpecified: body: GCDAsyncSocket: (Pub… @@ -465,10 +412,6 @@ name: YapDatabase, nameSpecified: body: Software License Agr… version: 3.1.1 -name: YapDatabase, nameSpecified: -body: Software License Agr… -version: 3.1.1 - name: YapTaskQueue, nameSpecified: body: This is free and une… version: 0.3.0 @@ -477,9 +420,13 @@ name: YapTaskQueue, nameSpecified: body: This is free and une… version: 0.3.0 -name: YapTaskQueue, nameSpecified: -body: This is free and une… -version: 0.3.0 +name: ZXingObjC, nameSpecified: +body: … +version: 3.2.2 + +name: ZXingObjC, nameSpecified: +body: … +version: 3.2.2 name: AFNetworking, nameSpecified: , owner: AFNetworking, version: 3.2.1 diff --git a/ChatSecure/Settings.bundle/com.mono0926.LicensePlist.plist b/ChatSecure/Settings.bundle/com.mono0926.LicensePlist.plist index 93897b04e..0e58ff6f5 100644 --- a/ChatSecure/Settings.bundle/com.mono0926.LicensePlist.plist +++ b/ChatSecure/Settings.bundle/com.mono0926.LicensePlist.plist @@ -60,6 +60,14 @@ Type PSChildPaneSpecifier + + File + com.mono0926.LicensePlist/ChatSecureCore + Title + ChatSecureCore (0.1.0) + Type + PSChildPaneSpecifier + File com.mono0926.LicensePlist/CocoaAsyncSocket @@ -300,6 +308,14 @@ Type PSChildPaneSpecifier + + File + com.mono0926.LicensePlist/OTRAssets + Title + OTRAssets (0.1.0) + Type + PSChildPaneSpecifier + File com.mono0926.LicensePlist/OTRKit diff --git a/ChatSecure/Settings.bundle/com.mono0926.LicensePlist/ChatSecureCore.plist b/ChatSecure/Settings.bundle/com.mono0926.LicensePlist/ChatSecureCore.plist new file mode 100644 index 000000000..7fbd5c921 --- /dev/null +++ b/ChatSecure/Settings.bundle/com.mono0926.LicensePlist/ChatSecureCore.plist @@ -0,0 +1,32 @@ + + + + + PreferenceSpecifiers + + + FooterText + ChatSecure, an OTR-compatible iOS encrypted chat client +Copyright (C) 2012, Chris Ballinger + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see <http://www.gnu.org/licenses/>. + +If you would like to relicense this code to sell it on the App Store, +please contact me at chris@chatsecure.org. + Type + PSGroupSpecifier + + + + diff --git a/ChatSecure/Settings.bundle/com.mono0926.LicensePlist/OTRAssets.plist b/ChatSecure/Settings.bundle/com.mono0926.LicensePlist/OTRAssets.plist new file mode 100644 index 000000000..7fbd5c921 --- /dev/null +++ b/ChatSecure/Settings.bundle/com.mono0926.LicensePlist/OTRAssets.plist @@ -0,0 +1,32 @@ + + + + + PreferenceSpecifiers + + + FooterText + ChatSecure, an OTR-compatible iOS encrypted chat client +Copyright (C) 2012, Chris Ballinger + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see <http://www.gnu.org/licenses/>. + +If you would like to relicense this code to sell it on the App Store, +please contact me at chris@chatsecure.org. + Type + PSGroupSpecifier + + + + diff --git a/ChatSecureCore.podspec b/ChatSecureCore.podspec new file mode 100644 index 000000000..43a39df78 --- /dev/null +++ b/ChatSecureCore.podspec @@ -0,0 +1,90 @@ +Pod::Spec.new do |s| + s.name = 'ChatSecureCore' + s.version = '0.1.0' + s.summary = 'A short description of ChatSecureCore.' + + s.description = <<-DESC +TODO: Add long description of the pod here. + DESC + + s.homepage = 'https://github.com/ChatSecure/ChatSecure-iOS' + s.license = { :type => 'GPLv3', :file => 'LICENSE' } + s.author = { 'Chris Ballinger' => 'chris@chatsecure.org' } + s.source = { :git => 'https://github.com/ChatSecure/ChatSecureCore.git', :tag => s.version.to_s } + s.social_media_url = 'https://twitter.com/ChatSecure' + + s.ios.deployment_target = '9.0' + + s.source_files = ['ChatSecure/Classes/**/*.{h,m,swift}', 'ChatSecureCore/**/*.h'] + s.public_header_files = ['ChatSecureCore/ChatSecureCore.h', + 'ChatSecureCore/Public/*.h',] + s.private_header_files = ['ChatSecureCore/Private/*.h'] + + s.xcconfig = { 'OTHER_CFLAGS' => '$(inherited) -DSQLITE_HAS_CODEC' } + + s.frameworks = ['UIKit', 'StoreKit'] + + # User Interface + s.dependency "Appirater", '~> 2.0' + s.dependency 'OpenInChrome', '~> 0.0' + s.dependency 'JTSImageViewController', '~> 1.4' + s.dependency 'BButton', '~> 4.0' + s.dependency 'TUSafariActivity', '~> 1.0' + s.dependency 'ARChromeActivity', '~> 1.0' + s.dependency 'QRCodeReaderViewController', '~> 4.0' + s.dependency 'ParkedTextField' + + + s.dependency 'JSQMessagesViewController' + s.dependency 'LumberjackConsole' + + + # Utility + s.dependency 'CocoaLumberjack/Swift', '~> 3.5.0' + s.dependency 'MWFeedParser', '~> 1.0' + s.dependency 'Navajo', '~> 0.0' + s.dependency 'BBlock', '~> 1.2' + s.dependency 'HockeySDK-Source' + s.dependency 'LicensePlist' + + # Network + s.dependency 'CocoaAsyncSocket', '~> 7.6.0' + s.dependency 'ProxyKit/Client', '~> 1.2.0' + s.dependency 'GCDWebServer', '~> 3.4' + s.dependency 'CPAProxy' + s.dependency 'XMPPFramework/Swift' + + s.dependency 'ChatSecure-Push-iOS' + + # Storage + # We are blocked on SQLCipher 4.0.0 migration https://github.com/ChatSecure/ChatSecure-iOS/issues/1078 + s.dependency 'SQLCipher', '~> 3.4' + # Version 3.1.2 breaks YapTaskQueue 0.3.0 + s.dependency 'YapDatabase/SQLCipher', '3.1.1' + + # The upstream 1.3.2 has a regression https://github.com/ChatSecure/ChatSecure-iOS/issues/1075 + s.dependency 'libsqlfs/SQLCipher' + s.dependency 'IOCipher/GCDWebServer' + s.dependency 'YapTaskQueue/SQLCipher' + + # Crypto + s.dependency 'SignalProtocolObjC' + s.dependency 'OTRKit' + + s.dependency 'Alamofire', '~> 4.4' + s.dependency 'Kvitto', '~> 1.0' + + s.dependency "Mantle" + s.dependency "HTMLReader", '~> 2.1.1' + s.dependency "AFNetworking", '~> 3.1' + s.dependency "ZXingObjC", '~> 3.2.2' + s.dependency "SAMKeychain", '~> 1.5' + s.dependency "MBProgressHUD", '~> 1.1' + s.dependency "TTTAttributedLabel", '~> 2.0' + s.dependency "PureLayout", '~> 3.0' + s.dependency "KVOController", '~> 1.2' + s.dependency "XLForm", '~> 4.0.0' + s.dependency "FormatterKit", '~> 1.8' + + s.dependency "OTRAssets" +end diff --git a/ChatSecureCore/Private/ChatSecureCoreCompat-Swift.h b/ChatSecureCore/Private/ChatSecureCoreCompat-Swift.h new file mode 100644 index 000000000..6aa4ea448 --- /dev/null +++ b/ChatSecureCore/Private/ChatSecureCoreCompat-Swift.h @@ -0,0 +1,16 @@ +// +// ChatSecureCoreCompat-Swift.h +// ChatSecureCore +// +// Created by Christopher Ballinger on 9/14/15. +// Copyright © 2015 Chris Ballinger. All rights reserved. +// + +// Import this header instead of +// This allows the pod to be built as a static or dynamic framework +// See https://github.com/CocoaPods/CocoaPods/issues/7594 +#if __has_include("ChatSecureCore-Swift.h") +#import "ChatSecureCore-Swift.h" +#else +#import +#endif diff --git a/ChatSecure/Classes/Utilities/AppTheme.h b/ChatSecureCore/Public/AppTheme.h similarity index 100% rename from ChatSecure/Classes/Utilities/AppTheme.h rename to ChatSecureCore/Public/AppTheme.h diff --git a/ChatSecure/Classes/Categories/NSString+ChatSecure.h b/ChatSecureCore/Public/NSString+ChatSecure.h similarity index 100% rename from ChatSecure/Classes/Categories/NSString+ChatSecure.h rename to ChatSecureCore/Public/NSString+ChatSecure.h diff --git a/ChatSecure/Classes/Categories/NSURL+ChatSecure.h b/ChatSecureCore/Public/NSURL+ChatSecure.h similarity index 100% rename from ChatSecure/Classes/Categories/NSURL+ChatSecure.h rename to ChatSecureCore/Public/NSURL+ChatSecure.h diff --git a/ChatSecure/Classes/Model/Yap Storage/OMEMO-Storage/OMEMODevice.h b/ChatSecureCore/Public/OMEMODevice.h similarity index 100% rename from ChatSecure/Classes/Model/Yap Storage/OMEMO-Storage/OMEMODevice.h rename to ChatSecureCore/Public/OMEMODevice.h diff --git a/ChatSecure/Classes/Model/Yap Storage/Accounts/OTRAccount.h b/ChatSecureCore/Public/OTRAccount.h similarity index 100% rename from ChatSecure/Classes/Model/Yap Storage/Accounts/OTRAccount.h rename to ChatSecureCore/Public/OTRAccount.h diff --git a/ChatSecure/Classes/View Controllers/Login View Controllers/OTRAccountMigrationViewController.h b/ChatSecureCore/Public/OTRAccountMigrationViewController.h similarity index 100% rename from ChatSecure/Classes/View Controllers/Login View Controllers/OTRAccountMigrationViewController.h rename to ChatSecureCore/Public/OTRAccountMigrationViewController.h diff --git a/ChatSecure/Classes/Controllers/OTRAccountMigrator.h b/ChatSecureCore/Public/OTRAccountMigrator.h similarity index 100% rename from ChatSecure/Classes/Controllers/OTRAccountMigrator.h rename to ChatSecureCore/Public/OTRAccountMigrator.h diff --git a/ChatSecure/Classes/Model/Yap Storage/Signal-Storage/OTRAccountSignalIdentity.h b/ChatSecureCore/Public/OTRAccountSignalIdentity.h similarity index 100% rename from ChatSecure/Classes/Model/Yap Storage/Signal-Storage/OTRAccountSignalIdentity.h rename to ChatSecureCore/Public/OTRAccountSignalIdentity.h diff --git a/ChatSecure/Classes/Controllers/OTRAccountsManager.h b/ChatSecureCore/Public/OTRAccountsManager.h similarity index 100% rename from ChatSecure/Classes/Controllers/OTRAccountsManager.h rename to ChatSecureCore/Public/OTRAccountsManager.h diff --git a/ChatSecure/Classes/Model/OTRActivityItemProvider.h b/ChatSecureCore/Public/OTRActivityItemProvider.h similarity index 100% rename from ChatSecure/Classes/Model/OTRActivityItemProvider.h rename to ChatSecureCore/Public/OTRActivityItemProvider.h diff --git a/ChatSecure/Classes/OTRAppDelegate.h b/ChatSecureCore/Public/OTRAppDelegate.h similarity index 100% rename from ChatSecure/Classes/OTRAppDelegate.h rename to ChatSecureCore/Public/OTRAppDelegate.h diff --git a/ChatSecure/Classes/Controllers/OTRAttachmentPicker.h b/ChatSecureCore/Public/OTRAttachmentPicker.h similarity index 100% rename from ChatSecure/Classes/Controllers/OTRAttachmentPicker.h rename to ChatSecureCore/Public/OTRAttachmentPicker.h diff --git a/ChatSecure/Classes/Model/Yap Storage/OTRAudioItem.h b/ChatSecureCore/Public/OTRAudioItem.h similarity index 100% rename from ChatSecure/Classes/Model/Yap Storage/OTRAudioItem.h rename to ChatSecureCore/Public/OTRAudioItem.h diff --git a/ChatSecure/Classes/View Controllers/Login View Controllers/OTRBaseLoginViewController.h b/ChatSecureCore/Public/OTRBaseLoginViewController.h similarity index 100% rename from ChatSecure/Classes/View Controllers/Login View Controllers/OTRBaseLoginViewController.h rename to ChatSecureCore/Public/OTRBaseLoginViewController.h diff --git a/ChatSecure/Classes/Model/Yap Storage/OTRBaseMessage.h b/ChatSecureCore/Public/OTRBaseMessage.h similarity index 100% rename from ChatSecure/Classes/Model/Yap Storage/OTRBaseMessage.h rename to ChatSecureCore/Public/OTRBaseMessage.h diff --git a/ChatSecure/Classes/Model/Yap Storage/OTRBuddy.h b/ChatSecureCore/Public/OTRBuddy.h similarity index 100% rename from ChatSecure/Classes/Model/Yap Storage/OTRBuddy.h rename to ChatSecureCore/Public/OTRBuddy.h diff --git a/ChatSecure/Classes/Views/Cells/OTRBuddyApprovalCell.h b/ChatSecureCore/Public/OTRBuddyApprovalCell.h similarity index 100% rename from ChatSecure/Classes/Views/Cells/OTRBuddyApprovalCell.h rename to ChatSecureCore/Public/OTRBuddyApprovalCell.h diff --git a/ChatSecure/Classes/Model/OTRBuddyCache.h b/ChatSecureCore/Public/OTRBuddyCache.h similarity index 100% rename from ChatSecure/Classes/Model/OTRBuddyCache.h rename to ChatSecureCore/Public/OTRBuddyCache.h diff --git a/ChatSecure/Classes/Views/Cells/OTRBuddyImageCell.h b/ChatSecureCore/Public/OTRBuddyImageCell.h similarity index 100% rename from ChatSecure/Classes/Views/Cells/OTRBuddyImageCell.h rename to ChatSecureCore/Public/OTRBuddyImageCell.h diff --git a/ChatSecure/Classes/Views/Cells/OTRBuddyInfoCell.h b/ChatSecureCore/Public/OTRBuddyInfoCell.h similarity index 100% rename from ChatSecure/Classes/Views/Cells/OTRBuddyInfoCell.h rename to ChatSecureCore/Public/OTRBuddyInfoCell.h diff --git a/ChatSecure/Classes/Utilities/OTRCertificatePinning.h b/ChatSecureCore/Public/OTRCertificatePinning.h similarity index 100% rename from ChatSecure/Classes/Utilities/OTRCertificatePinning.h rename to ChatSecureCore/Public/OTRCertificatePinning.h diff --git a/ChatSecure/Classes/View Controllers/OTRChooseAccountViewController.h b/ChatSecureCore/Public/OTRChooseAccountViewController.h similarity index 100% rename from ChatSecure/Classes/View Controllers/OTRChooseAccountViewController.h rename to ChatSecureCore/Public/OTRChooseAccountViewController.h diff --git a/ChatSecure/Classes/View Controllers/OTRComposeViewController.h b/ChatSecureCore/Public/OTRComposeViewController.h similarity index 100% rename from ChatSecure/Classes/View Controllers/OTRComposeViewController.h rename to ChatSecureCore/Public/OTRComposeViewController.h diff --git a/ChatSecure/Classes/Utilities/OTRConstants.h b/ChatSecureCore/Public/OTRConstants.h similarity index 100% rename from ChatSecure/Classes/Utilities/OTRConstants.h rename to ChatSecureCore/Public/OTRConstants.h diff --git a/ChatSecure/Classes/View Controllers/OTRConversationViewController.h b/ChatSecureCore/Public/OTRConversationViewController.h similarity index 100% rename from ChatSecure/Classes/View Controllers/OTRConversationViewController.h rename to ChatSecureCore/Public/OTRConversationViewController.h diff --git a/ChatSecure/Classes/Controllers/OTRDatabaseManager.h b/ChatSecureCore/Public/OTRDatabaseManager.h similarity index 100% rename from ChatSecure/Classes/Controllers/OTRDatabaseManager.h rename to ChatSecureCore/Public/OTRDatabaseManager.h diff --git a/ChatSecure/Classes/View Controllers/OTRDatabaseUnlockViewController.h b/ChatSecureCore/Public/OTRDatabaseUnlockViewController.h similarity index 100% rename from ChatSecure/Classes/View Controllers/OTRDatabaseUnlockViewController.h rename to ChatSecureCore/Public/OTRDatabaseUnlockViewController.h diff --git a/ChatSecure/Classes/Controllers/OTRDatabaseView.h b/ChatSecureCore/Public/OTRDatabaseView.h similarity index 100% rename from ChatSecure/Classes/Controllers/OTRDatabaseView.h rename to ChatSecureCore/Public/OTRDatabaseView.h diff --git a/ChatSecure/Classes/Model/Yap Storage/OTRDownloadMessage.h b/ChatSecureCore/Public/OTRDownloadMessage.h similarity index 100% rename from ChatSecure/Classes/Model/Yap Storage/OTRDownloadMessage.h rename to ChatSecureCore/Public/OTRDownloadMessage.h diff --git a/ChatSecure/Classes/Controllers/OTREncryptionManager.h b/ChatSecureCore/Public/OTREncryptionManager.h similarity index 100% rename from ChatSecure/Classes/Controllers/OTREncryptionManager.h rename to ChatSecureCore/Public/OTREncryptionManager.h diff --git a/ChatSecure/Classes/Model/Yap Storage/OTRImageItem.h b/ChatSecureCore/Public/OTRImageItem.h similarity index 100% rename from ChatSecure/Classes/Model/Yap Storage/OTRImageItem.h rename to ChatSecureCore/Public/OTRImageItem.h diff --git a/ChatSecure/Classes/Utilities/OTRImages.h b/ChatSecureCore/Public/OTRImages.h similarity index 100% rename from ChatSecure/Classes/Utilities/OTRImages.h rename to ChatSecureCore/Public/OTRImages.h diff --git a/ChatSecure/Classes/Model/Yap Storage/OTRIncomingMessage.h b/ChatSecureCore/Public/OTRIncomingMessage.h similarity index 100% rename from ChatSecure/Classes/Model/Yap Storage/OTRIncomingMessage.h rename to ChatSecureCore/Public/OTRIncomingMessage.h diff --git a/ChatSecure/Classes/View Controllers/OTRInviteViewController.h b/ChatSecureCore/Public/OTRInviteViewController.h similarity index 100% rename from ChatSecure/Classes/View Controllers/OTRInviteViewController.h rename to ChatSecureCore/Public/OTRInviteViewController.h diff --git a/ChatSecure/Classes/View Controllers/OTRLanguageListSettingViewController.h b/ChatSecureCore/Public/OTRLanguageListSettingViewController.h similarity index 100% rename from ChatSecure/Classes/View Controllers/OTRLanguageListSettingViewController.h rename to ChatSecureCore/Public/OTRLanguageListSettingViewController.h diff --git a/ChatSecure/Classes/Model/Settings/OTRLanguageSetting.h b/ChatSecureCore/Public/OTRLanguageSetting.h similarity index 100% rename from ChatSecure/Classes/Model/Settings/OTRLanguageSetting.h rename to ChatSecureCore/Public/OTRLanguageSetting.h diff --git a/ChatSecure/Classes/Model/Settings/OTRListSetting.h b/ChatSecureCore/Public/OTRListSetting.h similarity index 100% rename from ChatSecure/Classes/Model/Settings/OTRListSetting.h rename to ChatSecureCore/Public/OTRListSetting.h diff --git a/ChatSecure/Classes/View Controllers/OTRListSettingViewController.h b/ChatSecureCore/Public/OTRListSettingViewController.h similarity index 100% rename from ChatSecure/Classes/View Controllers/OTRListSettingViewController.h rename to ChatSecureCore/Public/OTRListSettingViewController.h diff --git a/ChatSecure/Classes/View Controllers/Login View Controllers/OTRLoginHandler.h b/ChatSecureCore/Public/OTRLoginHandler.h similarity index 100% rename from ChatSecure/Classes/View Controllers/Login View Controllers/OTRLoginHandler.h rename to ChatSecureCore/Public/OTRLoginHandler.h diff --git a/ChatSecure/Classes/Controllers/OTRMediaFileManager.h b/ChatSecureCore/Public/OTRMediaFileManager.h similarity index 100% rename from ChatSecure/Classes/Controllers/OTRMediaFileManager.h rename to ChatSecureCore/Public/OTRMediaFileManager.h diff --git a/ChatSecure/Classes/Model/Yap Storage/OTRMediaItem.h b/ChatSecureCore/Public/OTRMediaItem.h similarity index 100% rename from ChatSecure/Classes/Model/Yap Storage/OTRMediaItem.h rename to ChatSecureCore/Public/OTRMediaItem.h diff --git a/ChatSecure/Classes/Controllers/OTRMediaServer.h b/ChatSecureCore/Public/OTRMediaServer.h similarity index 100% rename from ChatSecure/Classes/Controllers/OTRMediaServer.h rename to ChatSecureCore/Public/OTRMediaServer.h diff --git a/ChatSecure/Classes/Model/Yap Storage/OTRMessage.h b/ChatSecureCore/Public/OTRMessage.h similarity index 100% rename from ChatSecure/Classes/Model/Yap Storage/OTRMessage.h rename to ChatSecureCore/Public/OTRMessage.h diff --git a/ChatSecure/Classes/Model/Yap Storage/OTRMessageEncryptionInfo.h b/ChatSecureCore/Public/OTRMessageEncryptionInfo.h similarity index 100% rename from ChatSecure/Classes/Model/Yap Storage/OTRMessageEncryptionInfo.h rename to ChatSecureCore/Public/OTRMessageEncryptionInfo.h diff --git a/ChatSecure/Classes/View Controllers/OTRMessagesHoldTalkViewController.h b/ChatSecureCore/Public/OTRMessagesHoldTalkViewController.h similarity index 100% rename from ChatSecure/Classes/View Controllers/OTRMessagesHoldTalkViewController.h rename to ChatSecureCore/Public/OTRMessagesHoldTalkViewController.h diff --git a/ChatSecure/Classes/View Controllers/OTRMessagesViewController.h b/ChatSecureCore/Public/OTRMessagesViewController.h similarity index 100% rename from ChatSecure/Classes/View Controllers/OTRMessagesViewController.h rename to ChatSecureCore/Public/OTRMessagesViewController.h diff --git a/ChatSecure/Classes/View Controllers/OTRNewBuddyViewController.h b/ChatSecureCore/Public/OTRNewBuddyViewController.h similarity index 100% rename from ChatSecure/Classes/View Controllers/OTRNewBuddyViewController.h rename to ChatSecureCore/Public/OTRNewBuddyViewController.h diff --git a/ChatSecure/Classes/Model/Yap Storage/OTROutgoingMessage.h b/ChatSecureCore/Public/OTROutgoingMessage.h similarity index 100% rename from ChatSecure/Classes/Model/Yap Storage/OTROutgoingMessage.h rename to ChatSecureCore/Public/OTROutgoingMessage.h diff --git a/ChatSecure/Classes/Utilities/OTRPasswordGenerator.h b/ChatSecureCore/Public/OTRPasswordGenerator.h similarity index 100% rename from ChatSecure/Classes/Utilities/OTRPasswordGenerator.h rename to ChatSecureCore/Public/OTRPasswordGenerator.h diff --git a/ChatSecure/Classes/Controllers/OTRProtocol.h b/ChatSecureCore/Public/OTRProtocol.h similarity index 100% rename from ChatSecure/Classes/Controllers/OTRProtocol.h rename to ChatSecureCore/Public/OTRProtocol.h diff --git a/ChatSecure/Classes/Controllers/OTRProtocolManager.h b/ChatSecureCore/Public/OTRProtocolManager.h similarity index 100% rename from ChatSecure/Classes/Controllers/OTRProtocolManager.h rename to ChatSecureCore/Public/OTRProtocolManager.h diff --git a/ChatSecure/Classes/Controllers/OTRPushTLVHandlerProtocols.h b/ChatSecureCore/Public/OTRPushTLVHandlerProtocols.h similarity index 100% rename from ChatSecure/Classes/Controllers/OTRPushTLVHandlerProtocols.h rename to ChatSecureCore/Public/OTRPushTLVHandlerProtocols.h diff --git a/ChatSecure/Classes/Model/OTRQRCodeActivity.h b/ChatSecureCore/Public/OTRQRCodeActivity.h similarity index 100% rename from ChatSecure/Classes/Model/OTRQRCodeActivity.h rename to ChatSecureCore/Public/OTRQRCodeActivity.h diff --git a/ChatSecure/Classes/View Controllers/OTRQRCodeReaderDelegate.h b/ChatSecureCore/Public/OTRQRCodeReaderDelegate.h similarity index 100% rename from ChatSecure/Classes/View Controllers/OTRQRCodeReaderDelegate.h rename to ChatSecureCore/Public/OTRQRCodeReaderDelegate.h diff --git a/ChatSecure/Classes/View Controllers/OTRQRCodeViewController.h b/ChatSecureCore/Public/OTRQRCodeViewController.h similarity index 100% rename from ChatSecure/Classes/View Controllers/OTRQRCodeViewController.h rename to ChatSecureCore/Public/OTRQRCodeViewController.h diff --git a/ChatSecure/Classes/Controllers/XMPP/OTRServerCapabilities.h b/ChatSecureCore/Public/OTRServerCapabilities.h similarity index 100% rename from ChatSecure/Classes/Controllers/XMPP/OTRServerCapabilities.h rename to ChatSecureCore/Public/OTRServerCapabilities.h diff --git a/ChatSecure/Classes/Model/Settings/OTRSetting.h b/ChatSecureCore/Public/OTRSetting.h similarity index 100% rename from ChatSecure/Classes/Model/Settings/OTRSetting.h rename to ChatSecureCore/Public/OTRSetting.h diff --git a/ChatSecure/Classes/View Controllers/OTRSettingDetailViewController.h b/ChatSecureCore/Public/OTRSettingDetailViewController.h similarity index 100% rename from ChatSecure/Classes/View Controllers/OTRSettingDetailViewController.h rename to ChatSecureCore/Public/OTRSettingDetailViewController.h diff --git a/ChatSecure/Classes/Model/Settings/OTRSettingsGroup.h b/ChatSecureCore/Public/OTRSettingsGroup.h similarity index 100% rename from ChatSecure/Classes/Model/Settings/OTRSettingsGroup.h rename to ChatSecureCore/Public/OTRSettingsGroup.h diff --git a/ChatSecure/Classes/Controllers/OTRSettingsManager.h b/ChatSecureCore/Public/OTRSettingsManager.h similarity index 100% rename from ChatSecure/Classes/Controllers/OTRSettingsManager.h rename to ChatSecureCore/Public/OTRSettingsManager.h diff --git a/ChatSecure/Classes/View Controllers/OTRSettingsViewController.h b/ChatSecureCore/Public/OTRSettingsViewController.h similarity index 100% rename from ChatSecure/Classes/View Controllers/OTRSettingsViewController.h rename to ChatSecureCore/Public/OTRSettingsViewController.h diff --git a/ChatSecure/Classes/Model/Settings/OTRShareSetting.h b/ChatSecureCore/Public/OTRShareSetting.h similarity index 100% rename from ChatSecure/Classes/Model/Settings/OTRShareSetting.h rename to ChatSecureCore/Public/OTRShareSetting.h diff --git a/ChatSecure/Classes/Model/Yap Storage/Signal-Storage/OTRSignalObject.h b/ChatSecureCore/Public/OTRSignalObject.h similarity index 100% rename from ChatSecure/Classes/Model/Yap Storage/Signal-Storage/OTRSignalObject.h rename to ChatSecureCore/Public/OTRSignalObject.h diff --git a/ChatSecure/Classes/Model/Yap Storage/Signal-Storage/OTRSignalPreKey.h b/ChatSecureCore/Public/OTRSignalPreKey.h similarity index 100% rename from ChatSecure/Classes/Model/Yap Storage/Signal-Storage/OTRSignalPreKey.h rename to ChatSecureCore/Public/OTRSignalPreKey.h diff --git a/ChatSecure/Classes/Model/Yap Storage/Signal-Storage/OTRSignalSenderKey.h b/ChatSecureCore/Public/OTRSignalSenderKey.h similarity index 100% rename from ChatSecure/Classes/Model/Yap Storage/Signal-Storage/OTRSignalSenderKey.h rename to ChatSecureCore/Public/OTRSignalSenderKey.h diff --git a/ChatSecure/Classes/Model/Yap Storage/Signal-Storage/OTRSignalSession.h b/ChatSecureCore/Public/OTRSignalSession.h similarity index 100% rename from ChatSecure/Classes/Model/Yap Storage/Signal-Storage/OTRSignalSession.h rename to ChatSecureCore/Public/OTRSignalSession.h diff --git a/ChatSecure/Classes/Model/Yap Storage/Signal-Storage/OTRSignalSignedPreKey.h b/ChatSecureCore/Public/OTRSignalSignedPreKey.h similarity index 100% rename from ChatSecure/Classes/Model/Yap Storage/Signal-Storage/OTRSignalSignedPreKey.h rename to ChatSecureCore/Public/OTRSignalSignedPreKey.h diff --git a/ChatSecure/Classes/Model/Yap Storage/OTRThreadOwner.h b/ChatSecureCore/Public/OTRThreadOwner.h similarity index 100% rename from ChatSecure/Classes/Model/Yap Storage/OTRThreadOwner.h rename to ChatSecureCore/Public/OTRThreadOwner.h diff --git a/ChatSecure/Classes/Views/OTRTitleSubtitleView.h b/ChatSecureCore/Public/OTRTitleSubtitleView.h similarity index 100% rename from ChatSecure/Classes/Views/OTRTitleSubtitleView.h rename to ChatSecureCore/Public/OTRTitleSubtitleView.h diff --git a/ChatSecure/Classes/Model/Yap Storage/Accounts/OTRUserInfoProfile.h b/ChatSecureCore/Public/OTRUserInfoProfile.h similarity index 100% rename from ChatSecure/Classes/Model/Yap Storage/Accounts/OTRUserInfoProfile.h rename to ChatSecureCore/Public/OTRUserInfoProfile.h diff --git a/ChatSecure/Classes/Model/Settings/OTRValueSetting.h b/ChatSecureCore/Public/OTRValueSetting.h similarity index 100% rename from ChatSecure/Classes/Model/Settings/OTRValueSetting.h rename to ChatSecureCore/Public/OTRValueSetting.h diff --git a/ChatSecure/Classes/Model/Yap Storage/OTRVideoItem.h b/ChatSecureCore/Public/OTRVideoItem.h similarity index 100% rename from ChatSecure/Classes/Model/Yap Storage/OTRVideoItem.h rename to ChatSecureCore/Public/OTRVideoItem.h diff --git a/ChatSecure/Classes/Model/Settings/OTRViewSetting.h b/ChatSecureCore/Public/OTRViewSetting.h similarity index 100% rename from ChatSecure/Classes/Model/Settings/OTRViewSetting.h rename to ChatSecureCore/Public/OTRViewSetting.h diff --git a/ChatSecure/Classes/View Controllers/Login View Controllers/OTRXLFormCreator.h b/ChatSecureCore/Public/OTRXLFormCreator.h similarity index 100% rename from ChatSecure/Classes/View Controllers/Login View Controllers/OTRXLFormCreator.h rename to ChatSecureCore/Public/OTRXLFormCreator.h diff --git a/ChatSecure/Classes/Model/Yap Storage/Accounts/OTRXMPPAccount.h b/ChatSecureCore/Public/OTRXMPPAccount.h similarity index 100% rename from ChatSecure/Classes/Model/Yap Storage/Accounts/OTRXMPPAccount.h rename to ChatSecureCore/Public/OTRXMPPAccount.h diff --git a/ChatSecure/Classes/Model/Yap Storage/OTRXMPPBuddy.h b/ChatSecureCore/Public/OTRXMPPBuddy.h similarity index 100% rename from ChatSecure/Classes/Model/Yap Storage/OTRXMPPBuddy.h rename to ChatSecureCore/Public/OTRXMPPBuddy.h diff --git a/ChatSecure/Classes/View Controllers/Login View Controllers/OTRXMPPCreateAccountHandler.h b/ChatSecureCore/Public/OTRXMPPCreateAccountHandler.h similarity index 100% rename from ChatSecure/Classes/View Controllers/Login View Controllers/OTRXMPPCreateAccountHandler.h rename to ChatSecureCore/Public/OTRXMPPCreateAccountHandler.h diff --git a/ChatSecure/Classes/Utilities/OTRXMPPError.h b/ChatSecureCore/Public/OTRXMPPError.h similarity index 100% rename from ChatSecure/Classes/Utilities/OTRXMPPError.h rename to ChatSecureCore/Public/OTRXMPPError.h diff --git a/ChatSecure/Classes/View Controllers/Login View Controllers/OTRXMPPLoginHandler.h b/ChatSecureCore/Public/OTRXMPPLoginHandler.h similarity index 100% rename from ChatSecure/Classes/View Controllers/Login View Controllers/OTRXMPPLoginHandler.h rename to ChatSecureCore/Public/OTRXMPPLoginHandler.h diff --git a/ChatSecure/Classes/Controllers/XMPP/OTRXMPPManager.h b/ChatSecureCore/Public/OTRXMPPManager.h similarity index 100% rename from ChatSecure/Classes/Controllers/XMPP/OTRXMPPManager.h rename to ChatSecureCore/Public/OTRXMPPManager.h diff --git a/ChatSecure/Classes/Controllers/XMPP/OTRXMPPRoomManager.h b/ChatSecureCore/Public/OTRXMPPRoomManager.h similarity index 100% rename from ChatSecure/Classes/Controllers/XMPP/OTRXMPPRoomManager.h rename to ChatSecureCore/Public/OTRXMPPRoomManager.h diff --git a/ChatSecure/Classes/Model/OTRXMPPServerInfo.h b/ChatSecureCore/Public/OTRXMPPServerInfo.h similarity index 100% rename from ChatSecure/Classes/Model/OTRXMPPServerInfo.h rename to ChatSecureCore/Public/OTRXMPPServerInfo.h diff --git a/ChatSecure/Classes/Model/Yap Storage/OTRYapDatabaseObject.h b/ChatSecureCore/Public/OTRYapDatabaseObject.h similarity index 100% rename from ChatSecure/Classes/Model/Yap Storage/OTRYapDatabaseObject.h rename to ChatSecureCore/Public/OTRYapDatabaseObject.h diff --git a/ChatSecure/Classes/Model/Yap Storage/OTRYapMessageSendAction.h b/ChatSecureCore/Public/OTRYapMessageSendAction.h similarity index 100% rename from ChatSecure/Classes/Model/Yap Storage/OTRYapMessageSendAction.h rename to ChatSecureCore/Public/OTRYapMessageSendAction.h diff --git a/ChatSecure/Classes/Model/Yap Storage/OTRvCard.h b/ChatSecureCore/Public/OTRvCard.h similarity index 100% rename from ChatSecure/Classes/Model/Yap Storage/OTRvCard.h rename to ChatSecureCore/Public/OTRvCard.h diff --git a/ChatSecure/Classes/Model/Yap Storage/RoomOccupantRole.h b/ChatSecureCore/Public/RoomOccupantRole.h similarity index 100% rename from ChatSecure/Classes/Model/Yap Storage/RoomOccupantRole.h rename to ChatSecureCore/Public/RoomOccupantRole.h diff --git a/ChatSecure/Classes/Categories/UIImage+ChatSecure.h b/ChatSecureCore/Public/UIImage+ChatSecure.h similarity index 100% rename from ChatSecure/Classes/Categories/UIImage+ChatSecure.h rename to ChatSecureCore/Public/UIImage+ChatSecure.h diff --git a/ChatSecure/Classes/Categories/YapDatabaseViewConnection+ChatSecure.h b/ChatSecureCore/Public/YapDatabaseViewConnection+ChatSecure.h similarity index 100% rename from ChatSecure/Classes/Categories/YapDatabaseViewConnection+ChatSecure.h rename to ChatSecureCore/Public/YapDatabaseViewConnection+ChatSecure.h diff --git a/Gemfile.lock b/Gemfile.lock index 1556d6b73..e7126e93e 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -12,11 +12,11 @@ GEM atomos (0.1.3) babosa (1.0.2) claide (1.0.2) - cocoapods (1.6.1) + cocoapods (1.7.0) activesupport (>= 4.0.2, < 5) claide (>= 1.0.2, < 2.0) - cocoapods-core (= 1.6.1) - cocoapods-deintegrate (>= 1.0.2, < 2.0) + cocoapods-core (= 1.7.0) + cocoapods-deintegrate (>= 1.0.3, < 2.0) cocoapods-downloader (>= 1.2.2, < 2.0) cocoapods-plugins (>= 1.0.0, < 2.0) cocoapods-search (>= 1.0.0, < 2.0) @@ -30,8 +30,8 @@ GEM molinillo (~> 0.6.6) nap (~> 1.0) ruby-macho (~> 1.4) - xcodeproj (>= 1.8.1, < 2.0) - cocoapods-core (1.6.1) + xcodeproj (>= 1.8.2, < 2.0) + cocoapods-core (1.7.0) activesupport (>= 4.0.2, < 6) fuzzy_match (~> 2.0.4) nap (~> 1.0) @@ -67,7 +67,7 @@ GEM faraday_middleware (0.13.1) faraday (>= 0.7.4, < 1.0) fastimage (2.1.5) - fastlane (2.120.0) + fastlane (2.123.0) CFPropertyList (>= 2.3, < 4.0.0) addressable (>= 2.3, < 3.0.0) babosa (>= 1.0.2, < 2.0.0) @@ -138,7 +138,7 @@ GEM i18n (0.9.5) concurrent-ruby (~> 1.0) json (2.2.0) - jwt (2.1.0) + jwt (2.2.1) memoist (0.16.0) mime-types (3.2.2) mime-types-data (~> 3.2015) @@ -153,7 +153,7 @@ GEM nap (1.1.0) naturally (2.2.0) netrc (0.11.0) - os (1.0.0) + os (1.0.1) plist (3.5.0) public_suffix (2.0.5) representable (3.0.4) @@ -163,7 +163,7 @@ GEM retriable (3.1.2) rouge (2.0.7) ruby-macho (1.4.0) - rubyzip (1.2.2) + rubyzip (1.2.3) security (0.1.3) signet (0.11.0) addressable (~> 2.3) @@ -179,7 +179,7 @@ GEM unicode-display_width (~> 1.1, >= 1.1.1) thread_safe (0.3.6) tty-cursor (0.6.1) - tty-screen (0.6.5) + tty-screen (0.7.0) tty-spinner (0.9.0) tty-cursor (~> 0.6.0) tzinfo (1.2.5) @@ -188,9 +188,9 @@ GEM unf (0.1.4) unf_ext unf_ext (0.0.7.6) - unicode-display_width (1.5.0) + unicode-display_width (1.6.0) word_wrap (1.0.0) - xcodeproj (1.8.2) + xcodeproj (1.9.0) CFPropertyList (>= 2.3.3, < 4.0) atomos (~> 0.1.3) claide (>= 1.0.2, < 2.0) diff --git a/OTRAssets.podspec b/OTRAssets.podspec new file mode 100644 index 000000000..0ae646550 --- /dev/null +++ b/OTRAssets.podspec @@ -0,0 +1,23 @@ +Pod::Spec.new do |s| + s.name = 'OTRAssets' + s.version = '0.1.0' + s.summary = 'A short description of OTRAssets.' + + s.description = <<-DESC +TODO: Add long description of the pod here. + DESC + + s.homepage = 'https://github.com/ChatSecure/ChatSecure-iOS' + s.license = { :type => 'GPLv3', :file => 'LICENSE' } + s.author = { 'Chris Ballinger' => 'chris@chatsecure.org' } + s.source = { :git => 'https://github.com/ChatSecure/ChatSecureCore.git', :tag => s.version.to_s } + s.social_media_url = 'https://twitter.com/ChatSecure' + + s.ios.deployment_target = '9.0' + + s.source_files = 'OTRAssets/**/*.{h,m,swift}' + s.private_header_files = 'OTRAssets/OTRLanguageManager_Private.h' + + s.frameworks = 'UIKit' + +end diff --git a/Podfile b/Podfile index a14cbdd09..fbe0e1aad 100755 --- a/Podfile +++ b/Podfile @@ -37,7 +37,6 @@ abstract_target 'ChatSecureCorePods' do # pod 'LumberjackConsole', '~> 3.3.0' pod 'LumberjackConsole', :path => 'Submodules/LumberjackConsole/LumberjackConsole.podspec' - # Utility pod 'CocoaLumberjack/Swift', '~> 3.5.0' pod 'MWFeedParser', '~> 1.0' @@ -77,7 +76,9 @@ abstract_target 'ChatSecureCorePods' do pod 'Alamofire', '~> 4.4' pod 'Kvitto', '~> 1.0' - target 'ChatSecureCore' + pod 'ChatSecureCore', :path => 'ChatSecureCore.podspec' + pod 'OTRAssets', :path => 'OTRAssets.podspec' + target 'ChatSecureTests' target 'ChatSecure' end diff --git a/Podfile.lock b/Podfile.lock index 4074c73aa..8df17dea8 100644 --- a/Podfile.lock +++ b/Podfile.lock @@ -1,4 +1,19 @@ PODS: + - AFNetworking (3.2.1): + - AFNetworking/NSURLSession (= 3.2.1) + - AFNetworking/Reachability (= 3.2.1) + - AFNetworking/Security (= 3.2.1) + - AFNetworking/Serialization (= 3.2.1) + - AFNetworking/UIKit (= 3.2.1) + - AFNetworking/NSURLSession (3.2.1): + - AFNetworking/Reachability + - AFNetworking/Security + - AFNetworking/Serialization + - AFNetworking/Reachability (3.2.1) + - AFNetworking/Security (3.2.1) + - AFNetworking/Serialization (3.2.1) + - AFNetworking/UIKit (3.2.1): + - AFNetworking/NSURLSession - Alamofire (4.8.2) - Appirater (2.3.1) - ARChromeActivity (1.0.6) @@ -12,6 +27,50 @@ PODS: - BBlock/UIKit (1.2.1) - BButton (4.0.2) - ChatSecure-Push-iOS (1.1) + - ChatSecureCore (0.1.0): + - AFNetworking (~> 3.1) + - Alamofire (~> 4.4) + - Appirater (~> 2.0) + - ARChromeActivity (~> 1.0) + - BBlock (~> 1.2) + - BButton (~> 4.0) + - ChatSecure-Push-iOS + - CocoaAsyncSocket (~> 7.6.0) + - CocoaLumberjack/Swift (~> 3.5.0) + - CPAProxy + - FormatterKit (~> 1.8) + - GCDWebServer (~> 3.4) + - HockeySDK-Source + - HTMLReader (~> 2.1.1) + - IOCipher/GCDWebServer + - JSQMessagesViewController + - JTSImageViewController (~> 1.4) + - Kvitto (~> 1.0) + - KVOController (~> 1.2) + - libsqlfs/SQLCipher + - LicensePlist + - LumberjackConsole + - Mantle + - MBProgressHUD (~> 1.1) + - MWFeedParser (~> 1.0) + - Navajo (~> 0.0) + - OpenInChrome (~> 0.0) + - OTRAssets + - OTRKit + - ParkedTextField + - ProxyKit/Client (~> 1.2.0) + - PureLayout (~> 3.0) + - QRCodeReaderViewController (~> 4.0) + - SAMKeychain (~> 1.5) + - SignalProtocolObjC + - SQLCipher (~> 3.4) + - TTTAttributedLabel (~> 2.0) + - TUSafariActivity (~> 1.0) + - XLForm (~> 4.0.0) + - XMPPFramework/Swift + - YapDatabase/SQLCipher (= 3.1.1) + - YapTaskQueue/SQLCipher + - ZXingObjC (~> 3.2.2) - CocoaAsyncSocket (7.6.3) - CocoaLumberjack (3.5.2): - CocoaLumberjack/Core (= 3.5.2) @@ -23,6 +82,36 @@ PODS: - DTFoundation/Core (1.7.13) - DTFoundation/DTASN1 (1.7.13): - DTFoundation/Core + - FormatterKit (1.8.2): + - FormatterKit/AddressFormatter (= 1.8.2) + - FormatterKit/ArrayFormatter (= 1.8.2) + - FormatterKit/ColorFormatter (= 1.8.2) + - FormatterKit/LocationFormatter (= 1.8.2) + - FormatterKit/NameFormatter (= 1.8.2) + - FormatterKit/OrdinalNumberFormatter (= 1.8.2) + - FormatterKit/Resources (= 1.8.2) + - FormatterKit/TimeIntervalFormatter (= 1.8.2) + - FormatterKit/UnitOfInformationFormatter (= 1.8.2) + - FormatterKit/URLRequestFormatter (= 1.8.2) + - FormatterKit/AddressFormatter (1.8.2): + - FormatterKit/Resources + - FormatterKit/ArrayFormatter (1.8.2): + - FormatterKit/Resources + - FormatterKit/ColorFormatter (1.8.2): + - FormatterKit/Resources + - FormatterKit/LocationFormatter (1.8.2): + - FormatterKit/Resources + - FormatterKit/NameFormatter (1.8.2): + - FormatterKit/Resources + - FormatterKit/OrdinalNumberFormatter (1.8.2): + - FormatterKit/Resources + - FormatterKit/Resources (1.8.2) + - FormatterKit/TimeIntervalFormatter (1.8.2): + - FormatterKit/Resources + - FormatterKit/UnitOfInformationFormatter (1.8.2): + - FormatterKit/Resources + - FormatterKit/URLRequestFormatter (1.8.2): + - FormatterKit/Resources - GCDWebServer (3.5.2): - GCDWebServer/Core (= 3.5.2) - GCDWebServer/Core (3.5.2) @@ -30,6 +119,7 @@ PODS: - gtm-oauth2 (1.1): - gtm-http-fetcher (~> 1.1) - HockeySDK-Source (5.1.4) + - HTMLReader (2.1.3) - IOCipher/common (0.1.0): - CocoaLumberjack - libsqlfs/SQLCipher @@ -44,6 +134,7 @@ PODS: - Kvitto/Core (= 1.0.3) - Kvitto/Core (1.0.3): - DTFoundation/DTASN1 (~> 1.7.13) + - KVOController (1.2.0) - libidn (1.35) - libsqlfs/common (1.3.2) - libsqlfs/SQLCipher (1.3.2): @@ -53,6 +144,10 @@ PODS: - LumberjackConsole (3.3.1): - CocoaLumberjack (>= 3.x) - NBUCore (>= 2.1.0) + - Mantle (2.1.0): + - Mantle/extobjc (= 2.1.0) + - Mantle/extobjc (2.1.0) + - MBProgressHUD (1.1.0) - MWFeedParser (1.0.1): - MWFeedParser/FeedParser (= 1.0.1) - "MWFeedParser/NSDate+InternetDateTime (= 1.0.1)" @@ -65,6 +160,7 @@ PODS: - Navajo (0.0.1) - NBUCore (2.1.0) - OpenInChrome (0.0.1) + - OTRAssets (0.1.0) - OTRKit (2.0.0) - ParkedTextField (0.5.0) - ProxyKit/Client (1.2.0): @@ -72,7 +168,9 @@ PODS: - ProxyKit/common (1.2.0): - CocoaAsyncSocket (~> 7.6) - CocoaLumberjack + - PureLayout (3.1.4) - QRCodeReaderViewController (4.0.2) + - SAMKeychain (1.5.3) - SignalProtocolC (2.3.2) - SignalProtocolObjC (1.1.0): - SignalProtocolC (~> 2.3.2) @@ -81,7 +179,9 @@ PODS: - SQLCipher/common (3.4.2) - SQLCipher/standard (3.4.2): - SQLCipher/common + - TTTAttributedLabel (2.0.0) - TUSafariActivity (1.0.4) + - XLForm (4.0.1) - XMPPFramework/default (4.0.0): - CocoaAsyncSocket (~> 7.6) - CocoaLumberjack @@ -154,6 +254,9 @@ PODS: - YapDatabase/SQLCipher/Core - YapTaskQueue/SQLCipher (0.3.0): - YapDatabase/SQLCipher (~> 3.0) + - ZXingObjC (3.2.2): + - ZXingObjC/All (= 3.2.2) + - ZXingObjC/All (3.2.2) DEPENDENCIES: - Alamofire (~> 4.4) @@ -162,6 +265,7 @@ DEPENDENCIES: - BBlock (~> 1.2) - BButton (~> 4.0) - ChatSecure-Push-iOS (from `Submodules/ChatSecure-Push-iOS/ChatSecure-Push-iOS.podspec`) + - ChatSecureCore (from `ChatSecureCore.podspec`) - CocoaAsyncSocket (~> 7.6.0) - CocoaLumberjack/Swift (~> 3.5.0) - CPAProxy (from `Submodules/CPAProxy/CPAProxy.podspec`) @@ -179,6 +283,7 @@ DEPENDENCIES: - MWFeedParser (~> 1.0) - Navajo (~> 0.0) - OpenInChrome (~> 0.0) + - OTRAssets (from `OTRAssets.podspec`) - OTRKit (from `Submodules/OTRKit/OTRKit.podspec`) - ParkedTextField (from `https://github.com/gmertk/ParkedTextField.git`, commit `a3800e3`) - ProxyKit/Client (~> 1.2.0) @@ -192,6 +297,7 @@ DEPENDENCIES: SPEC REPOS: https://github.com/cocoapods/specs.git: + - AFNetworking - Alamofire - Appirater - ARChromeActivity @@ -200,27 +306,39 @@ SPEC REPOS: - CocoaAsyncSocket - CocoaLumberjack - DTFoundation + - FormatterKit - GCDWebServer - HockeySDK-Source + - HTMLReader - JTSImageViewController - KissXML - Kvitto + - KVOController - libidn - LicensePlist + - Mantle + - MBProgressHUD - MWFeedParser - Navajo - NBUCore - OpenInChrome - ProxyKit + - PureLayout - QRCodeReaderViewController + - SAMKeychain - SignalProtocolC - SQLCipher + - TTTAttributedLabel - TUSafariActivity + - XLForm - YapDatabase + - ZXingObjC EXTERNAL SOURCES: ChatSecure-Push-iOS: :path: Submodules/ChatSecure-Push-iOS/ChatSecure-Push-iOS.podspec + ChatSecureCore: + :path: ChatSecureCore.podspec CPAProxy: :path: Submodules/CPAProxy/CPAProxy.podspec gtm-http-fetcher: @@ -236,6 +354,8 @@ EXTERNAL SOURCES: :git: https://github.com/ChatSecure/libsqlfs.git LumberjackConsole: :path: Submodules/LumberjackConsole/LumberjackConsole.podspec + OTRAssets: + :path: OTRAssets.podspec OTRKit: :path: Submodules/OTRKit/OTRKit.podspec ParkedTextField: @@ -261,45 +381,58 @@ CHECKOUT OPTIONS: :git: https://github.com/ChatSecure/YapTaskQueue.git SPEC CHECKSUMS: + AFNetworking: b6f891fdfaed196b46c7a83cf209e09697b94057 Alamofire: ae5c501addb7afdbb13687d7f2f722c78734c2d3 Appirater: 44a4651f7912a17dc906b655f0c215d5bb768b84 ARChromeActivity: 5dcf9b9f09323761f992aff3525cdd777f83609d BBlock: c56d7f72597ffe1634fcdc73836c5c0fed3271be BButton: ab0f2ed3b998ae73c5188b57d270d81e4a1eeb27 ChatSecure-Push-iOS: ed51f98bc019be9e2d859604677a21a4ee68422e + ChatSecureCore: a48e20acb4be1a0b9a232ce22abdc3b30082d86e CocoaAsyncSocket: eafaa68a7e0ec99ead0a7b35015e0bf25d2c8987 CocoaLumberjack: 118bf4a820efc641f79fa487b75ed928dccfae23 CPAProxy: b1b33221b6ad297169cb813b6bbefd2a69ea9aad DTFoundation: f03be9fd786f11e505bb8fc44e2a3732bf0917df + FormatterKit: 4b8f29acc9b872d5d12a63efb560661e8f2e1b98 GCDWebServer: ead88cd14596dd4eae4f5830b8877c87c8728990 gtm-http-fetcher: 4e7de79fc9e774b291eae66a240f17b3a5277ec7 gtm-oauth2: 05f40d662527bf1f71dc878da1c585ba67547e74 HockeySDK-Source: ebf3378833f457fa08aa452352b105dc21bfebcb + HTMLReader: 34449b95b7c8f50557e8e60a8d892487d4541ae2 IOCipher: 89435857693a11d24024cbc3da541549eb36fb0e JSQMessagesViewController: eade14c4687901c4e53dec681b8e3021269a2b38 JTSImageViewController: 1f8ce1cc93dab0d0af8e53badeea7528560cfec9 KissXML: 09f88ff8161fd058d67b70740b8b516687b52823 Kvitto: d451f893f84ad669850b7cb7d3f8781363e14232 + KVOController: d72ace34afea42468329623b3379ab3cd1d286b6 libidn: e4576a956b797c584c77aaedfc6e3dd639b61bdc libsqlfs: b3c1be163c2fba6b041379cfa5861033783ddae9 LicensePlist: e5f8f2e3465620e53ec4c669955a5a7d0692b9cb LumberjackConsole: 218fed8e807ba6ce0bedbba06b7b295dc0efaf0c + Mantle: 2fa750afa478cd625a94230fbf1c13462f29395b + MBProgressHUD: e7baa36a220447d8aeb12769bf0585582f3866d9 MWFeedParser: 2cf646014c1baf6ad1b08c480b40a08180079247 Navajo: 5fb68239b4e3af4610f31925bae1ca8e6bab8eaa NBUCore: 201af50441f48513ef6d5823a5fc12c9e1f288cd OpenInChrome: f1f3f9dec682216fe78a0d7fe0b5b263d6312c32 + OTRAssets: 9b824cfbe6bdcbf71ac504688031d90f0d460b61 OTRKit: 559ddb8defb126bdbf6a9f43ee3649b219f42320 ParkedTextField: 865c835f54b39c611b580e0fe60199538cbc2f67 ProxyKit: ae9ed36909d0e68b27087eb3ed5aa35c86f8bff0 + PureLayout: f08c01b8dec00bb14a1fefa3de4c7d9c265df85e QRCodeReaderViewController: e8f27d035b3e72b1d4b1c61ff66458287e3be0ff + SAMKeychain: 483e1c9f32984d50ca961e26818a534283b4cd5c SignalProtocolC: 051512e9f3abfeb4120c5e9673af9ae0ee370070 SignalProtocolObjC: b992ed29c3b7b453510ff0102ed16ef143f7efd2 SQLCipher: f9fcf29b2e59ced7defc2a2bdd0ebe79b40d4990 + TTTAttributedLabel: 8cffe8e127e4e82ff3af1e5386d4cd0ad000b656 TUSafariActivity: afc55a00965377939107ce4fdc7f951f62454546 + XLForm: b8d47a9a00fb6166981cb40de7169d70d611e9be XMPPFramework: 5d31ff9f73dce031b24bc49bcf88093627a3a86e YapDatabase: b418a4baa6906e8028748938f9159807fd039af4 YapTaskQueue: f3b23875bead71a7ee57b65637ce9c0e98b68c34 + ZXingObjC: 2c95a0dc52daac69b23ec78fad8fa2fec05f8981 -PODFILE CHECKSUM: 39a7b1246419227c99c4f43f455d00c70dd268fe +PODFILE CHECKSUM: 64335c6b16dc973237aa93e42b393a9980c5a10a -COCOAPODS: 1.6.1 +COCOAPODS: 1.7.0