国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > iOS > 正文

iOS中解決Xcode 8控制臺亂碼的方式

2019-10-21 18:51:21
字體:
來源:轉載
供稿:網友

下面是之前大家會用的解決控制臺log輸出的方式

Xcode8里邊 Edit Scheme-> Run -> Arguments, 在Environment Variables里邊添加 OS_ACTIVITY_MODE = Disable 環境變量 ,這個相信大家都會.

xcode控制臺輸出亂碼,xcode8控制臺,xcode8,控制臺打印

使用改變Xcode系統模板的方式

先介紹幾個c函數

/** *getenv(取得環境變量內容) *定義函數 char * getenv(const char *name); *函數說明 getenv()用來取得參數name環境變量的內容。 *參數說明 *name為環境變量的名稱,如果該變量存在則會返回指向該內容的指針。 *環境變量的格式為name=value。 *返回值:執行成功則返回指向該內容的指針,找不到符合的環境變量名稱則返回NULL。 */- (void)getenv_test:(char *)env_name{  if(getenv(env_name))  {    printf("%s's value = %s",env_name,getenv(env_name));  }}/** *putenv(改變或增加環境變量) *定義函數 int putenv(const char * string); *函數說明:putenv()用來改變或增加環境變量的內容。 *參數 *string的格式為name = value, *如果該環境變量原先存在,則變量內 容會依參數string改變,否則此參數內容會成為新的環境變量。 *返回值:執行成功則返回0,有錯誤發生則返回-1。 */- (void)putenv_test{  char *env_name = "test_two";  if(putenv(env_name) == 0)  {    printf("%s = %d",env_name,putenv("test_two = two"));  }}/** *unsetenv(移除環境變量) *定義函數 unsetenv(const char *string); *函數說明:unsetenv()用來改變或增加環境變量的內容。 *參數 *string為環境變量的名稱, *如果該環境變量原先存在,則移除該環境變量。 *返回值:執行成功則返回0,有錯誤發生則返回-1。 */- (void)unsetenv_test{  char *env_name = "test_one";  if(unsetenv(env_name) == 0)  {    printf("%s is unseted = %s",env_name,unsetenv(env_name) == 0 ? "yes" : "no");  }}/**setenv(改變或增加環境變量) *定義函數 int setenv(const char *name,const char * value,int overwrite); *函數說明 setenv()用來改變或增加環境變量的內容。 *參數 name為環境變量名稱字符串。 *參數 value則為變量內容。 *參數 overwrite用來決定是否要改變已存在的環境變量。 如果overwrite不為0,則改變環境變量原有內容,原有內容會被改為參數value所指的變量內容。 如果overwrite為0,且該環境變量已有內容,則參數value會被忽略。 *返回值 執行成功則返回0,有錯誤發生時返回-1*/- (void)setenv_test{  char *env_name = "test_one";  char *env_value = "ooops";  if(setenv(env_name,env_value,1) == 0)  {    printf("%s is seted = %s",env_name,setenv(env_name,env_value,1) == 0 ? "success" : "failed");  }}

我們要修改的模板如下的路徑中
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/
Library/Xcode/Templates/Project/ Templates/iOS/Application/Cocoa/ Touch/ Application/ Base.xctemplate

xcode控制臺輸出亂碼,xcode8控制臺,xcode8,控制臺打印

打開文件,在文件中搜索如下代碼

<key>main.m:main:UIApplicationMain</key>            <string>@autoreleasepool {  return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));}</string>

將其改為

<key>main.m:main:UIApplicationMain</key>            <string>@autoreleasepool {  /*   * 此行代碼是增加的代碼   */  setenv("OS_ACTIVITY_MODE", "DISABLE", 1);  return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));}

其目的是為了,在創建的Xcode項目的入口文件中增加添加環境變量的操作

效果如下

//// main.m// environment_variable//#import <UIKit/UIKit.h>#import "AppDelegate.h"int main(int argc, char * argv[]) {  @autoreleasepool {    setenv("OS_ACTIVITY_MODE", "disable", 1);    return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));  }}

總結

以上就是這篇文章的全部內容了,至此解決Xcode8創建新項目,控制臺會出現奇葩log的小缺陷!希望能對各位遇到這個問題的朋友們能有所幫助,如果有問題大家可以留言交流。


注:相關教程知識閱讀請移步到IOS開發頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 万荣县| 米林县| 广宗县| 甘南县| 右玉县| 宜章县| 秦安县| 肇东市| 涪陵区| 云阳县| 邹平县| 陆良县| 思南县| 永宁县| 长垣县| 垫江县| 新郑市| 三河市| 甘德县| 乌兰察布市| 望谟县| 奎屯市| 津南区| 突泉县| 枣阳市| 泰安市| 苍溪县| 武冈市| 奉节县| 象山县| 建阳市| 建湖县| 隆化县| 满洲里市| 庄浪县| 通化市| 温泉县| 静安区| 九江县| 渑池县| 尚志市|