你好,歡迎來到IOS教程網

 Ios教程網 >> IOS編程開發 >> IOS開發綜合 >> iOS中處理Xcode 8掌握台亂碼的方法

iOS中處理Xcode 8掌握台亂碼的方法

編輯:IOS開發綜合

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

  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved