diff --git a/Classes/Swift/Chat/Views/MultilineMessageCell.swift b/Classes/Swift/Chat/Views/MultilineMessageCell.swift
index 16ea62738..0eb564b27 100644
--- a/Classes/Swift/Chat/Views/MultilineMessageCell.swift
+++ b/Classes/Swift/Chat/Views/MultilineMessageCell.swift
@@ -176,6 +176,8 @@ class MultilineMessageCell: SwipeCollectionViewCell, UICollectionViewDataSource,
let newStackViewReactionsItem = UILabel()
var stackViewReactionsCounter = UILabel()
+ var reused = false
+
override init(frame: CGRect) {
super.init(frame: frame)
initCell()
@@ -592,7 +594,7 @@ class MultilineMessageCell: SwipeCollectionViewCell, UICollectionViewDataSource,
ephemeralIcon.isHidden = true
}
- func initPlayerAudio(message: ChatMessage){
+ func initPlayerAudio(message: ChatMessage, justForDisplay: Bool = false){
let recordingPlayButton = CallControlButton(width: 40, height: 40, buttonTheme:VoipTheme.nav_color_button("vr_play"))
let recordingStopButton = CallControlButton(width: 40, height: 40, buttonTheme:VoipTheme.nav_color_button("vr_stop"))
let recordingWaveView = UIProgressView()
@@ -646,8 +648,11 @@ class MultilineMessageCell: SwipeCollectionViewCell, UICollectionViewDataSource,
recordingDurationTextView.text = recordingDuration(filePathRecording)
recordingPlayButton.onClickAction = {
- self.downloadAudioMemoIfNeeded(message: message)
- self.playRecordedMessage(voiceRecorder: filePathRecording, recordingPlayButton: recordingPlayButton, recordingStopButton: recordingStopButton, recordingWaveView: recordingWaveView, message: message)
+ if (message.audioContent()?.downloaded() == true) {
+ self.playRecordedMessage(voiceRecorder: filePathRecording, recordingPlayButton: recordingPlayButton, recordingStopButton: recordingStopButton, recordingWaveView: recordingWaveView, message: message)
+ } else {
+ message.downloadAudioContent(ok: {if (!self.reused) {self.initPlayerAudio(message: message, justForDisplay: true)}}, ko: {if (!self.reused) {self.initPlayerAudio(message: message, justForDisplay: true)}})
+ }
}
recordingStopButton.onClickAction = {
self.stopVoiceRecordPlayer(recordingPlayButton: recordingPlayButton, recordingStopButton: recordingStopButton, recordingWaveView: recordingWaveView, message: message)
@@ -662,27 +667,13 @@ class MultilineMessageCell: SwipeCollectionViewCell, UICollectionViewDataSource,
NSLayoutConstraint.activate(recordingWaveConstraints)
}
- if (Core.get().autoDownloadVoiceRecordingsEnabled) {
- downloadAudioMemoIfNeeded(message: message)
+ if (Core.get().autoDownloadVoiceRecordingsEnabled && !justForDisplay) {
+ message.downloadAudioContent(ok: {if (!self.reused) {self.initPlayerAudio(message: message, justForDisplay: true)}}, ko: {if (!self.reused){self.initPlayerAudio(message: message, justForDisplay: true)}})
}
recordingView.isHidden = false
}
- func downloadAudioMemoIfNeeded(message: ChatMessage) {
- if let audioContent = message.contents.filter({$0.isVoiceRecording}).first {
- if (audioContent.filePath == nil || !FileUtil.fileExistsAndIsNotEmpty(path: audioContent.filePath!)) {
- audioContent.filePath = LinphoneManager.imagesDirectory() + audioContent.name!;
- if message.downloadContent(content: audioContent) {
- Log.i("Started downloading voice memo")
- } else {
- Log.i("An error occured downloading voice memo")
- }
- return
- }
- }
- }
-
func initReplyView(){
//Reply - Contents
@@ -741,7 +732,7 @@ class MultilineMessageCell: SwipeCollectionViewCell, UICollectionViewDataSource,
override func prepareForReuse() {
super.prepareForReuse()
-
+ reused = true
deleteItemCheckBox.removeFromSuperview()
eventMessageView.removeFromSuperview()
contactDateLabel.removeFromSuperview()
@@ -1639,6 +1630,7 @@ class MultilineMessageCell: SwipeCollectionViewCell, UICollectionViewDataSource,
deleteItemCheckBox.isHidden = true
deleteItemCheckBox.width(0).done()
}
+ reused = false
}
@objc func showMyViewControllerInACustomizedSheet(_ sender: UITapGestureRecognizer? = nil) {
@@ -1736,6 +1728,11 @@ class MultilineMessageCell: SwipeCollectionViewCell, UICollectionViewDataSource,
chatMessageDelegate = ChatMessageDelegateStub(
onMsgStateChanged: { (message: ChatMessage, state: ChatMessage.State) -> Void in
self.displayImdnStatus(message: message, state: state)
+ if (message.hasAudioContent() && state == .FileTransferDone) {
+ if (!self.reused) {
+ self.initPlayerAudio(message: message)
+ }
+ }
},
onNewMessageReaction: { (message: ChatMessage, messageReaction: ChatMessageReaction) -> Void in
ChatConversationTableViewModel.sharedModel.reloadCollectionViewCell()
diff --git a/Classes/Swift/Extensions/LinphoneCore/ChatMessageExtensions.swift b/Classes/Swift/Extensions/LinphoneCore/ChatMessageExtensions.swift
new file mode 100644
index 000000000..b735ba776
--- /dev/null
+++ b/Classes/Swift/Extensions/LinphoneCore/ChatMessageExtensions.swift
@@ -0,0 +1,101 @@
+/*
+ * Copyright (c) 2010-2020 Belledonne Communications SARL.
+ *
+ * This file is part of linphone-iphone
+ *
+ * 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 .
+ */
+
+import Foundation
+
+import linphonesw
+
+
+class DownloadListener {
+ private var chatMessageDelegate : ChatMessageDelegateStub? = nil
+ var messageId: String
+ init(message:ChatMessage, ok: @escaping ()->Void, ko: ()->Void) {
+ messageId = message.messageId
+ chatMessageDelegate = ChatMessageDelegateStub(
+ onFileTransferProgressIndication: { (message: ChatMessage, content: Content, offset: Int, total: Int) -> Void in
+ if (content.name == message.audioContent()?.name && offset >= total) {
+ message.removeDelegate(delegate: self.chatMessageDelegate!)
+ ok()
+ }
+ })
+ message.addDelegate(delegate: chatMessageDelegate!)
+ }
+}
+
+extension Content {
+ func downloaded() -> Bool {
+ if (!isFileTransfer) {
+ return true
+ }
+ let isVfs = VFSUtil.vfsEnabled(groupName: kLinphoneMsgNotificationAppGroupId)
+ if let path = isVfs ? exportPlainFile() : filePath {
+ let downloaded = FileUtil.fileExistsAndIsNotEmpty(path: path)
+ if (isVfs) {
+ FileUtil.delete(path: path)
+ }
+ return downloaded
+ } else {
+ return false
+ }
+ }
+}
+
+extension ChatMessage {
+
+ static var downloadListeners:[DownloadListener] = []
+
+ func downloadInProgress() -> Bool {
+ return state == .FileTransferInProgress
+ }
+
+ func downloadError() -> Bool {
+ return state == .FileTransferError
+ }
+
+ func hasAudioContent() -> Bool {
+ return audioContent() != nil
+ }
+
+ func audioContent() -> Content? { // Messages can have only one voice recording.
+ return contents.filter({$0.isVoiceRecording}).first
+ }
+
+ func downloadAudioContent(ok: @escaping ()->Void, ko: ()->Void) {
+ if let audioContent = audioContent() {
+ let downloadListener = DownloadListener(message: self, ok: {
+ ChatMessage.downloadListeners.removeAll(where: {$0.messageId == self.messageId})
+ ok()
+ }, ko: {
+ ChatMessage.downloadListeners.removeAll(where: {$0.messageId == self.messageId})
+ ko()
+ })
+ if (!audioContent.downloaded()) {
+ audioContent.filePath = LinphoneManager.imagesDirectory() + audioContent.name!
+ ChatMessage.downloadListeners.append(downloadListener)
+ let _ = downloadContent(content: audioContent)
+ } else {
+ ok()
+ }
+ } else {
+ ok()
+ }
+ }
+
+}
+
diff --git a/linphone.xcodeproj/project.pbxproj b/linphone.xcodeproj/project.pbxproj
index 0e3eff4ae..fc1ae650b 100644
--- a/linphone.xcodeproj/project.pbxproj
+++ b/linphone.xcodeproj/project.pbxproj
@@ -852,6 +852,7 @@
C6548820292D32FA00BF646B /* SingleCallView.swift in Sources */ = {isa = PBXBuildFile; fileRef = C654881E292D32FA00BF646B /* SingleCallView.swift */; };
C6548821292D32FA00BF646B /* ConferenceCallView.swift in Sources */ = {isa = PBXBuildFile; fileRef = C654881F292D32FA00BF646B /* ConferenceCallView.swift */; };
C6548823292D369500BF646B /* AbstractCallView.swift in Sources */ = {isa = PBXBuildFile; fileRef = C6548822292D369500BF646B /* AbstractCallView.swift */; };
+ C65DC9722C9D722A00EBC1E3 /* ChatMessageExtensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = C65DC9712C9D722A00EBC1E3 /* ChatMessageExtensions.swift */; };
C66B03BB26E8EB1A009B5EDC /* UIChatReplyBubbleView.xib in Resources */ = {isa = PBXBuildFile; fileRef = C66B03BD26E8EB1A009B5EDC /* UIChatReplyBubbleView.xib */; };
C66B040A26EFDA55009B5EDC /* reply_cancel.png in Resources */ = {isa = PBXBuildFile; fileRef = C66B040926EFDA54009B5EDC /* reply_cancel.png */; };
C66B040E26F095D1009B5EDC /* cancel_forward.png in Resources */ = {isa = PBXBuildFile; fileRef = C66B040D26F095CE009B5EDC /* cancel_forward.png */; };
@@ -2094,6 +2095,7 @@
C654881E292D32FA00BF646B /* SingleCallView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SingleCallView.swift; sourceTree = ""; };
C654881F292D32FA00BF646B /* ConferenceCallView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ConferenceCallView.swift; sourceTree = ""; };
C6548822292D369500BF646B /* AbstractCallView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AbstractCallView.swift; sourceTree = ""; };
+ C65DC9712C9D722A00EBC1E3 /* ChatMessageExtensions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ChatMessageExtensions.swift; sourceTree = ""; };
C66B03BC26E8EB1A009B5EDC /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/UIChatReplyBubbleView.xib; sourceTree = ""; };
C66B03C126E8EB82009B5EDC /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/UIChatReplyBubbleView.strings; sourceTree = ""; };
C66B03C326E8EB87009B5EDC /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/UIChatReplyBubbleView.strings; sourceTree = ""; };
@@ -3654,6 +3656,7 @@
C63F71C4285A24B10066163B /* PayloadType.swift */,
C63F71C5285A24B10066163B /* CallExtensions.swift */,
C63F71C6285A24B10066163B /* ConferenceExtensions.swift */,
+ C65DC9712C9D722A00EBC1E3 /* ChatMessageExtensions.swift */,
);
path = LinphoneCore;
sourceTree = "";
@@ -5122,7 +5125,19 @@
);
inputPaths = (
"${PODS_ROOT}/Target Support Files/Pods-CallUITests/Pods-CallUITests-frameworks.sh",
+ "${BUILT_PRODUCTS_DIR}/FirebaseCore/FirebaseCore.framework",
+ "${BUILT_PRODUCTS_DIR}/FirebaseCoreExtension/FirebaseCoreExtension.framework",
+ "${BUILT_PRODUCTS_DIR}/FirebaseCoreInternal/FirebaseCoreInternal.framework",
+ "${BUILT_PRODUCTS_DIR}/FirebaseCrashlytics/FirebaseCrashlytics.framework",
+ "${BUILT_PRODUCTS_DIR}/FirebaseInstallations/FirebaseInstallations.framework",
+ "${BUILT_PRODUCTS_DIR}/FirebaseRemoteConfigInterop/FirebaseRemoteConfigInterop.framework",
+ "${BUILT_PRODUCTS_DIR}/FirebaseSessions/FirebaseSessions.framework",
+ "${BUILT_PRODUCTS_DIR}/GoogleDataTransport/GoogleDataTransport.framework",
+ "${BUILT_PRODUCTS_DIR}/GoogleUtilities/GoogleUtilities.framework",
+ "${BUILT_PRODUCTS_DIR}/PromisesObjC/FBLPromises.framework",
+ "${BUILT_PRODUCTS_DIR}/PromisesSwift/Promises.framework",
"${BUILT_PRODUCTS_DIR}/linphone-sdk/linphonesw.framework",
+ "${BUILT_PRODUCTS_DIR}/nanopb/nanopb.framework",
"${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/bctoolbox-ios.framework/bctoolbox-ios",
"${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/bctoolbox-tester.framework/bctoolbox-tester",
"${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/bctoolbox.framework/bctoolbox",
@@ -5143,7 +5158,19 @@
);
name = "[CP] Embed Pods Frameworks";
outputPaths = (
+ "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/FirebaseCore.framework",
+ "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/FirebaseCoreExtension.framework",
+ "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/FirebaseCoreInternal.framework",
+ "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/FirebaseCrashlytics.framework",
+ "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/FirebaseInstallations.framework",
+ "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/FirebaseRemoteConfigInterop.framework",
+ "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/FirebaseSessions.framework",
+ "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/GoogleDataTransport.framework",
+ "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/GoogleUtilities.framework",
+ "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/FBLPromises.framework",
+ "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Promises.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/linphonesw.framework",
+ "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/nanopb.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/bctoolbox-ios.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/bctoolbox-tester.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/bctoolbox.framework",
@@ -5176,11 +5203,23 @@
"${PODS_ROOT}/Target Support Files/Pods-linphone/Pods-linphone-frameworks.sh",
"${BUILT_PRODUCTS_DIR}/DropDown/DropDown.framework",
"${BUILT_PRODUCTS_DIR}/EmojiPicker/EmojiPicker.framework",
+ "${BUILT_PRODUCTS_DIR}/FirebaseCore/FirebaseCore.framework",
+ "${BUILT_PRODUCTS_DIR}/FirebaseCoreExtension/FirebaseCoreExtension.framework",
+ "${BUILT_PRODUCTS_DIR}/FirebaseCoreInternal/FirebaseCoreInternal.framework",
+ "${BUILT_PRODUCTS_DIR}/FirebaseCrashlytics/FirebaseCrashlytics.framework",
+ "${BUILT_PRODUCTS_DIR}/FirebaseInstallations/FirebaseInstallations.framework",
+ "${BUILT_PRODUCTS_DIR}/FirebaseRemoteConfigInterop/FirebaseRemoteConfigInterop.framework",
+ "${BUILT_PRODUCTS_DIR}/FirebaseSessions/FirebaseSessions.framework",
+ "${BUILT_PRODUCTS_DIR}/GoogleDataTransport/GoogleDataTransport.framework",
+ "${BUILT_PRODUCTS_DIR}/GoogleUtilities/GoogleUtilities.framework",
"${BUILT_PRODUCTS_DIR}/IQKeyboardManager/IQKeyboardManager.framework",
+ "${BUILT_PRODUCTS_DIR}/PromisesObjC/FBLPromises.framework",
+ "${BUILT_PRODUCTS_DIR}/PromisesSwift/Promises.framework",
"${BUILT_PRODUCTS_DIR}/SVProgressHUD/SVProgressHUD.framework",
"${BUILT_PRODUCTS_DIR}/SnapKit/SnapKit.framework",
"${BUILT_PRODUCTS_DIR}/SwipeCellKit/SwipeCellKit.framework",
"${BUILT_PRODUCTS_DIR}/linphone-sdk/linphonesw.framework",
+ "${BUILT_PRODUCTS_DIR}/nanopb/nanopb.framework",
"${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/bctoolbox-ios.framework/bctoolbox-ios",
"${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/bctoolbox-tester.framework/bctoolbox-tester",
"${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/bctoolbox.framework/bctoolbox",
@@ -5203,11 +5242,23 @@
outputPaths = (
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/DropDown.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/EmojiPicker.framework",
+ "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/FirebaseCore.framework",
+ "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/FirebaseCoreExtension.framework",
+ "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/FirebaseCoreInternal.framework",
+ "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/FirebaseCrashlytics.framework",
+ "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/FirebaseInstallations.framework",
+ "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/FirebaseRemoteConfigInterop.framework",
+ "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/FirebaseSessions.framework",
+ "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/GoogleDataTransport.framework",
+ "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/GoogleUtilities.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/IQKeyboardManager.framework",
+ "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/FBLPromises.framework",
+ "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Promises.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/SVProgressHUD.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/SnapKit.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/SwipeCellKit.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/linphonesw.framework",
+ "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/nanopb.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/bctoolbox-ios.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/bctoolbox-tester.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/bctoolbox.framework",
@@ -5490,6 +5541,7 @@
639E9C801C0DB13D00019A75 /* UICheckBoxTableView.m in Sources */,
CF7602E72108759A00749F76 /* UIRecordingCell.m in Sources */,
D3807FF615C2894A005BE9BC /* IASKSpecifier.m in Sources */,
+ C65DC9722C9D722A00EBC1E3 /* ChatMessageExtensions.swift in Sources */,
D3807FF815C2894A005BE9BC /* IASKPSSliderSpecifierViewCell.m in Sources */,
C63F726A285A24B10066163B /* StyledDatePicker.swift in Sources */,
C63F7237285A24B10066163B /* CallStatisticsData.swift in Sources */,
@@ -6085,7 +6137,7 @@
CODE_SIGN_STYLE = Automatic;
COMPRESS_PNG_FILES = NO;
COPY_PHASE_STRIP = NO;
- CURRENT_PROJECT_VERSION = 1;
+ CURRENT_PROJECT_VERSION = 3;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
DEVELOPMENT_TEAM = Z2V957B3D6;
ENABLE_BITCODE = NO;
@@ -6097,6 +6149,7 @@
GCC_PREPROCESSOR_DEFINITIONS = (
"$(inherited)",
"DEBUG=1",
+ "USE_CRASHLYTICS=1",
);
GCC_SYMBOLS_PRIVATE_EXTERN = NO;
GCC_TREAT_IMPLICIT_FUNCTION_DECLARATIONS_AS_ERRORS = YES;
@@ -6126,7 +6179,7 @@
"$(inherited)",
"-DLINPHONE_SDK_VERSION=\\\"5.3.83\\\"",
);
- OTHER_SWIFT_FLAGS = "$(inherited)";
+ OTHER_SWIFT_FLAGS = "$(inherited) -DUSE_CRASHLYTICS";
PRODUCT_BUNDLE_IDENTIFIER = org.linphone.phone;
PRODUCT_MODULE_NAME = "$(PRODUCT_NAME:c99extidentifier)app";
PRODUCT_NAME = linphone;
@@ -6214,7 +6267,7 @@
CODE_SIGN_STYLE = Automatic;
COMPRESS_PNG_FILES = NO;
COPY_PHASE_STRIP = NO;
- CURRENT_PROJECT_VERSION = 1;
+ CURRENT_PROJECT_VERSION = 3;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
DEVELOPMENT_TEAM = Z2V957B3D6;
ENABLE_BITCODE = NO;
@@ -6223,7 +6276,10 @@
GCC_OPTIMIZATION_LEVEL = s;
GCC_PRECOMPILE_PREFIX_HEADER = YES;
GCC_PREFIX_HEADER = linphone_Prefix.pch;
- GCC_PREPROCESSOR_DEFINITIONS = "$(inherited)";
+ GCC_PREPROCESSOR_DEFINITIONS = (
+ "$(inherited)",
+ "USE_CRASHLYTICS=1",
+ );
GCC_SYMBOLS_PRIVATE_EXTERN = NO;
GCC_TREAT_IMPLICIT_FUNCTION_DECLARATIONS_AS_ERRORS = YES;
GCC_TREAT_WARNINGS_AS_ERRORS = NO;
@@ -6252,7 +6308,7 @@
"$(inherited)",
"-DLINPHONE_SDK_VERSION=\\\"5.3.83\\\"",
);
- OTHER_SWIFT_FLAGS = "$(inherited)";
+ OTHER_SWIFT_FLAGS = "$(inherited) -DUSE_CRASHLYTICS";
PRODUCT_BUNDLE_IDENTIFIER = org.linphone.phone;
PRODUCT_MODULE_NAME = "$(PRODUCT_NAME:c99extidentifier)app";
PRODUCT_NAME = linphone;
@@ -6339,7 +6395,7 @@
CODE_SIGN_STYLE = Automatic;
COMPRESS_PNG_FILES = NO;
COPY_PHASE_STRIP = NO;
- CURRENT_PROJECT_VERSION = 1;
+ CURRENT_PROJECT_VERSION = 3;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
DEVELOPMENT_TEAM = Z2V957B3D6;
ENABLE_BITCODE = NO;
@@ -6348,7 +6404,10 @@
GCC_OPTIMIZATION_LEVEL = s;
GCC_PRECOMPILE_PREFIX_HEADER = YES;
GCC_PREFIX_HEADER = linphone_Prefix.pch;
- GCC_PREPROCESSOR_DEFINITIONS = "$(inherited)";
+ GCC_PREPROCESSOR_DEFINITIONS = (
+ "$(inherited)",
+ "USE_CRASHLYTICS=1",
+ );
GCC_SYMBOLS_PRIVATE_EXTERN = NO;
GCC_TREAT_IMPLICIT_FUNCTION_DECLARATIONS_AS_ERRORS = YES;
GCC_TREAT_WARNINGS_AS_ERRORS = NO;
@@ -6377,7 +6436,7 @@
"$(inherited)",
"-DLINPHONE_SDK_VERSION=\\\"5.3.83\\\"",
);
- OTHER_SWIFT_FLAGS = "$(inherited)";
+ OTHER_SWIFT_FLAGS = "$(inherited) -DUSE_CRASHLYTICS";
PRODUCT_BUNDLE_IDENTIFIER = org.linphone.phone;
PRODUCT_MODULE_NAME = "$(PRODUCT_NAME:c99extidentifier)app";
PRODUCT_NAME = linphone;
@@ -6463,7 +6522,7 @@
CODE_SIGN_STYLE = Automatic;
COMPRESS_PNG_FILES = NO;
COPY_PHASE_STRIP = NO;
- CURRENT_PROJECT_VERSION = 1;
+ CURRENT_PROJECT_VERSION = 3;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
DEVELOPMENT_TEAM = Z2V957B3D6;
ENABLE_BITCODE = NO;
@@ -6472,7 +6531,10 @@
GCC_OPTIMIZATION_LEVEL = s;
GCC_PRECOMPILE_PREFIX_HEADER = YES;
GCC_PREFIX_HEADER = linphone_Prefix.pch;
- GCC_PREPROCESSOR_DEFINITIONS = "$(inherited)";
+ GCC_PREPROCESSOR_DEFINITIONS = (
+ "$(inherited)",
+ "USE_CRASHLYTICS=1",
+ );
GCC_SYMBOLS_PRIVATE_EXTERN = NO;
GCC_TREAT_IMPLICIT_FUNCTION_DECLARATIONS_AS_ERRORS = YES;
GCC_TREAT_WARNINGS_AS_ERRORS = NO;
@@ -6501,7 +6563,7 @@
"$(inherited)",
"-DLINPHONE_SDK_VERSION=\\\"5.3.83\\\"",
);
- OTHER_SWIFT_FLAGS = "$(inherited)";
+ OTHER_SWIFT_FLAGS = "$(inherited) -DUSE_CRASHLYTICS";
PRODUCT_BUNDLE_IDENTIFIER = org.linphone.phone;
PRODUCT_MODULE_NAME = "$(PRODUCT_NAME:c99extidentifier)app";
PRODUCT_NAME = linphone;
@@ -6978,6 +7040,7 @@
GCC_PREPROCESSOR_DEFINITIONS = (
"$(inherited)",
"DEBUG=1",
+ "USE_CRASHLYTICS=1",
);
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
@@ -6988,7 +7051,7 @@
MARKETING_VERSION = 5.2.0;
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
MTL_FAST_MATH = YES;
- OTHER_SWIFT_FLAGS = "$(inherited)";
+ OTHER_SWIFT_FLAGS = "$(inherited) -DUSE_CRASHLYTICS";
PRODUCT_BUNDLE_IDENTIFIER = org.linphone.phone.msgNotificationService;
PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = "";
@@ -7030,7 +7093,10 @@
ENABLE_BITCODE = NO;
ENABLE_NS_ASSERTIONS = NO;
GCC_C_LANGUAGE_STANDARD = gnu11;
- GCC_PREPROCESSOR_DEFINITIONS = "$(inherited)";
+ GCC_PREPROCESSOR_DEFINITIONS = (
+ "$(inherited)",
+ "USE_CRASHLYTICS=1",
+ );
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
@@ -7040,7 +7106,7 @@
MARKETING_VERSION = 5.2.0;
MTL_ENABLE_DEBUG_INFO = NO;
MTL_FAST_MATH = YES;
- OTHER_SWIFT_FLAGS = "$(inherited)";
+ OTHER_SWIFT_FLAGS = "$(inherited) -DUSE_CRASHLYTICS";
PRODUCT_BUNDLE_IDENTIFIER = org.linphone.phone.msgNotificationService;
PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = "";
@@ -7081,7 +7147,10 @@
ENABLE_BITCODE = NO;
ENABLE_NS_ASSERTIONS = NO;
GCC_C_LANGUAGE_STANDARD = gnu11;
- GCC_PREPROCESSOR_DEFINITIONS = "$(inherited)";
+ GCC_PREPROCESSOR_DEFINITIONS = (
+ "$(inherited)",
+ "USE_CRASHLYTICS=1",
+ );
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
@@ -7091,7 +7160,7 @@
MARKETING_VERSION = 5.2.0;
MTL_ENABLE_DEBUG_INFO = NO;
MTL_FAST_MATH = YES;
- OTHER_SWIFT_FLAGS = "$(inherited)";
+ OTHER_SWIFT_FLAGS = "$(inherited) -DUSE_CRASHLYTICS";
PRODUCT_BUNDLE_IDENTIFIER = org.linphone.phone.msgNotificationService;
PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = "";
@@ -7133,7 +7202,10 @@
ENABLE_BITCODE = NO;
ENABLE_NS_ASSERTIONS = NO;
GCC_C_LANGUAGE_STANDARD = gnu11;
- GCC_PREPROCESSOR_DEFINITIONS = "$(inherited)";
+ GCC_PREPROCESSOR_DEFINITIONS = (
+ "$(inherited)",
+ "USE_CRASHLYTICS=1",
+ );
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
@@ -7143,7 +7215,7 @@
MARKETING_VERSION = 5.2.0;
MTL_ENABLE_DEBUG_INFO = NO;
MTL_FAST_MATH = YES;
- OTHER_SWIFT_FLAGS = "$(inherited)";
+ OTHER_SWIFT_FLAGS = "$(inherited) -DUSE_CRASHLYTICS";
PRODUCT_BUNDLE_IDENTIFIER = org.linphone.phone.msgNotificationService;
PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = "";
@@ -7189,6 +7261,7 @@
GCC_PREPROCESSOR_DEFINITIONS = (
"$(inherited)",
"DEBUG=1",
+ "USE_CRASHLYTICS=1",
);
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
@@ -7199,7 +7272,7 @@
MARKETING_VERSION = 5.2.0;
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
MTL_FAST_MATH = YES;
- OTHER_SWIFT_FLAGS = "$(inherited)";
+ OTHER_SWIFT_FLAGS = "$(inherited) -DUSE_CRASHLYTICS";
PRODUCT_BUNDLE_IDENTIFIER = org.linphone.phone.msgNotificationContent;
PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = "";
@@ -7241,7 +7314,10 @@
ENABLE_BITCODE = NO;
ENABLE_NS_ASSERTIONS = NO;
GCC_C_LANGUAGE_STANDARD = gnu11;
- GCC_PREPROCESSOR_DEFINITIONS = "$(inherited)";
+ GCC_PREPROCESSOR_DEFINITIONS = (
+ "$(inherited)",
+ "USE_CRASHLYTICS=1",
+ );
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
@@ -7251,7 +7327,7 @@
MARKETING_VERSION = 5.2.0;
MTL_ENABLE_DEBUG_INFO = NO;
MTL_FAST_MATH = YES;
- OTHER_SWIFT_FLAGS = "$(inherited)";
+ OTHER_SWIFT_FLAGS = "$(inherited) -DUSE_CRASHLYTICS";
PRODUCT_BUNDLE_IDENTIFIER = org.linphone.phone.msgNotificationContent;
PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = "";
@@ -7292,7 +7368,10 @@
ENABLE_BITCODE = NO;
ENABLE_NS_ASSERTIONS = NO;
GCC_C_LANGUAGE_STANDARD = gnu11;
- GCC_PREPROCESSOR_DEFINITIONS = "$(inherited)";
+ GCC_PREPROCESSOR_DEFINITIONS = (
+ "$(inherited)",
+ "USE_CRASHLYTICS=1",
+ );
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
@@ -7302,7 +7381,7 @@
MARKETING_VERSION = 5.2.0;
MTL_ENABLE_DEBUG_INFO = NO;
MTL_FAST_MATH = YES;
- OTHER_SWIFT_FLAGS = "$(inherited)";
+ OTHER_SWIFT_FLAGS = "$(inherited) -DUSE_CRASHLYTICS";
PRODUCT_BUNDLE_IDENTIFIER = org.linphone.phone.msgNotificationContent;
PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = "";
@@ -7344,7 +7423,10 @@
ENABLE_BITCODE = NO;
ENABLE_NS_ASSERTIONS = NO;
GCC_C_LANGUAGE_STANDARD = gnu11;
- GCC_PREPROCESSOR_DEFINITIONS = "$(inherited)";
+ GCC_PREPROCESSOR_DEFINITIONS = (
+ "$(inherited)",
+ "USE_CRASHLYTICS=1",
+ );
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
@@ -7354,7 +7436,7 @@
MARKETING_VERSION = 5.2.0;
MTL_ENABLE_DEBUG_INFO = NO;
MTL_FAST_MATH = YES;
- OTHER_SWIFT_FLAGS = "$(inherited)";
+ OTHER_SWIFT_FLAGS = "$(inherited) -DUSE_CRASHLYTICS";
PRODUCT_BUNDLE_IDENTIFIER = org.linphone.phone.msgNotificationContent;
PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = "";