上面是之前年夜家會用的處理掌握台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掌握台亂碼的方法】的相關資料介紹到這裡,希望對您有所幫助! 提示:不會對讀者因本文所帶來的任何損失負責。如果您支持就請把本站添加至收藏夾哦!