上面是之前年夜家會用的處理掌握台log輸入的方法
Xcode8裡邊 Edit Scheme-> Run -> Arguments, 在Environment Variables裡邊添加 OS_ACTIVITY_MODE = Disable 情況變量 ,這個信任年夜家都邑.
應用轉變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
翻開文件,在文件中搜刮以下代碼
<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中處理Xcode 8掌握台亂碼的方法】的相關資料介紹到這裡,希望對您有所幫助! 提示:不會對讀者因本文所帶來的任何損失負責。如果您支持就請把本站添加至收藏夾哦!