forked from mirrors/linphone-iphone
Compare commits
33 commits
master
...
release/5.
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
190d4f90a9 | ||
|
|
3a6ba3fa40 | ||
|
|
25dd82a4da | ||
|
|
414e0f613d | ||
|
|
9715c98da1 | ||
|
|
7ce40f5b4d | ||
|
|
851c488c92 | ||
|
|
4f3ad2382b | ||
|
|
57a5ddc59f | ||
|
|
d40e86cdbf | ||
|
|
5f7167a999 | ||
|
|
dd5bc2f5cf | ||
|
|
614a44d096 | ||
|
|
c605914d80 | ||
|
|
e712f37d15 | ||
|
|
6ae50c3d8c | ||
|
|
c3bca8d8bf | ||
|
|
7f863fde39 | ||
|
|
d228bceb13 | ||
|
|
4ee930b821 | ||
|
|
776be65518 | ||
|
|
abea256244 | ||
|
|
792d3a1a77 | ||
|
|
3ae70487c2 | ||
|
|
41dbeae626 | ||
|
|
4682482852 | ||
|
|
27021d447e | ||
|
|
d6eced6e3c | ||
|
|
43ea270cff | ||
|
|
5588de20f0 | ||
|
|
f85e0b5118 | ||
|
|
965ee5a476 | ||
|
|
ed47abfe51 |
27 changed files with 784 additions and 147 deletions
25
CHANGELOG.md
25
CHANGELOG.md
|
|
@ -9,8 +9,29 @@ Group changes to describe their impact on the project, as follows:
|
|||
Removed for deprecated features removed in this release.
|
||||
Fixed for any bug fixes.
|
||||
Security to invite users to upgrade in case of vulnerabilities.
|
||||
|
||||
## [5.2.0] - 2023-28-12
|
||||
|
||||
## [5.2.3] - 2024-17-09
|
||||
### Fixed
|
||||
- Crash when attempting to play audio memo with nil path (multi device sending situation for example)
|
||||
- Crash playing recorded call
|
||||
- Callkit ignoring incoming call if a registration failure occured earlier (incl. network connection problems)
|
||||
- Displaying of <?xml in chat list when last chat message received is a voice memo
|
||||
- Fix audio memo downlowing when opened from the notification
|
||||
|
||||
## [5.2.2] - 2023-28-12
|
||||
### Added
|
||||
- Log sending option will now give a link to download the logs, rather than send the whole log file
|
||||
- Taping a notification when app is started now properly opens the conversation
|
||||
- Open call history when taping a missed call notification
|
||||
|
||||
### Changed
|
||||
- Update linphone SDK to 5.3.20
|
||||
|
||||
### Fixed
|
||||
- Fix replying to images not displaying the image preview in the reply window
|
||||
- Various UI fixes in chatrooms
|
||||
|
||||
## [5.2.1] - 2023-28-12
|
||||
### Added
|
||||
- Added extra Czech and Japanese translations
|
||||
|
||||
|
|
|
|||
|
|
@ -20,6 +20,7 @@
|
|||
#import "PhoneMainView.h"
|
||||
#import "LinphoneManager.h"
|
||||
#import "LinphoneIOSVersion.h"
|
||||
#import "linphoneapp-Swift.h"
|
||||
|
||||
@implementation AboutView
|
||||
|
||||
|
|
@ -79,29 +80,21 @@ static UICompositeViewDescription *compositeDescription = nil;
|
|||
- (IBAction)onLinkTap:(id)sender {
|
||||
UIGestureRecognizer *gest = sender;
|
||||
NSString *url = ((UILabel *)gest.view).text;
|
||||
if (![UIApplication.sharedApplication openURL:[NSURL URLWithString:url]]) {
|
||||
LOGE(@"Failed to open %@, invalid URL", url);
|
||||
}
|
||||
[SwiftUtil openUrlWithUrlString:url];
|
||||
}
|
||||
|
||||
- (IBAction)onPolicyTap {
|
||||
NSString *url = @"https://www.linphone.org/privacy-policy";
|
||||
if (![UIApplication.sharedApplication openURL:[NSURL URLWithString:url]]) {
|
||||
LOGE(@"Failed to open %@, invalid URL", url);
|
||||
}
|
||||
[SwiftUtil openUrlWithUrlString:url];
|
||||
}
|
||||
|
||||
- (IBAction)onLicenceTap {
|
||||
NSString *url = @"https://www.gnu.org/licenses/gpl-3.0.html";
|
||||
if (![UIApplication.sharedApplication openURL:[NSURL URLWithString:url]]) {
|
||||
LOGE(@"Failed to open %@, invalid URL", url);
|
||||
}
|
||||
[SwiftUtil openUrlWithUrlString:url];
|
||||
}
|
||||
- (IBAction)onTranslateTap {
|
||||
NSString *url = @"https://weblate.linphone.org/projects/linphone-iphone";
|
||||
if (![UIApplication.sharedApplication openURL:[NSURL URLWithString:url]]) {
|
||||
LOGE(@"Failed to open %@, invalid URL", url);
|
||||
}
|
||||
[SwiftUtil openUrlWithUrlString:url];
|
||||
}
|
||||
|
||||
- (IBAction)onDialerBackClick:(id)sender {
|
||||
|
|
|
|||
|
|
@ -29,6 +29,7 @@
|
|||
#import "UITextField+DoneButton.h"
|
||||
#import "LinphoneAppDelegate.h"
|
||||
#import "SVProgressHUD.h"
|
||||
#import "linphoneapp-Swift.h"
|
||||
|
||||
#ifdef DEBUG
|
||||
#define PROVIDER_NAME "apns.dev"
|
||||
|
|
@ -100,9 +101,7 @@ static UICompositeViewDescription *compositeDescription = nil;
|
|||
|
||||
- (IBAction)onContactTap {
|
||||
NSString *url = @"https://www.linphone.org/contact";
|
||||
if (![UIApplication.sharedApplication openURL:[NSURL URLWithString:url]]) {
|
||||
LOGE(@"[Assistant] Failed to open %@, invalid URL", url);
|
||||
}
|
||||
[SwiftUtil openUrlWithUrlString:url];
|
||||
}
|
||||
|
||||
- (void)viewDidLoad {
|
||||
|
|
@ -1928,9 +1927,7 @@ UIColor *previousColor = (UIColor*)[sender backgroundColor]; \
|
|||
|
||||
- (IBAction)onLinkTap:(id)sender {
|
||||
NSString *url = @"https://subscribe.linphone.org";
|
||||
if (![UIApplication.sharedApplication openURL:[NSURL URLWithString:url]]) {
|
||||
LOGE(@"[Assistant] Failed to open %@, invalid URL", url);
|
||||
}
|
||||
[SwiftUtil openUrlWithUrlString:url];
|
||||
}
|
||||
|
||||
- (IBAction)onAcceptTermsClick:(id)sender {
|
||||
|
|
|
|||
|
|
@ -681,11 +681,11 @@
|
|||
goto bad_proxy;
|
||||
}
|
||||
// use proxy as route if outbound_proxy is enabled
|
||||
if (linphone_account_params_set_server_address(newAccountParams, proxy_addr) == -1) {
|
||||
if (proxy_addr && linphone_account_params_set_server_address(newAccountParams, proxy_addr) == -1) {
|
||||
error = NSLocalizedString(@"Invalid proxy address", nil);
|
||||
goto bad_proxy;
|
||||
}
|
||||
if (linphone_account_params_set_routes_addresses(newAccountParams, isOutboundProxy ? bctbx_list_new((void*)proxy_addr) : NULL) == -1) {
|
||||
if (proxy_addr && linphone_account_params_set_routes_addresses(newAccountParams, isOutboundProxy ? bctbx_list_new((void*)proxy_addr) : NULL) == -1) {
|
||||
error = NSLocalizedString(@"Invalid route", nil);
|
||||
goto bad_proxy;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1452,8 +1452,20 @@ void popup_link_account_cb(LinphoneAccountCreator *creator, LinphoneAccountCreat
|
|||
linphone_core_cbs_set_conference_state_changed(cbs, linphone_iphone_conference_state_changed);
|
||||
|
||||
|
||||
bool reEnableRls = false;
|
||||
if (![LinphoneManager.instance lpConfigBoolForKey:@"use_rls_presence_requested"] && [LinphoneManager.instance lpConfigBoolForKey:@"use_rls_presence"]) {
|
||||
[LinphoneManager.instance lpConfigSetBool:false forKey:@"use_rls_presence"];
|
||||
reEnableRls = true;
|
||||
}
|
||||
|
||||
theLinphoneCore = linphone_factory_create_shared_core_with_config(factory, _configDb, NULL, [kLinphoneMsgNotificationAppGroupId UTF8String], true);
|
||||
|
||||
if (bctbx_list_size(linphone_core_get_account_list(theLinphoneCore)) > 0 && reEnableRls) { // Do not request rls allowance for users who had it before.
|
||||
[LinphoneManager.instance lpConfigSetBool:true forKey:@"use_rls_presence"];
|
||||
}
|
||||
|
||||
linphone_core_enable_auto_iterate(theLinphoneCore, true);
|
||||
linphone_core_set_chat_messages_aggregation_enabled(theLinphoneCore, false);
|
||||
linphone_core_add_callbacks(theLinphoneCore, cbs);
|
||||
|
||||
[ConfigManager.instance setDbWithDb:_configDb];
|
||||
|
|
@ -2247,6 +2259,8 @@ static int comp_call_state_paused(const LinphoneCall *call, const void *param) {
|
|||
NSString *filter = @"*";
|
||||
if ([self lpConfigBoolForKey:@"contact_filter_on_default_domain"]) {
|
||||
LinphoneAccount *account = linphone_core_get_default_account(theLinphoneCore);
|
||||
if (!account)
|
||||
return filter;
|
||||
LinphoneAccountParams const *accountParams = linphone_account_get_params(account);
|
||||
if (account && linphone_account_params_get_server_addr(accountParams)) {
|
||||
return [NSString stringWithCString:linphone_account_params_get_domain(accountParams)
|
||||
|
|
|
|||
|
|
@ -140,14 +140,16 @@
|
|||
const char *url = linphone_chat_message_get_external_body_url(message);
|
||||
const LinphoneContent *last_content = linphone_chat_message_get_file_transfer_information(message);
|
||||
// Last message was a file transfer (image) so display a picture...
|
||||
if ((url || last_content) && message) {
|
||||
if (linphone_chat_message_get_utf8_text(message))
|
||||
return [NSString stringWithUTF8String:linphone_chat_message_get_utf8_text(message)];
|
||||
return @"🗻";
|
||||
} else {
|
||||
const char *text = linphone_chat_message_get_utf8_text(message) ?: "";
|
||||
if (url || last_content) {
|
||||
if (linphone_chat_message_has_text_content(message) && linphone_chat_message_get_utf8_text(message) && !strstr(linphone_chat_message_get_utf8_text(message),"<?xml version"))
|
||||
return [NSString stringWithUTF8String:linphone_chat_message_get_utf8_text(message)];
|
||||
return @"📎";
|
||||
} else if (linphone_chat_message_has_text_content(message)){
|
||||
const char *text = linphone_chat_message_get_utf8_text(message) ?: "";
|
||||
return [NSString stringWithUTF8String:text] ?: [NSString stringWithCString:text encoding:NSASCIIStringEncoding]
|
||||
?: NSLocalizedString(@"(invalid string)", nil);
|
||||
} else {
|
||||
return @"📎";
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -149,8 +149,6 @@
|
|||
- (IBAction)onSubscribeTap:(id)sender {
|
||||
UIGestureRecognizer *gest = sender;
|
||||
NSString *url = ((UILabel *)gest.view).text;
|
||||
if (![UIApplication.sharedApplication openURL:[NSURL URLWithString:url]]) {
|
||||
LOGE(@"Failed to open %@, invalid URL", url);
|
||||
}
|
||||
[SwiftUtil openUrlWithUrlString:url];
|
||||
}
|
||||
@end
|
||||
|
|
|
|||
|
|
@ -42,7 +42,7 @@
|
|||
- (instancetype)initWithFilePath:(NSString *)filePath {
|
||||
if (self = [super initWithNibName:NSStringFromClass(self.class) bundle:[NSBundle mainBundle]]) {
|
||||
player = linphone_core_create_local_player(LC, NULL, "IOSDisplay", NULL);
|
||||
cbs = linphone_player_get_callbacks(player);
|
||||
cbs = linphone_factory_create_player_cbs(linphone_factory_get());
|
||||
linphone_player_set_user_data(player, (__bridge void *)self);
|
||||
linphone_player_cbs_set_eof_reached(cbs, on_eof_reached);
|
||||
file = filePath;
|
||||
|
|
|
|||
|
|
@ -400,9 +400,11 @@ static UICompositeViewDescription *compositeDescription = nil;
|
|||
[_settingsController dismiss:self];
|
||||
// Set observer
|
||||
[NSNotificationCenter.defaultCenter removeObserver:self name:kIASKAppSettingChanged object:nil];
|
||||
thiz = nil;
|
||||
}
|
||||
|
||||
- (void)viewWillAppear:(BOOL)animated {
|
||||
thiz = self;
|
||||
[super viewWillAppear:animated];
|
||||
|
||||
// Sync settings with linphone core settings
|
||||
|
|
@ -418,10 +420,11 @@ static UICompositeViewDescription *compositeDescription = nil;
|
|||
|
||||
#pragma mark - Account Creator callbacks
|
||||
|
||||
void update_hash_cbs(LinphoneAccountCreator *creator, LinphoneAccountCreatorStatus status, const char *resp) {
|
||||
SettingsView *thiz = (__bridge SettingsView *)(linphone_account_creator_cbs_get_user_data(
|
||||
linphone_account_creator_get_callbacks(creator)));
|
||||
static SettingsView *thiz = nil;
|
||||
|
||||
void update_hash_cbs(LinphoneAccountCreator *creator, LinphoneAccountCreatorStatus status, const char *resp) {
|
||||
if (thiz == nil)
|
||||
return;
|
||||
switch (status) {
|
||||
case LinphoneAccountCreatorStatusRequestOk:
|
||||
[thiz updatePassword:creator];
|
||||
|
|
@ -954,15 +957,23 @@ void update_hash_cbs(LinphoneAccountCreator *creator, LinphoneAccountCreatorStat
|
|||
message:NSLocalizedString(@"Please enter and confirm your new password", nil)
|
||||
preferredStyle:UIAlertControllerStyleAlert];
|
||||
|
||||
|
||||
[alertView addTextFieldWithConfigurationHandler:^(UITextField *textField) {
|
||||
textField.placeholder = NSLocalizedString(@"Password", nil);
|
||||
textField.placeholder = NSLocalizedString(@"Actual password", nil);
|
||||
textField.clearButtonMode = UITextFieldViewModeWhileEditing;
|
||||
textField.borderStyle = UITextBorderStyleRoundedRect;
|
||||
textField.secureTextEntry = YES;
|
||||
}];
|
||||
|
||||
[alertView addTextFieldWithConfigurationHandler:^(UITextField *textField) {
|
||||
textField.placeholder = NSLocalizedString(@"Confirm password", nil);
|
||||
textField.placeholder = NSLocalizedString(@"New password", nil);
|
||||
textField.clearButtonMode = UITextFieldViewModeWhileEditing;
|
||||
textField.borderStyle = UITextBorderStyleRoundedRect;
|
||||
textField.secureTextEntry = YES;
|
||||
}];
|
||||
|
||||
[alertView addTextFieldWithConfigurationHandler:^(UITextField *textField) {
|
||||
textField.placeholder = NSLocalizedString(@"Confirm new password", nil);
|
||||
textField.clearButtonMode = UITextFieldViewModeWhileEditing;
|
||||
textField.borderStyle = UITextBorderStyleRoundedRect;
|
||||
textField.secureTextEntry = YES;
|
||||
|
|
@ -975,8 +986,21 @@ void update_hash_cbs(LinphoneAccountCreator *creator, LinphoneAccountCreatorStat
|
|||
UIAlertAction* continueAction = [UIAlertAction actionWithTitle:NSLocalizedString(@"Save", nil)
|
||||
style:UIAlertActionStyleDefault
|
||||
handler:^(UIAlertAction * action) {
|
||||
NSString * pwd = alertView.textFields[0].text;
|
||||
NSString * conf_pwd = alertView.textFields[1].text;
|
||||
NSString * oldpwd = alertView.textFields[0].text;
|
||||
NSString * pwd = alertView.textFields[1].text;
|
||||
NSString * conf_pwd = alertView.textFields[2].text;
|
||||
if (!oldpwd || [oldpwd isEqualToString:@""]) {
|
||||
UIAlertController *errView = [UIAlertController alertControllerWithTitle:NSLocalizedString(@"Error while changing your password", nil)
|
||||
message:NSLocalizedString(@"Please enter your actual password", nil)
|
||||
preferredStyle:UIAlertControllerStyleAlert];
|
||||
|
||||
UIAlertAction* defaultAction = [UIAlertAction actionWithTitle:@"OK" style:UIAlertActionStyleDefault
|
||||
handler:^(UIAlertAction * action) {}];
|
||||
|
||||
[errView addAction:defaultAction];
|
||||
[self presentViewController:errView animated:YES completion:nil];
|
||||
return;
|
||||
}
|
||||
if (pwd && ![pwd isEqualToString:@""]) {
|
||||
if ([pwd isEqualToString:conf_pwd]) {
|
||||
_tmpPwd = pwd;
|
||||
|
|
@ -1030,25 +1054,17 @@ void update_hash_cbs(LinphoneAccountCreator *creator, LinphoneAccountCreatorStat
|
|||
completion:nil];
|
||||
return;
|
||||
}
|
||||
linphone_account_creator_set_algorithm(account_creator, "");
|
||||
linphone_account_creator_set_algorithm(account_creator, linphone_auth_info_get_algorithm(ai));
|
||||
linphone_account_creator_set_username(account_creator, linphone_auth_info_get_username(ai));
|
||||
if (linphone_auth_info_get_passwd(ai) && !(strcmp(linphone_auth_info_get_passwd(ai),"") == 0)) {
|
||||
linphone_account_creator_set_password(account_creator, linphone_auth_info_get_passwd(ai));
|
||||
} else {
|
||||
linphone_account_creator_set_ha1(account_creator, linphone_auth_info_get_ha1(ai));
|
||||
}
|
||||
linphone_account_creator_set_password(account_creator, oldpwd.UTF8String);
|
||||
|
||||
linphone_account_creator_set_domain(account_creator, linphone_auth_info_get_domain(ai));
|
||||
linphone_account_creator_set_user_data(
|
||||
account_creator, (void *)pwd.UTF8String);
|
||||
linphone_account_creator_cbs_set_update_account(
|
||||
linphone_account_creator_get_callbacks(
|
||||
account_creator),
|
||||
update_hash_cbs);
|
||||
linphone_account_creator_cbs_set_user_data(
|
||||
linphone_account_creator_get_callbacks(
|
||||
account_creator),
|
||||
(__bridge void *)(self));
|
||||
LinphoneAccountCreatorCbs * cbs = linphone_factory_create_account_creator_cbs(linphone_factory_get());
|
||||
linphone_account_creator_cbs_set_update_account(cbs, update_hash_cbs);
|
||||
linphone_account_creator_cbs_set_user_data(cbs,(__bridge void *)(self));
|
||||
linphone_account_creator_add_callbacks(account_creator, cbs);
|
||||
linphone_account_creator_update_account(
|
||||
account_creator);
|
||||
} else {
|
||||
|
|
|
|||
|
|
@ -44,7 +44,7 @@ import AVFoundation
|
|||
@objc var nextCallIsTransfer: Bool = false
|
||||
var referedFromCall: String?
|
||||
var referedToCall: String?
|
||||
var endCallkit: Bool = false
|
||||
var lastRegistrationFailed: Bool = false
|
||||
var globalState : GlobalState = .Off
|
||||
var actionsToPerformOnceWhenCoreIsOn : [(()->Void)] = []
|
||||
var conference: Conference?
|
||||
|
|
@ -271,12 +271,11 @@ import AVFoundation
|
|||
|
||||
// for outgoing call. There is not yet callId
|
||||
@objc func startCall(addr: OpaquePointer?, isSas: Bool, isVideo: Bool, isConference: Bool = false) {
|
||||
if (addr == nil) {
|
||||
guard addr != nil, let sAddr = Address.getSwiftObject(cObject: addr!).clone() else {
|
||||
Log.i("Can not start a call with null address!")
|
||||
return
|
||||
}
|
||||
|
||||
let sAddr = Address.getSwiftObject(cObject: addr!)
|
||||
if (CallManager.callKitEnabled() && !CallManager.instance().nextCallIsTransfer && lc?.conference?.isIn != true) {
|
||||
let uuid = UUID()
|
||||
let name = FastAddressBook.displayName(for: addr) ?? "unknow"
|
||||
|
|
@ -512,15 +511,15 @@ import AVFoundation
|
|||
|
||||
CallManager.instance().providerDelegate.endCall(uuid: call.value)
|
||||
}
|
||||
CallManager.instance().endCallkit = true
|
||||
CallManager.instance().lastRegistrationFailed = true
|
||||
} else {
|
||||
CallManager.instance().endCallkit = false
|
||||
CallManager.instance().lastRegistrationFailed = false
|
||||
}
|
||||
}
|
||||
|
||||
func isConferenceCall(call:Call) -> Bool {
|
||||
let remoteAddress = call.remoteAddress?.asStringUriOnly()
|
||||
return remoteAddress?.contains("focus") == true || remoteAddress?.contains("audiovideo") == true
|
||||
return remoteAddress?.contains("focus") == true || remoteAddress?.contains("audiovideo") == true || remoteAddress == lc?.defaultAccount?.params?.audioVideoConferenceFactoryAddress?.asStringUriOnly()
|
||||
}
|
||||
|
||||
func incomingDisplayName(call:Call) -> String {
|
||||
|
|
@ -536,10 +535,24 @@ import AVFoundation
|
|||
return FastAddressBook.displayName(for: call.remoteAddress?.getCobject) ?? "Unknown"
|
||||
}
|
||||
}
|
||||
|
||||
var reactivateAudioSessionWhenCallMerged = false
|
||||
|
||||
func onCallStateChanged(core: Core, call: Call, state cstate: Call.State, message: String) {
|
||||
let callLog = call.callLog
|
||||
let callId = callLog?.callId ?? ""
|
||||
|
||||
if (cstate == .Released && reactivateAudioSessionWhenCallMerged && core.callsNb == 1) {
|
||||
reactivateAudioSessionWhenCallMerged = false
|
||||
DispatchQueue.main.async {
|
||||
Log.directLog(BCTBX_LOG_MESSAGE, text: "reactivating audio session in merge call scenario")
|
||||
Core.get().activateAudioSession(activated: true)
|
||||
}
|
||||
}
|
||||
|
||||
if (cstate == .Released && reactivateAudioSessionWhenCallMerged && core.callsNb == 0) {
|
||||
reactivateAudioSessionWhenCallMerged = false
|
||||
}
|
||||
|
||||
if (cstate == .PushIncomingReceived) {
|
||||
displayIncomingCall(call: call, handle: "Calling", hasVideo: false, callId: callId, displayName: "Calling")
|
||||
} else {
|
||||
|
|
@ -652,11 +665,13 @@ import AVFoundation
|
|||
} else {
|
||||
if CallManager.instance().isConferenceCall(call: call) {
|
||||
let uuid = UUID()
|
||||
Log.directLog(BCTBX_LOG_MESSAGE, text: "CallKit: outgoing call to conference server \(uuid) and callId \(callId)")
|
||||
CallManager.instance().providerDelegate.uuids["\(call.callLog!.callId)"] = uuid;
|
||||
let callInfo = CallInfo.newOutgoingCallInfo(addr: call.remoteAddress!, isSas: call.params?.mediaEncryption == .ZRTP, displayName: VoipTexts.conference_default_title, isVideo: call.params?.videoEnabled == true, isConference:true)
|
||||
CallManager.instance().providerDelegate.callInfos.updateValue(callInfo, forKey: uuid)
|
||||
CallManager.instance().providerDelegate.uuids.updateValue(uuid, forKey: "")
|
||||
CallManager.instance().providerDelegate.reportOutgoingCallStartedConnecting(uuid: uuid)
|
||||
Core.get().activateAudioSession(actived: true)
|
||||
reactivateAudioSessionWhenCallMerged = true
|
||||
} else {
|
||||
CallManager.instance().referedToCall = callId
|
||||
}
|
||||
|
|
@ -763,7 +778,7 @@ import AVFoundation
|
|||
// Audio messages
|
||||
|
||||
@objc func activateAudioSession() {
|
||||
lc?.activateAudioSession(actived: true)
|
||||
lc?.activateAudioSession(activated: true)
|
||||
}
|
||||
|
||||
@objc func getSpeakerSoundCard() -> String? {
|
||||
|
|
@ -784,7 +799,7 @@ import AVFoundation
|
|||
// Local Conference
|
||||
|
||||
@objc func startLocalConference() {
|
||||
if (CallManager.callKitEnabled()) {
|
||||
if (CallManager.callKitEnabled() && lc?.defaultAccount?.params?.audioVideoConferenceFactoryAddress == nil) {
|
||||
let calls = lc?.calls
|
||||
if (calls == nil || calls!.isEmpty) {
|
||||
return
|
||||
|
|
@ -810,15 +825,21 @@ import AVFoundation
|
|||
}
|
||||
|
||||
func addAllToLocalConference() {
|
||||
do {
|
||||
if let core = lc, let params = try? core.createConferenceParams(conference: nil) {
|
||||
params.videoEnabled = false // We disable video for local conferencing (cf Android)
|
||||
params.subject = VoipTexts.conference_local_title
|
||||
let conference = core.conference != nil ? core.conference : try core.createConferenceWithParams(params: params)
|
||||
try conference?.addParticipants(calls: core.calls)
|
||||
if let currentCall = lc?.currentCall, currentCall.state == .StreamsRunning {
|
||||
try? currentCall.pause()
|
||||
}
|
||||
|
||||
DispatchQueue.main.async {
|
||||
do {
|
||||
if let core = self.lc, let params = try? core.createConferenceParams(conference: nil) {
|
||||
params.videoEnabled = false // We disable video for local conferencing (cf Android)
|
||||
params.subject = VoipTexts.conference_local_title
|
||||
let conference = core.conference != nil ? core.conference : try core.createConferenceWithParams(params: params)
|
||||
try conference?.addParticipants(calls: core.calls)
|
||||
}
|
||||
} catch {
|
||||
Log.directLog(BCTBX_LOG_ERROR, text: "creating local conference failed \(error)")
|
||||
}
|
||||
} catch {
|
||||
Log.directLog(BCTBX_LOG_ERROR, text: "accept call failed \(error)")
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -113,7 +113,7 @@ class ChatConversationTableViewSwift: UIViewController, UICollectionViewDataSour
|
|||
|
||||
override func viewWillDisappear(_ animated: Bool) {
|
||||
if ChatConversationTableViewModel.sharedModel.getNBMessages() > 0 {
|
||||
scrollToBottom(animated: false)
|
||||
scrollToBottom(animated: false, async:false)
|
||||
}
|
||||
NotificationCenter.default.removeObserver(self, name: Notification.Name("LinphoneFriendPresenceUpdate"), object: nil)
|
||||
NotificationCenter.default.removeObserver(self)
|
||||
|
|
@ -130,8 +130,12 @@ class ChatConversationTableViewSwift: UIViewController, UICollectionViewDataSour
|
|||
self.collectionView.scrollToItem(at: IndexPath(row: messageIndex, section: 0), at: .bottom, animated: false)
|
||||
}
|
||||
|
||||
func scrollToBottom(animated: Bool){
|
||||
DispatchQueue.main.async{
|
||||
func scrollToBottom(animated: Bool, async: Bool = true){
|
||||
if (async) {
|
||||
DispatchQueue.main.async{
|
||||
self.collectionView.scrollToItem(at: IndexPath(item: 0, section: 0), at: .top, animated: animated)
|
||||
}
|
||||
} else {
|
||||
self.collectionView.scrollToItem(at: IndexPath(item: 0, section: 0), at: .top, animated: animated)
|
||||
}
|
||||
ChatConversationViewSwift.markAsRead(ChatConversationViewModel.sharedModel.chatRoom?.getCobject)
|
||||
|
|
|
|||
|
|
@ -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,7 +648,11 @@ class MultilineMessageCell: SwipeCollectionViewCell, UICollectionViewDataSource,
|
|||
recordingDurationTextView.text = recordingDuration(filePathRecording)
|
||||
|
||||
recordingPlayButton.onClickAction = {
|
||||
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)
|
||||
|
|
@ -661,6 +667,10 @@ class MultilineMessageCell: SwipeCollectionViewCell, UICollectionViewDataSource,
|
|||
NSLayoutConstraint.activate(recordingWaveConstraints)
|
||||
}
|
||||
|
||||
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
|
||||
}
|
||||
|
||||
|
|
@ -722,7 +732,7 @@ class MultilineMessageCell: SwipeCollectionViewCell, UICollectionViewDataSource,
|
|||
|
||||
override func prepareForReuse() {
|
||||
super.prepareForReuse()
|
||||
|
||||
reused = true
|
||||
deleteItemCheckBox.removeFromSuperview()
|
||||
eventMessageView.removeFromSuperview()
|
||||
contactDateLabel.removeFromSuperview()
|
||||
|
|
@ -1620,6 +1630,7 @@ class MultilineMessageCell: SwipeCollectionViewCell, UICollectionViewDataSource,
|
|||
deleteItemCheckBox.isHidden = true
|
||||
deleteItemCheckBox.width(0).done()
|
||||
}
|
||||
reused = false
|
||||
}
|
||||
|
||||
@objc func showMyViewControllerInACustomizedSheet(_ sender: UITapGestureRecognizer? = nil) {
|
||||
|
|
@ -1717,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()
|
||||
|
|
@ -1806,7 +1822,7 @@ class MultilineMessageCell: SwipeCollectionViewCell, UICollectionViewDataSource,
|
|||
AudioPlayer.sharedModel.fileChanged.value = voiceRecorder
|
||||
recordingPlayButton.isHidden = true
|
||||
recordingStopButton.isHidden = false
|
||||
|
||||
|
||||
AudioPlayer.startSharedPlayer(voiceRecorder)
|
||||
isPlayingVoiceRecording = true
|
||||
|
||||
|
|
|
|||
|
|
@ -186,6 +186,7 @@ import linphonesw
|
|||
cell.selectionStyle = .none
|
||||
cell.scheduleConfParticipantAddress = tableView.tag == 1 ? data.conferenceInfo.participants.filter {$0.weakEqual(address2: data.conferenceInfo.organizer!)}.first : data.conferenceInfo.participants[indexPath.row]
|
||||
cell.limeBadge.isHidden = true
|
||||
cell.addButton.isHidden = true
|
||||
return cell
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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 <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
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()
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
|
@ -136,4 +136,14 @@ import linphonesw
|
|||
}
|
||||
}
|
||||
|
||||
@objc public class func deleteRecurse(appGroupName:String) {
|
||||
let fileManager = FileManager.default
|
||||
do {
|
||||
let fileURLs = try fileManager.contentsOfDirectory(at: FileUtil.sharedContainerUrl(appGroupName: appGroupName), includingPropertiesForKeys: nil)
|
||||
fileURLs.forEach{delete(path: $0.absoluteURL.path)}
|
||||
} catch {
|
||||
Log.e("Error while enumerating files \(error.localizedDescription)")
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -114,10 +114,15 @@ class ProviderDelegate: NSObject {
|
|||
//CallManager.instance().setHeldOtherCalls(exceptCallid: callId ?? "")
|
||||
provider.reportNewIncomingCall(with: uuid, update: update) { error in
|
||||
if error == nil {
|
||||
if CallManager.instance().endCallkit {
|
||||
if CallManager.instance().lastRegistrationFailed {
|
||||
let call = CallManager.instance().lc?.getCallByCallid(callId: callId ?? "")
|
||||
if (call?.state == .PushIncomingReceived) {
|
||||
try? call?.terminate()
|
||||
Log.directLog(BCTBX_LOG_MESSAGE, text: "CallKit / reportNewIncomingCall: last registration failed, trying to refresh registers ... context = call with call-id: [\(String(describing: callId))] and UUID: [\(uuid.description)] ")
|
||||
DispatchQueue.main.async {
|
||||
CallManager.instance().lc?.accountList.forEach {
|
||||
$0.refreshRegister()
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
} else {
|
||||
|
|
@ -204,23 +209,25 @@ extension ProviderDelegate: CXProviderDelegate {
|
|||
let callId = callInfo?.callId
|
||||
Log.directLog(BCTBX_LOG_MESSAGE, text: "CallKit: answer call with call-id: \(String(describing: callId)) and UUID: \(uuid.description).")
|
||||
|
||||
let call = CallManager.instance().callByCallId(callId: callId)
|
||||
|
||||
if (UIApplication.shared.applicationState != .active) {
|
||||
CallManager.instance().backgroundContextCall = call
|
||||
CallManager.instance().backgroundContextCameraIsEnabled = call?.params?.videoEnabled == true || call?.callLog?.wasConference() == true
|
||||
/*if #available(iOS 16.0, *) {
|
||||
if (call?.cameraEnabled == true) {
|
||||
call?.cameraEnabled = AVCaptureSession().isMultitaskingCameraAccessSupported
|
||||
}
|
||||
} else {
|
||||
call?.cameraEnabled = false // Disable camera while app is not on foreground
|
||||
}*/
|
||||
if let call = CallManager.instance().callByCallId(callId: callId) {
|
||||
if (UIApplication.shared.applicationState != .active) {
|
||||
CallManager.instance().backgroundContextCall = call
|
||||
CallManager.instance().backgroundContextCameraIsEnabled = call.params?.videoEnabled == true || call.callLog?.wasConference() == true
|
||||
/*if #available(iOS 16.0, *) {
|
||||
if (call?.cameraEnabled == true) {
|
||||
call?.cameraEnabled = AVCaptureSession().isMultitaskingCameraAccessSupported
|
||||
}
|
||||
} else {
|
||||
call?.cameraEnabled = false // Disable camera while app is not on foreground
|
||||
}*/
|
||||
}
|
||||
CallManager.instance().callkitAudioSessionActivated = false
|
||||
CallManager.instance().lc?.configureAudioSession()
|
||||
CallManager.instance().acceptCall(call: call, hasVideo: call.params?.videoEnabled ?? false)
|
||||
action.fulfill()
|
||||
} else {
|
||||
endCall(uuid: uuid)
|
||||
}
|
||||
CallManager.instance().callkitAudioSessionActivated = false
|
||||
CallManager.instance().lc?.configureAudioSession()
|
||||
CallManager.instance().acceptCall(call: call!, hasVideo: call!.params?.videoEnabled ?? false)
|
||||
action.fulfill()
|
||||
}
|
||||
|
||||
func provider(_ provider: CXProvider, perform action: CXSetHeldCallAction) {
|
||||
|
|
@ -273,7 +280,7 @@ extension ProviderDelegate: CXProviderDelegate {
|
|||
// Callkit's design is not consistent, or its documentation imcomplete, wich is somewhat disapointing.
|
||||
//
|
||||
Log.directLog(BCTBX_LOG_DEBUG, text: "Assuming AudioSession is active when executing a CXSetHeldCallAction with isOnHold=false.")
|
||||
CallManager.instance().lc?.activateAudioSession(actived: true)
|
||||
CallManager.instance().lc?.activateAudioSession(activated: true)
|
||||
CallManager.instance().callkitAudioSessionActivated = true
|
||||
}
|
||||
}
|
||||
|
|
@ -298,6 +305,7 @@ extension ProviderDelegate: CXProviderDelegate {
|
|||
if (addr == nil) {
|
||||
Log.directLog(BCTBX_LOG_ERROR, text: "CallKit: can not call a null address!")
|
||||
action.fail()
|
||||
return
|
||||
}
|
||||
|
||||
CallManager.instance().lc?.configureAudioSession()
|
||||
|
|
@ -352,13 +360,13 @@ extension ProviderDelegate: CXProviderDelegate {
|
|||
|
||||
func provider(_ provider: CXProvider, didActivate audioSession: AVAudioSession) {
|
||||
Log.directLog(BCTBX_LOG_MESSAGE, text: "CallKit: audio session activated.")
|
||||
CallManager.instance().lc?.activateAudioSession(actived: true)
|
||||
CallManager.instance().lc?.activateAudioSession(activated: true)
|
||||
CallManager.instance().callkitAudioSessionActivated = true
|
||||
}
|
||||
|
||||
func provider(_ provider: CXProvider, didDeactivate audioSession: AVAudioSession) {
|
||||
Log.directLog(BCTBX_LOG_MESSAGE, text: "CallKit: audio session deactivated.")
|
||||
CallManager.instance().lc?.activateAudioSession(actived: false)
|
||||
CallManager.instance().lc?.activateAudioSession(activated: false)
|
||||
CallManager.instance().callkitAudioSessionActivated = nil
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -121,5 +121,53 @@ import linphonesw
|
|||
return log.dir == .Incoming && [.Missed,.Aborted,.EarlyAborted].contains(log.status)
|
||||
}
|
||||
|
||||
@objc static func openUrl(urlString:String) {
|
||||
if let url = URL(string: urlString) {
|
||||
UIApplication.shared.open(url, options: [:], completionHandler: { success in
|
||||
if (!success) {
|
||||
Log.e("Unable to open URL \(urlString)")
|
||||
}
|
||||
})
|
||||
} else {
|
||||
Log.e("Invalid URL \(urlString)")
|
||||
}
|
||||
}
|
||||
|
||||
@objc static func requestRLSPresenceAllowance() {
|
||||
let rls = UIAlertController(
|
||||
title: VoipTexts.accept_rls_title,
|
||||
message: VoipTexts.accept_rls,
|
||||
preferredStyle: .actionSheet)
|
||||
|
||||
let accept = UIAlertAction(
|
||||
title: VoipTexts.dialog_accept,
|
||||
style: .default,
|
||||
handler: { action in
|
||||
Core.get().config?.setInt(section: "app", key: "use_rls_presence", value: 1)
|
||||
Core.get().config?.setInt(section: "app", key: "use_rls_presence_requested", value: 1)
|
||||
Core.get().friendListSubscriptionEnabled = true
|
||||
})
|
||||
let refuse = UIAlertAction(
|
||||
title: VoipTexts.dialog_later,
|
||||
style: .default,
|
||||
handler: { action in
|
||||
Core.get().config?.setInt(section: "app", key: "use_rls_presence", value: 0)
|
||||
Core.get().config?.setInt(section: "app", key: "use_rls_presence_requested", value: 1)
|
||||
Core.get().friendListSubscriptionEnabled = false
|
||||
})
|
||||
let pp = UIAlertAction(
|
||||
title: VoipTexts.dialog_privacy_policy,
|
||||
style: .default,
|
||||
handler: { action in
|
||||
openUrl(urlString: "https://www.linphone.org/privacy-policy")
|
||||
})
|
||||
|
||||
rls.addAction(accept)
|
||||
rls.addAction(pp)
|
||||
rls.addAction(refuse)
|
||||
rls.popoverPresentationController?.sourceView = PhoneMainView.instance().mainViewController.statusBarView
|
||||
PhoneMainView.instance()?.present(rls, animated: true)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -55,11 +55,15 @@ class AudioPlayer {
|
|||
NotificationCenter.default.post(name: NSNotification.Name(rawValue: "LinphoneVoiceMessagePlayerEOF"), object: nil, userInfo: userInfo as [AnyHashable : Any])
|
||||
}
|
||||
CallManager.instance().changeRouteToSpeaker()
|
||||
do{
|
||||
try linphonePlayer?.open(filename: path!)
|
||||
try linphonePlayer?.start()
|
||||
}catch{
|
||||
Log.e(error.localizedDescription)
|
||||
if let path = path, FileUtil.fileExists(path: path) {
|
||||
do{
|
||||
try linphonePlayer?.open(filename: path)
|
||||
try linphonePlayer?.start()
|
||||
}catch{
|
||||
Log.e(error.localizedDescription)
|
||||
}
|
||||
} else {
|
||||
Log.e("[Voice Message] unable to play file, \(path != nil ? path : "nil") does not exist of is empty.")
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -250,4 +250,11 @@ import UIKit
|
|||
static let conference_info_confirm_removal_delete = NSLocalizedString("DELETE",comment:"")
|
||||
static let conference_unable_to_share_via_calendar = NSLocalizedString("Unable to add event to calendar. Check permissions",comment:"")
|
||||
static let screenshot_restrictions = NSLocalizedString("Can't take a screenshot due to app restrictions", comment: "")
|
||||
|
||||
|
||||
@objc static let dialog_later = NSLocalizedString("Maybe later",comment:"")
|
||||
@objc static let dialog_privacy_policy = NSLocalizedString("Privacy policy",comment:"")
|
||||
@objc static let accept_rls_title = NSLocalizedString("Enable smart address book", comment:"")
|
||||
@objc static let accept_rls = NSLocalizedString("To improve your experience, we’ll store your contacts' phone numbers to show you which friends are using the app. Your data will be securely stored and only used according to our privacy policy.\n You can disable this at any time.",comment:"")
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -156,7 +156,7 @@ class ControlsViewModel {
|
|||
}
|
||||
} else {
|
||||
let state = currentCall.state
|
||||
if (state == Call.State.End || state == Call.State.Released || state == Call.State.Error) {
|
||||
if (state != .StreamsRunning) {
|
||||
return
|
||||
}
|
||||
isVideoUpdateInProgress.value = true
|
||||
|
|
|
|||
|
|
@ -123,14 +123,14 @@ import AVKit
|
|||
// Picture in picture on video call
|
||||
override func viewWillDisappear(_ animated: Bool) {
|
||||
super.viewWillDisappear(animated)
|
||||
if (CallsViewModel.shared.currentCallData.value??.call.state == .StreamsRunning && pipController.isPictureInPicturePossible) {
|
||||
if (pipController != nil && CallsViewModel.shared.currentCallData.value??.call.state == .StreamsRunning && pipController.isPictureInPicturePossible) {
|
||||
pipController.startPictureInPicture()
|
||||
}
|
||||
}
|
||||
|
||||
override func viewDidAppear(_ animated: Bool) {
|
||||
super.viewDidAppear(animated)
|
||||
if pipController.isPictureInPictureActive {
|
||||
if pipController != nil && pipController.isPictureInPictureActive {
|
||||
pipController.stopPictureInPicture()
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -216,7 +216,11 @@
|
|||
BOOL success = FALSE;
|
||||
if(granted){
|
||||
LOGD(@"CNContactStore authorization granted");
|
||||
|
||||
dispatch_async(dispatch_get_main_queue(), ^{
|
||||
if (bctbx_list_size(linphone_core_get_account_list(LC)) == 0 && ![LinphoneManager.instance lpConfigBoolForKey:@"use_rls_presence_requested"]) {
|
||||
//[SwiftUtil requestRLSPresenceAllowance];
|
||||
}
|
||||
});
|
||||
NSError *contactError;
|
||||
CNContactStore* store = [[CNContactStore alloc] init];
|
||||
[store containersMatchingPredicate:[CNContainer predicateForContainersWithIdentifiers:@[ store.defaultContainerIdentifier]] error:&contactError];
|
||||
|
|
|
|||
2
Podfile
2
Podfile
|
|
@ -5,7 +5,7 @@ source "https://github.com/CocoaPods/Specs.git"
|
|||
|
||||
def all_pods
|
||||
if ENV['PODFILE_PATH'].nil?
|
||||
pod 'linphone-sdk', '~>5.3.4'
|
||||
pod 'linphone-sdk', '~>5.3.86'
|
||||
else
|
||||
pod 'linphone-sdk', :path => ENV['PODFILE_PATH'] # local sdk
|
||||
end
|
||||
|
|
|
|||
Binary file not shown.
|
|
@ -103,7 +103,8 @@
|
|||
<key>NSCameraUsageDescription</key>
|
||||
<string>Share photos with your friends and customize avatars</string>
|
||||
<key>NSContactsUsageDescription</key>
|
||||
<string>Make calls with your friends</string>
|
||||
<string>To improve your experience, we’ll store your contacts' phone numbers to show you which friends are using the app. Your data will be securely stored and only used according to our Privacy Policy.
|
||||
You can disable this at any time.</string>
|
||||
<key>NSLocalNetworkUsageDescription</key>
|
||||
<string>Stream audio and video through the local network</string>
|
||||
<key>NSLocationWhenInUseUsageDescription</key>
|
||||
|
|
|
|||
|
|
@ -7,6 +7,8 @@
|
|||
objects = {
|
||||
|
||||
/* Begin PBXBuildFile section */
|
||||
0630CB9061F23021B1DBF3E5 /* Pods_msgNotificationContent.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 60E8ED274FA16330872945FB /* Pods_msgNotificationContent.framework */; };
|
||||
131D0AB0F2BC0F1952D51CFE /* Pods_CallUITests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A53B959BF2158A56EC9BAE72 /* Pods_CallUITests.framework */; };
|
||||
152F22361B15E889008C0621 /* libxml2.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 152F22351B15E889008C0621 /* libxml2.dylib */; };
|
||||
1D3623260D0F684500981E51 /* LinphoneAppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 1D3623250D0F684500981E51 /* LinphoneAppDelegate.m */; };
|
||||
1D60589B0D05DD56006BFB54 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 29B97316FDCFA39411CA2CEA /* main.m */; };
|
||||
|
|
@ -625,6 +627,7 @@
|
|||
669B140C27A29D140012220A /* FloatingScrollDownButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = 669B140B27A29D140012220A /* FloatingScrollDownButton.swift */; };
|
||||
66E399F72857869300E73456 /* menu_notifications_off.png in Resources */ = {isa = PBXBuildFile; fileRef = 66E399F52857869200E73456 /* menu_notifications_off.png */; };
|
||||
66E399F82857869300E73456 /* menu_notifications_on.png in Resources */ = {isa = PBXBuildFile; fileRef = 66E399F62857869200E73456 /* menu_notifications_on.png */; };
|
||||
6B3B4E172D73EDB529D34614 /* Pods_msgNotificationService.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9CABE0F1DD25F3C2B1A42DBB /* Pods_msgNotificationService.framework */; };
|
||||
70E542F313E147E3002BA2C0 /* OpenGLES.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 70E542F213E147E3002BA2C0 /* OpenGLES.framework */; };
|
||||
70E542F513E147EB002BA2C0 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 70E542F413E147EB002BA2C0 /* QuartzCore.framework */; };
|
||||
8C2595DF1DEDCC8E007A6424 /* CallKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8C2595DE1DEDCC8E007A6424 /* CallKit.framework */; };
|
||||
|
|
@ -849,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 */; };
|
||||
|
|
@ -995,6 +999,7 @@
|
|||
F0938159188E629800A55DFA /* iTunesArtwork in Resources */ = {isa = PBXBuildFile; fileRef = F0938158188E629800A55DFA /* iTunesArtwork */; };
|
||||
F0B026F31AA710AF00FF49F7 /* libiconv.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = F0B026F21AA710AF00FF49F7 /* libiconv.dylib */; };
|
||||
F0B89C2218DC89E30050B60E /* MediaPlayer.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F0B89C2118DC89E30050B60E /* MediaPlayer.framework */; };
|
||||
FFB3929E755B4246D1DBE670 /* Pods_linphone.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0254C760D6A88C5E0C18C2EE /* Pods_linphone.framework */; };
|
||||
/* End PBXBuildFile section */
|
||||
|
||||
/* Begin PBXContainerItemProxy section */
|
||||
|
|
@ -1055,6 +1060,8 @@
|
|||
/* End PBXCopyFilesBuildPhase section */
|
||||
|
||||
/* Begin PBXFileReference section */
|
||||
0254C760D6A88C5E0C18C2EE /* Pods_linphone.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_linphone.framework; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
0F04AD4F6375B3BBD90E7010 /* Pods-msgNotificationService.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-msgNotificationService.debug.xcconfig"; path = "Target Support Files/Pods-msgNotificationService/Pods-msgNotificationService.debug.xcconfig"; sourceTree = "<group>"; };
|
||||
152F22351B15E889008C0621 /* libxml2.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libxml2.dylib; path = usr/lib/libxml2.dylib; sourceTree = SDKROOT; };
|
||||
1D30AB110D05D00D00671497 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
|
||||
1D3623240D0F684500981E51 /* LinphoneAppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LinphoneAppDelegate.h; sourceTree = "<group>"; };
|
||||
|
|
@ -1109,17 +1116,23 @@
|
|||
24BFAA9D209B0630004F47A7 /* linphone_logo@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "linphone_logo@2x.png"; sourceTree = "<group>"; };
|
||||
24E1C7B91F9A235500D3F981 /* Contacts.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Contacts.framework; path = System/Library/Frameworks/Contacts.framework; sourceTree = SDKROOT; };
|
||||
288765FC0DF74451002DB57D /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; };
|
||||
28B4576D02DAC5687EFB5E10 /* Pods-msgNotificationService.distribution.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-msgNotificationService.distribution.xcconfig"; path = "Target Support Files/Pods-msgNotificationService/Pods-msgNotificationService.distribution.xcconfig"; sourceTree = "<group>"; };
|
||||
29B97316FDCFA39411CA2CEA /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; };
|
||||
32CA4F630368D1EE00C91783 /* linphone_Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = linphone_Prefix.pch; sourceTree = "<group>"; };
|
||||
340751961506459A00B89C47 /* CoreTelephony.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreTelephony.framework; path = System/Library/Frameworks/CoreTelephony.framework; sourceTree = SDKROOT; };
|
||||
344ABDEF14850AE9007420B6 /* libc++.1.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = "libc++.1.dylib"; path = "usr/lib/libc++.1.dylib"; sourceTree = SDKROOT; };
|
||||
344ABDF014850AE9007420B6 /* libstdc++.6.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = "libstdc++.6.dylib"; path = "usr/lib/libstdc++.6.dylib"; sourceTree = SDKROOT; };
|
||||
3677A6CD9CA274FCC4821EAD /* Pods-CallUITests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-CallUITests.debug.xcconfig"; path = "Target Support Files/Pods-CallUITests/Pods-CallUITests.debug.xcconfig"; sourceTree = "<group>"; };
|
||||
3DA745CBF9F6A2ACE390E917 /* Pods-msgNotificationContent.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-msgNotificationContent.release.xcconfig"; path = "Target Support Files/Pods-msgNotificationContent/Pods-msgNotificationContent.release.xcconfig"; sourceTree = "<group>"; };
|
||||
4ADDC4A3A6FCAE17EED5083D /* Pods-linphone.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-linphone.debug.xcconfig"; path = "Target Support Files/Pods-linphone/Pods-linphone.debug.xcconfig"; sourceTree = "<group>"; };
|
||||
56F9C8820DE587701439D3DA /* Pods-msgNotificationService.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-msgNotificationService.release.xcconfig"; path = "Target Support Files/Pods-msgNotificationService/Pods-msgNotificationService.release.xcconfig"; sourceTree = "<group>"; };
|
||||
570742571D5A0691004B9C84 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/ShopView.xib; sourceTree = "<group>"; };
|
||||
5707425F1D5A09B8004B9C84 /* ShopView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ShopView.m; sourceTree = "<group>"; };
|
||||
570742601D5A09B8004B9C84 /* ShopView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ShopView.h; sourceTree = "<group>"; };
|
||||
570742661D5A63DB004B9C84 /* StoreKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = StoreKit.framework; path = System/Library/Frameworks/StoreKit.framework; sourceTree = SDKROOT; };
|
||||
5E58962520DCE5700030868C /* UserNotificationsUI.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UserNotificationsUI.framework; path = System/Library/Frameworks/UserNotificationsUI.framework; sourceTree = SDKROOT; };
|
||||
5EF0C33820C806A5005081B0 /* NotificationCenter.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = NotificationCenter.framework; path = System/Library/Frameworks/NotificationCenter.framework; sourceTree = SDKROOT; };
|
||||
60E8ED274FA16330872945FB /* Pods_msgNotificationContent.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_msgNotificationContent.framework; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
6112A01B243B31A600DBD5F5 /* GoogleService-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "GoogleService-Info.plist"; sourceTree = "<group>"; };
|
||||
6112A01D243B5FD500DBD5F5 /* GoogleService-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "GoogleService-Info.plist"; sourceTree = "<group>"; };
|
||||
6130C85B22BBB493009CC79C /* LaunchScreen.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LaunchScreen.h; sourceTree = "<group>"; };
|
||||
|
|
@ -1769,6 +1782,7 @@
|
|||
63F1DF431BCE618E00EDED90 /* UIAddressTextField.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = UIAddressTextField.m; sourceTree = "<group>"; };
|
||||
63FB30331A680E73008CA393 /* UIRoundedImageView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UIRoundedImageView.h; sourceTree = "<group>"; };
|
||||
63FB30341A680E73008CA393 /* UIRoundedImageView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = UIRoundedImageView.m; sourceTree = "<group>"; };
|
||||
661C30CDE7F1385A34649FDD /* Pods-CallUITests.distributionadhoc.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-CallUITests.distributionadhoc.xcconfig"; path = "Target Support Files/Pods-CallUITests/Pods-CallUITests.distributionadhoc.xcconfig"; sourceTree = "<group>"; };
|
||||
662553B327EDFB35007F67D8 /* MagicSearch.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MagicSearch.swift; sourceTree = "<group>"; };
|
||||
662B73322A73C331002135F3 /* CopyableLabel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CopyableLabel.swift; sourceTree = "<group>"; };
|
||||
662F13B52887E8A10084C28C /* UITestsUtils.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UITestsUtils.swift; sourceTree = "<group>"; };
|
||||
|
|
@ -1806,6 +1820,7 @@
|
|||
66EADB022A939487002DDCEE /* zh_CN */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = zh_CN; path = zh_CN.lproj/Localizable.strings; sourceTree = "<group>"; };
|
||||
70E542F213E147E3002BA2C0 /* OpenGLES.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGLES.framework; path = System/Library/Frameworks/OpenGLES.framework; sourceTree = SDKROOT; };
|
||||
70E542F413E147EB002BA2C0 /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; };
|
||||
8B2E8912E038474F194FB30F /* Pods-linphone.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-linphone.release.xcconfig"; path = "Target Support Files/Pods-linphone/Pods-linphone.release.xcconfig"; sourceTree = "<group>"; };
|
||||
8C1A1F7C1FA331D40064BE00 /* libsoci_sqlite3.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libsoci_sqlite3.a; path = "liblinphone-sdk/apple-darwin/lib/libsoci_sqlite3.a"; sourceTree = "<group>"; };
|
||||
8C23BCB71D82AAC3005F19BB /* linphone.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = linphone.entitlements; sourceTree = "<group>"; };
|
||||
8C2595DE1DEDCC8E007A6424 /* CallKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CallKit.framework; path = System/Library/Frameworks/CallKit.framework; sourceTree = SDKROOT; };
|
||||
|
|
@ -1891,6 +1906,12 @@
|
|||
8CF25D941F9F336100BEA0C1 /* check_unselected.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = check_unselected.png; sourceTree = "<group>"; };
|
||||
8CF25D9B1F9F76BC00BEA0C1 /* chat_group_informations.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = chat_group_informations.png; sourceTree = "<group>"; };
|
||||
8CF25D9C1F9F76BD00BEA0C1 /* chat_group_informations@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "chat_group_informations@2x.png"; sourceTree = "<group>"; };
|
||||
95EFE52BE7F26B9EDE0069BC /* Pods-linphone.distributionadhoc.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-linphone.distributionadhoc.xcconfig"; path = "Target Support Files/Pods-linphone/Pods-linphone.distributionadhoc.xcconfig"; sourceTree = "<group>"; };
|
||||
9CABE0F1DD25F3C2B1A42DBB /* Pods_msgNotificationService.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_msgNotificationService.framework; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
A2BF1A58F43597EE4FCC00DC /* Pods-msgNotificationService.distributionadhoc.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-msgNotificationService.distributionadhoc.xcconfig"; path = "Target Support Files/Pods-msgNotificationService/Pods-msgNotificationService.distributionadhoc.xcconfig"; sourceTree = "<group>"; };
|
||||
A53B959BF2158A56EC9BAE72 /* Pods_CallUITests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_CallUITests.framework; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
A843B29FA3A92B57B1A56CD7 /* Pods-CallUITests.distribution.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-CallUITests.distribution.xcconfig"; path = "Target Support Files/Pods-CallUITests/Pods-CallUITests.distribution.xcconfig"; sourceTree = "<group>"; };
|
||||
C2C514E23CC99DF19C6FB68D /* Pods-CallUITests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-CallUITests.release.xcconfig"; path = "Target Support Files/Pods-CallUITests/Pods-CallUITests.release.xcconfig"; sourceTree = "<group>"; };
|
||||
C61B1BF12667D075001A4E4A /* menu_security_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = menu_security_default.png; sourceTree = "<group>"; };
|
||||
C61B1BF32667D202001A4E4A /* more_menu_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = more_menu_default.png; sourceTree = "<group>"; };
|
||||
C61B1BF62667EC6B001A4E4A /* ephemeral_messages_color_A.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ephemeral_messages_color_A.png; sourceTree = "<group>"; };
|
||||
|
|
@ -2075,6 +2096,7 @@
|
|||
C654881E292D32FA00BF646B /* SingleCallView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SingleCallView.swift; sourceTree = "<group>"; };
|
||||
C654881F292D32FA00BF646B /* ConferenceCallView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ConferenceCallView.swift; sourceTree = "<group>"; };
|
||||
C6548822292D369500BF646B /* AbstractCallView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AbstractCallView.swift; sourceTree = "<group>"; };
|
||||
C65DC9712C9D722A00EBC1E3 /* ChatMessageExtensions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ChatMessageExtensions.swift; sourceTree = "<group>"; };
|
||||
C66B03BC26E8EB1A009B5EDC /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/UIChatReplyBubbleView.xib; sourceTree = "<group>"; };
|
||||
C66B03C126E8EB82009B5EDC /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/UIChatReplyBubbleView.strings; sourceTree = "<group>"; };
|
||||
C66B03C326E8EB87009B5EDC /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/UIChatReplyBubbleView.strings; sourceTree = "<group>"; };
|
||||
|
|
@ -2102,6 +2124,7 @@
|
|||
C6E3E7ED291D648D00DDFC46 /* side_menu_voip_meeting_schedule@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "side_menu_voip_meeting_schedule@2x.png"; sourceTree = "<group>"; };
|
||||
C6F55644287CC69F0056E213 /* voip_meeting_schedule.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = voip_meeting_schedule.png; sourceTree = "<group>"; };
|
||||
C6F55646287CCFB60056E213 /* menu_voip_meeting_schedule.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = menu_voip_meeting_schedule.png; sourceTree = "<group>"; };
|
||||
C75E2A9663680FD9806FD8B9 /* Pods-msgNotificationContent.distribution.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-msgNotificationContent.distribution.xcconfig"; path = "Target Support Files/Pods-msgNotificationContent/Pods-msgNotificationContent.distribution.xcconfig"; sourceTree = "<group>"; };
|
||||
C90FAA7615AF54E6002091CB /* HistoryDetailsView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HistoryDetailsView.h; sourceTree = "<group>"; };
|
||||
C90FAA7715AF54E6002091CB /* HistoryDetailsView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HistoryDetailsView.m; sourceTree = "<group>"; };
|
||||
C9B3A6FD15B485DB006F52EE /* Utils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Utils.h; path = Utils/Utils.h; sourceTree = "<group>"; };
|
||||
|
|
@ -2253,6 +2276,8 @@
|
|||
D7CF13722A2E225200D92165 /* emoji.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = emoji.png; sourceTree = "<group>"; };
|
||||
D7DA18702A02598700FABA0D /* TextViewer.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TextViewer.swift; sourceTree = "<group>"; };
|
||||
D7F067472AAA1BFB0044CC87 /* ReactionCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ReactionCell.swift; sourceTree = "<group>"; };
|
||||
E3BC214E5FF4FDC832F68EF0 /* Pods-linphone.distribution.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-linphone.distribution.xcconfig"; path = "Target Support Files/Pods-linphone/Pods-linphone.distribution.xcconfig"; sourceTree = "<group>"; };
|
||||
E5DA3F16C865FA3E648B62B4 /* Pods-msgNotificationContent.distributionadhoc.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-msgNotificationContent.distributionadhoc.xcconfig"; path = "Target Support Files/Pods-msgNotificationContent/Pods-msgNotificationContent.distributionadhoc.xcconfig"; sourceTree = "<group>"; };
|
||||
EA5F25D9232BD3E200475F2E /* msgNotificationService.appex */ = {isa = PBXFileReference; explicitFileType = "wrapper.app-extension"; includeInIndex = 0; path = msgNotificationService.appex; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
EA5F25DB232BD3E200475F2E /* NotificationService.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NotificationService.swift; sourceTree = "<group>"; };
|
||||
EA5F25DD232BD3E200475F2E /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
|
||||
|
|
@ -2317,6 +2342,7 @@
|
|||
F0BB8C34193624C800974404 /* libresolv.9.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libresolv.9.dylib; path = usr/lib/libresolv.9.dylib; sourceTree = SDKROOT; };
|
||||
F0BB8C4A193631B300974404 /* ImageIO.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = ImageIO.framework; path = System/Library/Frameworks/ImageIO.framework; sourceTree = SDKROOT; };
|
||||
F0FF66AA1ACAEEB0008A4486 /* IOKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = IOKit.framework; path = ../../../../Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/IOKit.framework; sourceTree = "<group>"; };
|
||||
F846D02BFBE0B27A3449C750 /* Pods-msgNotificationContent.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-msgNotificationContent.debug.xcconfig"; path = "Target Support Files/Pods-msgNotificationContent/Pods-msgNotificationContent.debug.xcconfig"; sourceTree = "<group>"; };
|
||||
/* End PBXFileReference section */
|
||||
|
||||
/* Begin PBXFrameworksBuildPhase section */
|
||||
|
|
@ -2326,6 +2352,7 @@
|
|||
files = (
|
||||
EA88F3AC241BD05200E66528 /* UserNotificationsUI.framework in Frameworks */,
|
||||
EA88F3AB241BD05200E66528 /* UserNotifications.framework in Frameworks */,
|
||||
0630CB9061F23021B1DBF3E5 /* Pods_msgNotificationContent.framework in Frameworks */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
|
|
@ -2366,6 +2393,7 @@
|
|||
F05BAA621A5D594E00411815 /* libz.dylib in Frameworks */,
|
||||
344ABDF114850AE9007420B6 /* libc++.1.dylib in Frameworks */,
|
||||
22D1B68112A3E0BE001AE361 /* libresolv.dylib in Frameworks */,
|
||||
FFB3929E755B4246D1DBE670 /* Pods_linphone.framework in Frameworks */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
|
|
@ -2373,6 +2401,7 @@
|
|||
isa = PBXFrameworksBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
6B3B4E172D73EDB529D34614 /* Pods_msgNotificationService.framework in Frameworks */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
|
|
@ -2387,6 +2416,7 @@
|
|||
isa = PBXFrameworksBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
131D0AB0F2BC0F1952D51CFE /* Pods_CallUITests.framework in Frameworks */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
|
|
@ -2726,6 +2756,10 @@
|
|||
5E58962520DCE5700030868C /* UserNotificationsUI.framework */,
|
||||
63CE583F1C85EBF400304800 /* VideoToolbox.framework */,
|
||||
C6909F6B2AA0DC2A0011D273 /* NetworkExtension.framework */,
|
||||
A53B959BF2158A56EC9BAE72 /* Pods_CallUITests.framework */,
|
||||
0254C760D6A88C5E0C18C2EE /* Pods_linphone.framework */,
|
||||
60E8ED274FA16330872945FB /* Pods_msgNotificationContent.framework */,
|
||||
9CABE0F1DD25F3C2B1A42DBB /* Pods_msgNotificationService.framework */,
|
||||
);
|
||||
name = Frameworks;
|
||||
sourceTree = "<group>";
|
||||
|
|
@ -3474,6 +3508,22 @@
|
|||
75AA7090378DBBA5417E4370 /* Pods */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
3677A6CD9CA274FCC4821EAD /* Pods-CallUITests.debug.xcconfig */,
|
||||
C2C514E23CC99DF19C6FB68D /* Pods-CallUITests.release.xcconfig */,
|
||||
A843B29FA3A92B57B1A56CD7 /* Pods-CallUITests.distribution.xcconfig */,
|
||||
661C30CDE7F1385A34649FDD /* Pods-CallUITests.distributionadhoc.xcconfig */,
|
||||
4ADDC4A3A6FCAE17EED5083D /* Pods-linphone.debug.xcconfig */,
|
||||
8B2E8912E038474F194FB30F /* Pods-linphone.release.xcconfig */,
|
||||
E3BC214E5FF4FDC832F68EF0 /* Pods-linphone.distribution.xcconfig */,
|
||||
95EFE52BE7F26B9EDE0069BC /* Pods-linphone.distributionadhoc.xcconfig */,
|
||||
F846D02BFBE0B27A3449C750 /* Pods-msgNotificationContent.debug.xcconfig */,
|
||||
3DA745CBF9F6A2ACE390E917 /* Pods-msgNotificationContent.release.xcconfig */,
|
||||
C75E2A9663680FD9806FD8B9 /* Pods-msgNotificationContent.distribution.xcconfig */,
|
||||
E5DA3F16C865FA3E648B62B4 /* Pods-msgNotificationContent.distributionadhoc.xcconfig */,
|
||||
0F04AD4F6375B3BBD90E7010 /* Pods-msgNotificationService.debug.xcconfig */,
|
||||
56F9C8820DE587701439D3DA /* Pods-msgNotificationService.release.xcconfig */,
|
||||
28B4576D02DAC5687EFB5E10 /* Pods-msgNotificationService.distribution.xcconfig */,
|
||||
A2BF1A58F43597EE4FCC00DC /* Pods-msgNotificationService.distributionadhoc.xcconfig */,
|
||||
);
|
||||
path = Pods;
|
||||
sourceTree = "<group>";
|
||||
|
|
@ -3606,6 +3656,7 @@
|
|||
C63F71C4285A24B10066163B /* PayloadType.swift */,
|
||||
C63F71C5285A24B10066163B /* CallExtensions.swift */,
|
||||
C63F71C6285A24B10066163B /* ConferenceExtensions.swift */,
|
||||
C65DC9712C9D722A00EBC1E3 /* ChatMessageExtensions.swift */,
|
||||
);
|
||||
path = LinphoneCore;
|
||||
sourceTree = "<group>";
|
||||
|
|
@ -4013,6 +4064,7 @@
|
|||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = 1D6058960D05DD3E006BFB54 /* Build configuration list for PBXNativeTarget "linphone" */;
|
||||
buildPhases = (
|
||||
A46CF8119C77EACBA624EE47 /* [CP] Check Pods Manifest.lock */,
|
||||
1D60588D0D05DD3D006BFB54 /* Resources */,
|
||||
63DCC71D1A07B08E00916627 /* Run Script */,
|
||||
1D60588E0D05DD3D006BFB54 /* Sources */,
|
||||
|
|
@ -4020,6 +4072,7 @@
|
|||
8CDC89061EAF89A8006B5652 /* Embed Frameworks */,
|
||||
5EF0C35020C806A5005081B0 /* Embed App Extensions */,
|
||||
614D0A1821E77F5300C43EDF /* ShellScript */,
|
||||
F9509827424CB5E9F26CDA6A /* [CP] Embed Pods Frameworks */,
|
||||
);
|
||||
buildRules = (
|
||||
);
|
||||
|
|
@ -4054,9 +4107,11 @@
|
|||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = 6637AF99288593AF00965733 /* Build configuration list for PBXNativeTarget "CallUITests" */;
|
||||
buildPhases = (
|
||||
7405AA130B51C93DABCBF9AA /* [CP] Check Pods Manifest.lock */,
|
||||
6637AF89288593AF00965733 /* Sources */,
|
||||
6637AF8A288593AF00965733 /* Frameworks */,
|
||||
6637AF8B288593AF00965733 /* Resources */,
|
||||
C7EF2D368DEACA97A95F8F0B /* [CP] Embed Pods Frameworks */,
|
||||
);
|
||||
buildRules = (
|
||||
);
|
||||
|
|
@ -4072,6 +4127,7 @@
|
|||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = EA5F25E1232BD3E300475F2E /* Build configuration list for PBXNativeTarget "msgNotificationService" */;
|
||||
buildPhases = (
|
||||
D880A151F70DA115B23228D2 /* [CP] Check Pods Manifest.lock */,
|
||||
EA5F25D5232BD3E200475F2E /* Sources */,
|
||||
203E6292C3E84CD13778F720 /* Frameworks */,
|
||||
EA88A406242A6224007FEC61 /* Resources */,
|
||||
|
|
@ -4090,6 +4146,7 @@
|
|||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = EA8CB834239F96CA00C330CC /* Build configuration list for PBXNativeTarget "msgNotificationContent" */;
|
||||
buildPhases = (
|
||||
E08AF6A67F136A2A8D9107CA /* [CP] Check Pods Manifest.lock */,
|
||||
EA8CB823239F96CA00C330CC /* Sources */,
|
||||
143EFEE2501CB14E6BB244EF /* Frameworks */,
|
||||
EA88F3AE241BD1ED00E66528 /* Resources */,
|
||||
|
|
@ -5017,6 +5074,258 @@
|
|||
shellPath = /bin/sh;
|
||||
shellScript = "$SRCROOT/Tools/git_version.sh\n";
|
||||
};
|
||||
7405AA130B51C93DABCBF9AA /* [CP] Check Pods Manifest.lock */ = {
|
||||
isa = PBXShellScriptBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
inputFileListPaths = (
|
||||
);
|
||||
inputPaths = (
|
||||
"${PODS_PODFILE_DIR_PATH}/Podfile.lock",
|
||||
"${PODS_ROOT}/Manifest.lock",
|
||||
);
|
||||
name = "[CP] Check Pods Manifest.lock";
|
||||
outputFileListPaths = (
|
||||
);
|
||||
outputPaths = (
|
||||
"$(DERIVED_FILE_DIR)/Pods-CallUITests-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;
|
||||
};
|
||||
A46CF8119C77EACBA624EE47 /* [CP] Check Pods Manifest.lock */ = {
|
||||
isa = PBXShellScriptBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
inputFileListPaths = (
|
||||
);
|
||||
inputPaths = (
|
||||
"${PODS_PODFILE_DIR_PATH}/Podfile.lock",
|
||||
"${PODS_ROOT}/Manifest.lock",
|
||||
);
|
||||
name = "[CP] Check Pods Manifest.lock";
|
||||
outputFileListPaths = (
|
||||
);
|
||||
outputPaths = (
|
||||
"$(DERIVED_FILE_DIR)/Pods-linphone-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;
|
||||
};
|
||||
C7EF2D368DEACA97A95F8F0B /* [CP] Embed Pods Frameworks */ = {
|
||||
isa = PBXShellScriptBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
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",
|
||||
"${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/belcard.framework/belcard",
|
||||
"${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/belle-sip.framework/belle-sip",
|
||||
"${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/belr.framework/belr",
|
||||
"${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/lime.framework/lime",
|
||||
"${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/limetester.framework/limetester",
|
||||
"${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/linphone.framework/linphone",
|
||||
"${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/linphonetester.framework/linphonetester",
|
||||
"${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/mediastreamer2.framework/mediastreamer2",
|
||||
"${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/msamr.framework/msamr",
|
||||
"${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/mscodec2.framework/mscodec2",
|
||||
"${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/msopenh264.framework/msopenh264",
|
||||
"${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/mssilk.framework/mssilk",
|
||||
"${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/mswebrtc.framework/mswebrtc",
|
||||
"${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/ortp.framework/ortp",
|
||||
);
|
||||
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",
|
||||
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/belcard.framework",
|
||||
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/belle-sip.framework",
|
||||
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/belr.framework",
|
||||
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/lime.framework",
|
||||
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/limetester.framework",
|
||||
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/linphone.framework",
|
||||
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/linphonetester.framework",
|
||||
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/mediastreamer2.framework",
|
||||
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/msamr.framework",
|
||||
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/mscodec2.framework",
|
||||
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/msopenh264.framework",
|
||||
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/mssilk.framework",
|
||||
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/mswebrtc.framework",
|
||||
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/ortp.framework",
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
shellPath = /bin/sh;
|
||||
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-CallUITests/Pods-CallUITests-frameworks.sh\"\n";
|
||||
showEnvVarsInLog = 0;
|
||||
};
|
||||
D880A151F70DA115B23228D2 /* [CP] Check Pods Manifest.lock */ = {
|
||||
isa = PBXShellScriptBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
inputFileListPaths = (
|
||||
);
|
||||
inputPaths = (
|
||||
"${PODS_PODFILE_DIR_PATH}/Podfile.lock",
|
||||
"${PODS_ROOT}/Manifest.lock",
|
||||
);
|
||||
name = "[CP] Check Pods Manifest.lock";
|
||||
outputFileListPaths = (
|
||||
);
|
||||
outputPaths = (
|
||||
"$(DERIVED_FILE_DIR)/Pods-msgNotificationService-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;
|
||||
};
|
||||
E08AF6A67F136A2A8D9107CA /* [CP] Check Pods Manifest.lock */ = {
|
||||
isa = PBXShellScriptBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
inputFileListPaths = (
|
||||
);
|
||||
inputPaths = (
|
||||
"${PODS_PODFILE_DIR_PATH}/Podfile.lock",
|
||||
"${PODS_ROOT}/Manifest.lock",
|
||||
);
|
||||
name = "[CP] Check Pods Manifest.lock";
|
||||
outputFileListPaths = (
|
||||
);
|
||||
outputPaths = (
|
||||
"$(DERIVED_FILE_DIR)/Pods-msgNotificationContent-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;
|
||||
};
|
||||
F9509827424CB5E9F26CDA6A /* [CP] Embed Pods Frameworks */ = {
|
||||
isa = PBXShellScriptBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
inputPaths = (
|
||||
"${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",
|
||||
"${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/belcard.framework/belcard",
|
||||
"${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/belle-sip.framework/belle-sip",
|
||||
"${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/belr.framework/belr",
|
||||
"${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/lime.framework/lime",
|
||||
"${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/limetester.framework/limetester",
|
||||
"${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/linphone.framework/linphone",
|
||||
"${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/linphonetester.framework/linphonetester",
|
||||
"${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/mediastreamer2.framework/mediastreamer2",
|
||||
"${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/msamr.framework/msamr",
|
||||
"${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/mscodec2.framework/mscodec2",
|
||||
"${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/msopenh264.framework/msopenh264",
|
||||
"${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/mssilk.framework/mssilk",
|
||||
"${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/mswebrtc.framework/mswebrtc",
|
||||
"${PODS_XCFRAMEWORKS_BUILD_DIR}/linphone-sdk/ortp.framework/ortp",
|
||||
);
|
||||
name = "[CP] Embed Pods Frameworks";
|
||||
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",
|
||||
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/belcard.framework",
|
||||
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/belle-sip.framework",
|
||||
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/belr.framework",
|
||||
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/lime.framework",
|
||||
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/limetester.framework",
|
||||
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/linphone.framework",
|
||||
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/linphonetester.framework",
|
||||
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/mediastreamer2.framework",
|
||||
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/msamr.framework",
|
||||
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/mscodec2.framework",
|
||||
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/msopenh264.framework",
|
||||
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/mssilk.framework",
|
||||
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/mswebrtc.framework",
|
||||
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/ortp.framework",
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
shellPath = /bin/sh;
|
||||
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-linphone/Pods-linphone-frameworks.sh\"\n";
|
||||
showEnvVarsInLog = 0;
|
||||
};
|
||||
/* End PBXShellScriptBuildPhase section */
|
||||
|
||||
/* Begin PBXSourcesBuildPhase section */
|
||||
|
|
@ -5232,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 */,
|
||||
|
|
@ -5812,6 +6122,7 @@
|
|||
/* Begin XCBuildConfiguration section */
|
||||
1D6058940D05DD3E006BFB54 /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
baseConfigurationReference = 4ADDC4A3A6FCAE17EED5083D /* Pods-linphone.debug.xcconfig */;
|
||||
buildSettings = {
|
||||
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = "$(inherited)";
|
||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||
|
|
@ -5826,7 +6137,7 @@
|
|||
CODE_SIGN_STYLE = Automatic;
|
||||
COMPRESS_PNG_FILES = NO;
|
||||
COPY_PHASE_STRIP = NO;
|
||||
CURRENT_PROJECT_VERSION = 1;
|
||||
CURRENT_PROJECT_VERSION = 9;
|
||||
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
|
||||
DEVELOPMENT_TEAM = Z2V957B3D6;
|
||||
ENABLE_BITCODE = NO;
|
||||
|
|
@ -5838,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;
|
||||
|
|
@ -5858,16 +6170,16 @@
|
|||
"$(inherited)",
|
||||
);
|
||||
LINK_WITH_STANDARD_LIBRARIES = YES;
|
||||
MARKETING_VERSION = 5.2.1;
|
||||
MARKETING_VERSION = 5.2.3;
|
||||
OTHER_CFLAGS = (
|
||||
"-DBCTBX_LOG_DOMAIN=\\\"ios\\\"",
|
||||
"-DCHECK_VERSION_UPDATE=FALSE",
|
||||
"-DENABLE_QRCODE=TRUE",
|
||||
"-DENABLE_SMS_INVITE=TRUE",
|
||||
"$(inherited)",
|
||||
"-DLINPHONE_SDK_VERSION=\\\"5.3.0-alpha.173+990473d73\\\"",
|
||||
"-DLINPHONE_SDK_VERSION=\\\"5.3.86\\\"",
|
||||
);
|
||||
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;
|
||||
|
|
@ -5940,6 +6252,7 @@
|
|||
};
|
||||
228B19A71302902F00F154D3 /* DistributionAdhoc */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
baseConfigurationReference = 95EFE52BE7F26B9EDE0069BC /* Pods-linphone.distributionadhoc.xcconfig */;
|
||||
buildSettings = {
|
||||
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = "$(inherited)";
|
||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||
|
|
@ -5954,7 +6267,7 @@
|
|||
CODE_SIGN_STYLE = Automatic;
|
||||
COMPRESS_PNG_FILES = NO;
|
||||
COPY_PHASE_STRIP = NO;
|
||||
CURRENT_PROJECT_VERSION = 1;
|
||||
CURRENT_PROJECT_VERSION = 9;
|
||||
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
|
||||
DEVELOPMENT_TEAM = Z2V957B3D6;
|
||||
ENABLE_BITCODE = NO;
|
||||
|
|
@ -5963,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;
|
||||
|
|
@ -5983,16 +6299,16 @@
|
|||
"$(inherited)",
|
||||
);
|
||||
LINK_WITH_STANDARD_LIBRARIES = YES;
|
||||
MARKETING_VERSION = 5.2.1;
|
||||
MARKETING_VERSION = 5.2.3;
|
||||
OTHER_CFLAGS = (
|
||||
"-DBCTBX_LOG_DOMAIN=\\\"ios\\\"",
|
||||
"-DCHECK_VERSION_UPDATE=FALSE",
|
||||
"-DENABLE_QRCODE=TRUE",
|
||||
"-DENABLE_SMS_INVITE=TRUE",
|
||||
"$(inherited)",
|
||||
"-DLINPHONE_SDK_VERSION=\\\"5.3.0-alpha.173+990473d73\\\"",
|
||||
"-DLINPHONE_SDK_VERSION=\\\"5.3.86\\\"",
|
||||
);
|
||||
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;
|
||||
|
|
@ -6064,6 +6380,7 @@
|
|||
};
|
||||
22F3D55613CC3C9100A0DA02 /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
baseConfigurationReference = 8B2E8912E038474F194FB30F /* Pods-linphone.release.xcconfig */;
|
||||
buildSettings = {
|
||||
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = "$(inherited)";
|
||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||
|
|
@ -6078,7 +6395,7 @@
|
|||
CODE_SIGN_STYLE = Automatic;
|
||||
COMPRESS_PNG_FILES = NO;
|
||||
COPY_PHASE_STRIP = NO;
|
||||
CURRENT_PROJECT_VERSION = 1;
|
||||
CURRENT_PROJECT_VERSION = 9;
|
||||
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
|
||||
DEVELOPMENT_TEAM = Z2V957B3D6;
|
||||
ENABLE_BITCODE = NO;
|
||||
|
|
@ -6087,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;
|
||||
|
|
@ -6107,16 +6427,16 @@
|
|||
"$(inherited)",
|
||||
);
|
||||
LINK_WITH_STANDARD_LIBRARIES = YES;
|
||||
MARKETING_VERSION = 5.2.1;
|
||||
MARKETING_VERSION = 5.2.3;
|
||||
OTHER_CFLAGS = (
|
||||
"-DBCTBX_LOG_DOMAIN=\\\"ios\\\"",
|
||||
"-DCHECK_VERSION_UPDATE=FALSE",
|
||||
"-DENABLE_QRCODE=TRUE",
|
||||
"-DENABLE_SMS_INVITE=TRUE",
|
||||
"$(inherited)",
|
||||
"-DLINPHONE_SDK_VERSION=\\\"5.3.0-alpha.173+990473d73\\\"",
|
||||
"-DLINPHONE_SDK_VERSION=\\\"5.3.86\\\"",
|
||||
);
|
||||
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;
|
||||
|
|
@ -6187,6 +6507,7 @@
|
|||
};
|
||||
22F51EE8107FA53D00F98953 /* Distribution */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
baseConfigurationReference = E3BC214E5FF4FDC832F68EF0 /* Pods-linphone.distribution.xcconfig */;
|
||||
buildSettings = {
|
||||
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = "$(inherited)";
|
||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||
|
|
@ -6201,7 +6522,7 @@
|
|||
CODE_SIGN_STYLE = Automatic;
|
||||
COMPRESS_PNG_FILES = NO;
|
||||
COPY_PHASE_STRIP = NO;
|
||||
CURRENT_PROJECT_VERSION = 1;
|
||||
CURRENT_PROJECT_VERSION = 9;
|
||||
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
|
||||
DEVELOPMENT_TEAM = Z2V957B3D6;
|
||||
ENABLE_BITCODE = NO;
|
||||
|
|
@ -6210,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;
|
||||
|
|
@ -6230,16 +6554,16 @@
|
|||
"$(inherited)",
|
||||
);
|
||||
LINK_WITH_STANDARD_LIBRARIES = YES;
|
||||
MARKETING_VERSION = 5.2.1;
|
||||
MARKETING_VERSION = 5.2.3;
|
||||
OTHER_CFLAGS = (
|
||||
"-DBCTBX_LOG_DOMAIN=\\\"ios\\\"",
|
||||
"-DCHECK_VERSION_UPDATE=FALSE",
|
||||
"-DENABLE_QRCODE=TRUE",
|
||||
"-DENABLE_SMS_INVITE=TRUE",
|
||||
"$(inherited)",
|
||||
"-DLINPHONE_SDK_VERSION=\\\"5.3.0-alpha.173+990473d73\\\"",
|
||||
"-DLINPHONE_SDK_VERSION=\\\"5.3.86\\\"",
|
||||
);
|
||||
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;
|
||||
|
|
@ -6431,6 +6755,7 @@
|
|||
};
|
||||
6637AF95288593AF00965733 /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
baseConfigurationReference = 3677A6CD9CA274FCC4821EAD /* Pods-CallUITests.debug.xcconfig */;
|
||||
buildSettings = {
|
||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||
CLANG_ANALYZER_NONNULL = YES;
|
||||
|
|
@ -6442,7 +6767,7 @@
|
|||
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
|
||||
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
|
||||
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
|
||||
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
|
||||
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = "$(inherited)";
|
||||
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
|
||||
CODE_SIGN_STYLE = Automatic;
|
||||
COPY_PHASE_STRIP = NO;
|
||||
|
|
@ -6492,6 +6817,7 @@
|
|||
};
|
||||
6637AF96288593AF00965733 /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
baseConfigurationReference = C2C514E23CC99DF19C6FB68D /* Pods-CallUITests.release.xcconfig */;
|
||||
buildSettings = {
|
||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||
CLANG_ANALYZER_NONNULL = YES;
|
||||
|
|
@ -6503,7 +6829,7 @@
|
|||
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
|
||||
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
|
||||
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
|
||||
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
|
||||
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = "$(inherited)";
|
||||
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
|
||||
CODE_SIGN_STYLE = Automatic;
|
||||
COPY_PHASE_STRIP = NO;
|
||||
|
|
@ -6539,6 +6865,7 @@
|
|||
};
|
||||
6637AF97288593AF00965733 /* Distribution */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
baseConfigurationReference = A843B29FA3A92B57B1A56CD7 /* Pods-CallUITests.distribution.xcconfig */;
|
||||
buildSettings = {
|
||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||
CLANG_ANALYZER_NONNULL = YES;
|
||||
|
|
@ -6550,7 +6877,7 @@
|
|||
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
|
||||
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
|
||||
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
|
||||
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
|
||||
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = "$(inherited)";
|
||||
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
|
||||
CODE_SIGN_STYLE = Automatic;
|
||||
COPY_PHASE_STRIP = NO;
|
||||
|
|
@ -6586,6 +6913,7 @@
|
|||
};
|
||||
6637AF98288593AF00965733 /* DistributionAdhoc */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
baseConfigurationReference = 661C30CDE7F1385A34649FDD /* Pods-CallUITests.distributionadhoc.xcconfig */;
|
||||
buildSettings = {
|
||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||
CLANG_ANALYZER_NONNULL = YES;
|
||||
|
|
@ -6597,7 +6925,7 @@
|
|||
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
|
||||
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
|
||||
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
|
||||
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
|
||||
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = "$(inherited)";
|
||||
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
|
||||
CODE_SIGN_STYLE = Automatic;
|
||||
COPY_PHASE_STRIP = NO;
|
||||
|
|
@ -6680,6 +7008,7 @@
|
|||
};
|
||||
EA5F25E2232BD3E300475F2E /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
baseConfigurationReference = 0F04AD4F6375B3BBD90E7010 /* Pods-msgNotificationService.debug.xcconfig */;
|
||||
buildSettings = {
|
||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||
APPLICATION_EXTENSION_API_ONLY = YES;
|
||||
|
|
@ -6711,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;
|
||||
|
|
@ -6721,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 = "";
|
||||
|
|
@ -6735,6 +7065,7 @@
|
|||
};
|
||||
EA5F25E3232BD3E300475F2E /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
baseConfigurationReference = 56F9C8820DE587701439D3DA /* Pods-msgNotificationService.release.xcconfig */;
|
||||
buildSettings = {
|
||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||
APPLICATION_EXTENSION_API_ONLY = YES;
|
||||
|
|
@ -6762,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;
|
||||
|
|
@ -6772,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 = "";
|
||||
|
|
@ -6786,6 +7120,7 @@
|
|||
};
|
||||
EA5F25E4232BD3E300475F2E /* Distribution */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
baseConfigurationReference = 28B4576D02DAC5687EFB5E10 /* Pods-msgNotificationService.distribution.xcconfig */;
|
||||
buildSettings = {
|
||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||
APPLICATION_EXTENSION_API_ONLY = YES;
|
||||
|
|
@ -6812,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;
|
||||
|
|
@ -6822,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 = "";
|
||||
|
|
@ -6836,6 +7174,7 @@
|
|||
};
|
||||
EA5F25E5232BD3E300475F2E /* DistributionAdhoc */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
baseConfigurationReference = A2BF1A58F43597EE4FCC00DC /* Pods-msgNotificationService.distributionadhoc.xcconfig */;
|
||||
buildSettings = {
|
||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||
APPLICATION_EXTENSION_API_ONLY = YES;
|
||||
|
|
@ -6863,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;
|
||||
|
|
@ -6873,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 = "";
|
||||
|
|
@ -6887,6 +7229,7 @@
|
|||
};
|
||||
EA8CB835239F96CA00C330CC /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
baseConfigurationReference = F846D02BFBE0B27A3449C750 /* Pods-msgNotificationContent.debug.xcconfig */;
|
||||
buildSettings = {
|
||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||
APPLICATION_EXTENSION_API_ONLY = YES;
|
||||
|
|
@ -6918,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;
|
||||
|
|
@ -6928,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 = "";
|
||||
|
|
@ -6942,6 +7286,7 @@
|
|||
};
|
||||
EA8CB836239F96CA00C330CC /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
baseConfigurationReference = 3DA745CBF9F6A2ACE390E917 /* Pods-msgNotificationContent.release.xcconfig */;
|
||||
buildSettings = {
|
||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||
APPLICATION_EXTENSION_API_ONLY = YES;
|
||||
|
|
@ -6969,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;
|
||||
|
|
@ -6979,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 = "";
|
||||
|
|
@ -6993,6 +7341,7 @@
|
|||
};
|
||||
EA8CB837239F96CA00C330CC /* Distribution */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
baseConfigurationReference = C75E2A9663680FD9806FD8B9 /* Pods-msgNotificationContent.distribution.xcconfig */;
|
||||
buildSettings = {
|
||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||
APPLICATION_EXTENSION_API_ONLY = YES;
|
||||
|
|
@ -7019,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;
|
||||
|
|
@ -7029,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 = "";
|
||||
|
|
@ -7043,6 +7395,7 @@
|
|||
};
|
||||
EA8CB838239F96CA00C330CC /* DistributionAdhoc */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
baseConfigurationReference = E5DA3F16C865FA3E648B62B4 /* Pods-msgNotificationContent.distributionadhoc.xcconfig */;
|
||||
buildSettings = {
|
||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||
APPLICATION_EXTENSION_API_ONLY = YES;
|
||||
|
|
@ -7070,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;
|
||||
|
|
@ -7080,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 = "";
|
||||
|
|
|
|||
|
|
@ -233,6 +233,21 @@ class NotificationService: UNNotificationServiceExtension {
|
|||
NotificationService.logDelegate = try! LinphoneLoggingServiceManager(config: config!, log: NotificationService.log, domain: "msgNotificationService")
|
||||
}
|
||||
lc = try! Factory.Instance.createSharedCoreWithConfig(config: config!, systemContext: nil, appGroupId: APP_GROUP_ID, mainCore: false)
|
||||
|
||||
|
||||
// Disable auto downloads in service extension
|
||||
|
||||
// Save config values
|
||||
let configMaxSizeForAutoDownloadIncomingFiles = config?.getInt(section: "app", key: "auto_download_incoming_files_max_size", defaultValue: -1)
|
||||
let configAutoDownloadVoiceRecordingsEnabled = config?.getBool(section: "app", key: "auto_download_incoming_voice_recordings", defaultValue: true)
|
||||
|
||||
// Disable downloads in service extension (API calls below will set the core attributes value + config)
|
||||
lc?.maxSizeForAutoDownloadIncomingFiles = -1
|
||||
lc?.autoDownloadVoiceRecordingsEnabled = false
|
||||
|
||||
// restore the config values for the app
|
||||
config?.setInt(section: "app", key: "auto_download_incoming_files_max_size", value: configMaxSizeForAutoDownloadIncomingFiles!)
|
||||
config?.setBool(section: "app", key: "auto_download_incoming_voice_recordings", value: configAutoDownloadVoiceRecordingsEnabled!)
|
||||
}
|
||||
|
||||
func stopCore() {
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue