![](/img/trans.png)
[英]App Crash in GMSPlace Picker while running on device.(iOS 8.3)
[英]Twilio crash while building the app in device in IOS
我已經通過可可豆莢添加了Twilio SDK和libJingleConnection。
Twilio庫(如libssl.a,libcryto.a)與Libjingle_Connection庫(如libwebrtc.a)發生沖突,因此twilio崩潰了。沒有集成libjingle_connection。
Twilio集成工作正常。
類似於下面的問題
使用Twilio iOS SDK並構建Cordova應用程序openssl崩潰時
但是我需要在項目中同時保留libjingle_connection和twilio。
當我在設備中構建應用程序時。 我的應用程序崩潰如下。
我的其他鏈接器標志是-ObjC和$(繼承)
我找不到崩潰的原因。
請提出任何解決此錯誤的解決方案。
提前致謝...!
iii
請按照以下步驟將twilio集成到app中。
步驟1:導入所需的框架
步驟2:將標頭和庫文件夾復制到您的項目中。
步驟3:添加其他鏈接器標志(不僅是-ObjC,而且是-lTwilioClient,-lcrypto和-lssl)
步驟4:添加標題和庫搜索路徑
您復制的標題文件夾的路徑:$(SRCROOT)/ Headers
您復制的庫文件夾的路徑:$(SRCROOT)/庫
步驟5:添加前綴頭文件
#import <Availability.h>
#ifndef __IPHONE_4_0
#warning "This project uses features only available in iOS SDK 4.0 and later."
#endif
#ifdef __OBJC__
#import <UIKit/UIKit.h>
#import <Foundation/Foundation.h>
#import <CoreData/CoreData.h>
#endif
在構建設置和.pch文件的路徑中,將Precompile Prefix標頭設置為yes。
完成此步驟后,您的項目應編譯並生成,可以運行它,但是,要使用twilio,您需要生成功能令牌。
步驟6:從Twilio的BasicPhone示例中,在您的項目中復制basicPhone.h和basicPhone.m文件。
然后在Appdelegate中創建一個全局對象,我們可以在項目中進行訪問。
在appdelegate.h中
@class BasicPhone;
@interface AppDelegate : UIResponder <UIApplicationDelegate>{
BasicPhone *_phone;
}
@property (strong, nonatomic)BasicPhone *phone;
在appDelegate.m文件中合成它
@synthesize phone = _phone;
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
if ([UIApplication instancesRespondToSelector:@selector(registerUserNotificationSettings:)]){
/* iOS 8.0 later */
[application registerUserNotificationSettings:[UIUserNotificationSettings settingsForTypes:UIUserNotificationTypeAlert|
UIUserNotificationTypeBadge|
UIUserNotificationTypeSound
categories:nil]];
}
self.phone = [[BasicPhone alloc] init];
}
步驟7:功能令牌:
檢查此鏈接以了解如何生成功能令牌。
步驟8:創建一個makeCall.php文件,並在您的twiML應用程序(Twilio acc)中設置進行呼叫的鏈接。
步驟9:從xcode向客戶端注冊。
在您的basicPhone.h文件中
#define BPDefaultClientName @"abc"
#define BPCapabilityTokenKeyIncomingClient @"abc"
並且在basicPhone.m方法中,您必須具有以下功能
getCapabilityTokenWithParameters
使用您的capabilitiesToken url更改urlString。
如果您希望傳入和傳出,則您的功能令牌網址應如下所示:
https://abc.herokuapp.com/token?allowOutgoing=true&client=abc
步驟10:在您的viewcontroller.h中登錄twilio
創建basicPhone的對象
@class BasicPhone;
@interface ViewController : UIViewController{
BasicPhone* _phone;
}
@property (nonatomic,retain) BasicPhone* phone;
在ViewController.m中
@synthesize phone=_phone;
- (void)viewDidLoad {
[super viewDidLoad];
AppDelegate* delegate = (AppDelegate*)[UIApplication sharedApplication].delegate;
BasicPhone* basicPhone = delegate.phone;
[basicPhone login];
}
撥出電話:
NSDictionary* dictParams = [NSDictionary dictionaryWithObjectsAndKeys:@"xyz", @"To", nil];
NSLog(@"%@",dictParams);
AppDelegate* delegate = (AppDelegate*)[UIApplication sharedApplication].delegate;
BasicPhone* basicPhone = delegate.phone;
[basicPhone connectWithParams:dictParams];
這就是我的做法,它的工作沒有任何問題。
如果有幫助,我會感覺很好。
從其他鏈接器標記中刪除-objC
。 對我有用
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.