A. 如何通過代碼修改xcode plist文件的數據
plist文件在Mac OS下的重要性,如同Windows下的注冊表文件。而很多場景下面,我們需要修改plist文件來實現一些「自動化」操作Mac OS本身提供了一個工具:PlistBuddy,用來修改Plist文件。
而XCode是我們在Mac OS下最為常用的IDE工具,它可以直接執行shell腳本,所以想實現一些類似,在執行某些操作時自動更改plist文件中的某一項的值。
B. ios xcode 工程名字怎麼修改
1、A 的名稱是不是顯得不夠專業?現在來修改一下: 1)首先修改Xcode左上角的target名稱: 點擊xcode左上角Run、Stop右邊的工程名稱,下拉框中選擇Manage Schemes,在彈出框中,點擊A 那行,點擊一次、再點擊一次,就可以修改A 為你想要的名字了,比如ALite; 2)修改xcode左下方Procts下的A .app名稱: 點擊Targets下你剛才改名後的ALite,點擊Bulid Setting,搜索Packaging下的Private Headers Folder Path,修改A .app/PrivateHeaders為:ALite.app/PrivateHeaders; 2、修改Bundle Identifier和選擇不同的證書,讓app區分開來 1)新target需要的.plist文件 新建一個文件夾X,添加X到項目中,添加時選擇target為ALite,不要選target A了,因為不是共用的;復制原來target的A-Info.plist到X,修改其名稱為ALite-Info.plist,xcode中右鍵Add File To ...,選擇添加到target ALite中; 2)點擊target: ALite ->Summary:提示你需要選擇plist文件,選擇1)中添加的ALite-Info.plist; 3)點擊target: ALite ->Summary:設置Bundle Idenfitier; 4)點擊target: ALite->Build Settings->Code Signing:選擇另外的證書; 3、修改程序名稱 一般說來,多個target的程序名稱不同,復制zh-Hans.lproj和en.lproj下的InfoPlist.strings文件到X,xcode中右鍵Add File To ...,選擇添加到target ALite中;然後修改InfoPlist.strings的內容:CFBundleDisplayName="程序名稱Lite"; 4、2個target到現在就創建好了,你添加資源文件的時候,通過選擇添加的target來控制不同版本的內容;再說一下預編譯宏的事情:target->Build Setting,搜索:Preprocessor Macros,設置Debug和Release里的預編譯宏內容,比如TARGET_VERSION_LITE=1表示lite版本(注意=前後不能右空格,有空格會編譯不過),程序中對不同版本這樣判斷: #if TARGET_VERSION_LITE ==1 ... #elif TARGET_VERSION_LITE ==2 ... #endif
C. 如何修改Xcode中創建得時的頭文件信息
把自己寫的代碼文件擴展名改為.h,引用的時候直接引用就可以了。
引用的時候注意路徑,不要弄錯了。
其實擴展名改不改都無所謂,只是一個形式而已,為了便於人們的理解。
即使沒有擴展名也不影響。
所謂的頭文件其實只不過是把外部代碼加到當前代碼的前面,和直接把頭文件里的內容復制到當前文件里效果差不多
D. xcode中怎麼重命名項目
1、更名很簡單,只要選中Project,再點擊一下,就可以重命名了,也可以在右邊那裡進行:
做完這部後,編譯還是無法通過,提示有文件找不到,其中還是引用了老的目錄。這時就只好人工去修改文件「Dispic.xcodeproj」目錄下的「project.pbxproj」文件了,裡面還有三個欄位是「ImageScaner」,替換成「Dispic」即可。
最後編譯通過了,但還是遇到一個「warning:ld: warning: directory not found for option '-L」,不影響使用,但覺得還是要去掉,很簡單,到Targets -> Build Settings 裡面搜索「Framework Search Paths」,刪掉對應路勁即可。
這樣,重構項目很重要的一步:重命名項目和目錄名,就這樣完成了。
補充:xcodeproj/xcuserdata 及 xcodeproj/project.xcworkspace/ 都是用戶及工作區的數據,版本控制時要ignore掉,特別是多人開發的情況下。
E. 怎麼修改xcode已有工程文件的作者 xcode6
.xCode修改工程名字教學
其實可以直接 雙擊 工程名字 修改, 然後再 666地方 點 new scheme
開發過程當中,項目進行到一半的時候,覺得工程名不正確, 或是現在這個項目與以前用過的項目需求差不多,於是只需要修改一下工程名就可以用於現在這個項目。所在修入項目名的功能也是有用的,那麼如何修改呢?其實xcode有這功能,只需要點幾下就行了。
首先打開你的工程,然後先中菜單中的Project-》Rename 這樣就彈出一個對話框,如下:
這樣子卻不能修改appDelegate文件里的名字, 只有手動修改了。有簡單方法,選中你的appDelegate文件,然後選中沒有修改的class
然後在xcode菜單中選中Edit-》Refactor彈出對話框如下:
這就是所謂的替換功能。
F. Xcode6中怎麼修改文件中自動創建的Created by和Copyright
在Xcode6創建問的時候,會自動生成注釋
// Created byxxx on 15/7/10.
// Copyright (c) 2015年 xxxx. All rights reserved.
xxx默認為電腦用戶名,修改方法如下:
右鍵Xcode圖標,顯示包內容 /Contents/Developer/Library/Xcode/Templates/File Templates/Source
C File.xctemplate
C++ File.xctemplate
Cocoa Class.xctemplate
Header File.xctemplate
Objective-C File.xctemplate
Objective-C new superclass.xctemplate
Playground with Platform Choice.xctemplate
Playground.xctemplate
Sources Folder Swift File.xctemplate
Swift File.xctemplate
Test Case Class.xctemplate
一般只修改 Objective-C File.xctemplate/Empty File/___FILEBASENAME___.m 中
//
// ___FILENAME___
// ___PROJECTNAME___
//
// Created by ___FULLUSERNAME___ on ___DATE___.
//___COPYRIGHT___
//
對應區域即可
G. ios 發布應用到蘋果商店xcode需要做哪些配置
1.獲得Unity和iOS導出器 如果你還未這么做,你首先需要在官網下載最新版本的Unity。已經出現了2個版本,分別是免費版和Pro版,所以你可以根據自己的需求做出選擇。自從2013年5月以來,手機便自帶導出器,所以你無需為它們再花錢了。 2.注冊蘋果開發者計劃 你需要做的下一件事便是加入蘋果開發者計劃,這是設定你的開發認證的必要過程。加入該計劃每年需要支付99美元,你將需要通過以下開發者網站進行注冊:https://developer、apple、com/programs/ios/(一旦你完成了注冊並支付了費用,你便會收到一封激活郵件幫助你加入該計劃並讓你能夠使用自己所需要的所有功能)。 3.下載並安裝XCode 加入開發者計劃後的下一件事便是下載並安裝XCode。這在一開始可能會讓人困惑,你們中的有些人會知道XCode是用戶為iOS創造原生應用。而Unity使用XCode作為中介將內容帶勁iOS設備中,所以你並未真正進入XCode,所有的開發將是發生在Unity上,XCode的作用是將內容從Unity導入設備中。你可以從蘋果商店中下載XCode:https://developer。apple。com/xcode/。完成下載後請確保在繼續下一步前安裝好它。 4.創造一個開發者配置文件 到目前為止你應該已經下載了Unity和XCode並激活了你的蘋果開發者計劃會員。現在,為了將你的游戲直接從Unity導到設備上,你需要一個開發者配置文件(這將讓你能夠移植你所開發的游戲或任何測試到你的設備上)。蘋果提供了兩種類型的配置文件,即用於開發和測試的開發者配置文件以及用於提交到蘋果商店的分布配置文件。為了創造開發者配置文件,你需要做3件事:注冊你的設備/建立一個應用ID/獲得證書。 你可以通過你的蘋果開發者計劃完成這三件事。所以導航至這一地址: https://developer。apple。com/ ,然後從最上方的菜單進入會員中心。使用你的蘋果ID和密碼登錄。 現在選擇Certificates, Identifiers和Profiles,你便能夠從中訪問並管理你的配置文件,蘋果ID等等。 1)注冊你的設備 在Certificates, Identifiers和Profiles部分中選擇設備。因為這對於蘋果去識別用於測試的特定設備是必要的。這並不會改變你的設備的任何設置,你能夠輕松地使用自己每天所使用的設備。在注冊你的設備時,你可以點擊+按鍵去添加一個新設備。然後你需要填寫設備的名字(可以是任何名字)以及UDID(即設備獨一無二的ID)。你將會發現自己可以注冊一個以上的設備進行測試,如果你想要基於不同設備進行測試的話這邊很有幫助(如一台iPhone和一台iPad)。 為了找到你的設備的UDID,你需要將你的設備與電腦連接在一起,然後打開iTunes並點擊iPhone按鍵(界面的右上方的),你將看到設備的信息包含了名字。然後你可以將滑鼠停在上方並點擊Serial Number,這將變成一個常標識,這便是UDID。 這是你需要的數字,你必須將其復制黏貼到Member Center Portal的ID部分。現在你便可以注冊你的設備了。記住一旦你注冊了設備,你便只能改變它的名字而不能改變UDID。 2)設置一個應用ID 下一步便是設置你的應用ID。仍然在Member Center Portal的Certificates, Identifiers和Profiles,選擇應用ID並點擊+按鍵。 首先提供任何你想要的描述,只要它能夠幫助你記得你的ID是用於做什麼便可。一個好的方法便是為一款應用使用一個獨特的名字並為一款測試應用使用一個普通的名字。接下來你需要設置Bundle Identifier,這是以相反的域符號形式呈現出來「 即:com+你的全名(如果你是一名個體開發者的話)+你的游戲名稱: com.YourName.TheGameName 這類型的Bundle ID將很清楚並只能用於唯一的一款游戲中。因此你需要為你的每一款游戲使用不同的名字。然而這是很有用的,這讓你能夠訪問像「游戲中心」和「應用內部購買」等服務。 另一方面,Wildcard的Bundle ID是以如下形式呈現出來: com.YourName.* 這里用星號替代了游戲名字。這種格式讓你能夠在多款應用中使用同樣的ID,而無需每次都設置一個不同的名字,但是這卻不允許你使用特定的設備。 現在你已經選擇了繼續並確認了應用ID。將捆綁ID記錄下來,因為之後你將需要在Unity的構建設置中使用到它。 3)獲得開發者證書 你需要做的第一件事便是通過你的計算機獲得Certificate Signing Request。前往Applications > Utilities > Keychane Access,然後是Preferences > Certificates。確保Online Certificate Status Protocol和Certificate Revocation List都是處於OFF,並關閉Preference。現在在Keychane Access中前往Certificate Assistant並從Certificate Authority中選擇Request Certificate。提供與你在注冊開發者計劃時使用的同樣細節並點擊繼續。提供一個名字並保存到Desktop。在保存時選擇2048位體和RSA。 現在在你的Desktop中應該擁有一個帶著.certSigningRequest前綴的文件。 現在回到Member Center Portal的Certificates, Identifiers和Profiles部分,選擇Certificates > Development(就像你要獲得開發證書那樣),然後按壓+按鍵進行創造。 選擇上傳你保存在Desktop中的Certificate Signing Request。在你提交前,確保向下滾動頁面並在Intermediate Certificates中找到WWDR Certificate。在你之後需要的時候可以下載它。 現在進行提交,你的Certificate Signing Request將被發送到蘋果並被另外一個你能夠下載的內容所取代。它將被命名為:ios_development.cer 所以現在你的Desktop上應該擁有兩個證書。即ios_development.cer和WWDR Certificate,你需要雙擊這兩個證書將其安裝於Keychane Access。現在你便設置好你的開發者證書了。 4)創造配置文件 在完成上述三個步驟後,現在的你可以繼續去創造配置文件了。仍然在Member Center Portal的Certificates, Identifiers和Profiles中,前往Provisioning Profiles > All並按壓+按鍵去創造一個全新的配置文件。 在Development和Distribution Profile中做出選擇(這里我們需要的是Development!),然後在下一個屏幕上選擇與該配置文件相聯系的應用ID,設備和證書(游戲邦註:這是你在之前步驟已經設置好了的)。最後為配置文件命名並回顧之前的選擇。當准備好時點擊Generate。現在你便可以看到你的全新配置文件,你需要將其下載到你的Desktop上然後安裝它。配置文件將是一個帶有.mobileprovision前綴的文件。 現在轉向XCode,前往Window > Organizer > Devices > Provisioning Profile,然後雙擊已經下載到你的Desktop上的配置文件。你便完成了安裝並能夠給予Organizer視圖看到它。最後一步非常重要,因為只有將配置文件安裝到Xcode,它才能夠正常運行。 一些額外的內容:仍然在XCode,如果你的設備在Devices視圖中仍看不到,那就前往Window > Organizer > Devices,按照名字選擇設備。你可能需要在這個過程中選擇Use for Development,然後提供你的開發者記錄細節。 雖然這是一個較為漫長的過程,但好消息是你已經完成工作了! 現在你可以開始致力於你的Unity游戲並准備好導出它。 記得你只能注冊設備和創造開發者證書一次,每當你創造一款新游戲時你都需要創造一個全新的應用ID和全新的配置文件。 5.面向Unity 當你准備好導出你的游戲時,前往File > Build Settings,並確保你選擇了iOS作為平台。記得包含當前場景到導出遊戲中(使用Add Current按鍵)。然後點擊Player Seetings按鍵並前往Other Settings。 將Bundle Identifier按照你之前設置好的進行設置(com.YourName.TheGameName),你可能需要將Target IOS版本設為6(或者你的設備的版本)。將所有內容都保持為默認,除非你有改變它們的理由。 然後回到Build Settings Window並點擊Build然後將項目保持到其自身的文件夾中。 連接你的設備和計算機,打開文件夾並開始XCode項目。你將看到它在XCode中打開。從XCode界面的左上角選擇你的設備,然後點擊Run按鍵。 項目將給予你的設備進行創建並自動運行(確保你的設備是打開的!) 就是這樣了!現在你的游戲已經能夠運行於你的iOS設備上了。
H. xcode 怎麼修改valid architectures
iPhone指令集
本文所講的內容都是圍繞iPhone的指令集(想了解ARM指令集的同學請點擊這里),現在先說說不同型號的iPhone都使用的是什麼指令集:
ARMv8/ARM64 = iPhone 5s, iPad Air, Retina iPad MiniARMv7s = iPhone
5, iPhone 5c, iPad 4ARMv7= iPhone 3GS, iPhone 4, iPhone 4S, iPod
3G/4G/5G, iPad, iPad 2, iPad 3, iPad MiniARMv6= iPhone, iPhone 3G, iPod
1G/2G
設置你想支持的指令集
Xcode中關於生成二進制包指令集相關的設置項有以下三個:
Architectures
官方文檔說明:
Space-separated list of identifiers. Specifies the architectures
(ABIs, processor models) to which the binary is targeted. When this
build setting specifies more than one architecture, the generated binary
may contain object code for each of the specified architectures.
改變以選項指定了工程將被編譯成支持哪些指令集,支持指令集是通過編譯生成對應的二進制數據包實現的,如果支持的指令集數目有多個,就會編譯出包含多個指令集代碼的數據包,造成最終編譯的包很大。
Valid Architectures
官方文檔說明:
Space-separated list of identifiers. Specifies the architectures for
which the binary may be built. During the build, this list is
intersected with the value of ARCHS build setting; the resulting list
specifies the architectures the binary can run on. If the resulting
architecture list is empty, the target generates no binary.
該編譯項指定可能支持的指令集,該列表和Architectures列表的交集,將是Xcode最終生成二進制包所支持的指令集。
比如,你的Valid Architectures設置的支持arm指令集版本有:armv7/armv7s/arm64,對應的Architectures設置的支持arm指令集版本有:armv7s,這時Xcode只會生成一個armv7s指令集的二進制包。
Build Active Architecture Only
官方文檔說明:
Boolean value. Specifies whether the proct includes only object code for the native architecture.
該編譯項用於設置是否只編譯當前使用的設備對應的arm指令集。
當該選項設置成YES時,你連上一個armv7指令集的設備,就算你的Valid Architectures和Architectures都設置成armv7/armv7s/arm64,還是依然只會生成一個armv7指令集的二進制包。
當然該選項起作用的前提是你的Xcode必須成功連接了調試設備。如果你沒有任何活躍設備,即Xcode沒有成功連接調試設備,就算該設置項設置成YES依然還會編譯Valid Architectures和Architectures指定的二進制包。
通常情況下,該編譯選項在Debug模式都設成YES,Release模式都設成NO。
說明
指令集都是可以向下兼容的
比如,你的設備是armv7s指令集,那麼它也可以兼容運行比armv7s版本低的指令集:armv7、armv6
xcode對armv6指令集的支持
Xcode4.5起不再支持armv6,Xcode4.5的release notes中明確指出:
ChangesGeneral: iOSThis version of Xcode does not generate armv6
binaries. 12282156The minimum deployment target is iOS 4.3. 12282166
如何選擇支持的指令集
如果你的軟體對安裝包大小非常敏感,你可以減少安裝包中的指令集數據包,而且這能達到立竿見影的效果。
我們的項目之前支持的指令集是armv7/armv7s,後來改成只支持armv7後,比原來小了10MB左右。目前AppStore上的一些知名應用,比如網路地圖、騰訊地圖通過反匯編工具查看後,也都只支持armv7指令集。
根據向下兼容原則,armv7指令集的應用是可以正常在支持armv7s/arm64指令集的機器上運行的。
不過對於armv7s/arm64指令集設備來說,使用運行armv7應用是會有一定的性能損失,不過這種損失有多大缺乏權威統計數據,個人認為是不會影響用戶體驗的。
參考文檔
目前ios的指令集有以下幾種:
1,armv6,支持的機器iPhone,iPhone2,iPhone3G及對應的iTouch
2,armv7,支持的機器iPhone4,iPhone4S
3,armv7s,支持的機器iPhone5,iPhone5C
4,arm64,支持的機器:iPhone5S
機器對指令集的支持是向下兼容的,因此armv7的指令集是可以運行在iphone5S的,只是效率沒那麼高而已~
========================
Architecture : 指你想支持的指令集。
Valid architectures : 指即將編譯的指令集。
Build Active Architecture Only : 只是否只編譯當前適用的指令集。
========
現在是2014年初,其實4和4S的用戶還是蠻多的,而iphone3之類的機器幾乎沒有了,所以我們的指令集最低必須基於armv7.
因此,Architecture的值選擇:armv7 armv7s arm64(選arm64時需要最低支持5.1.1,這塊不太明白)
1,如果想自己的app在各個機器都能夠最高效率的運行,則需要將Build Active Architecture
Only改為NO,Valid architectures選擇對應的指令集:armv7 armv7s
arm64。這個會為各個指令集編譯對應的代碼,因此最後的 ipa體積基本翻了3倍。(如果不在乎app大小的話,應該這樣做)
2,如果想讓app體積保持最小,則現階段應該選擇Valid architectures為armv7,這樣Build Active Architecture Only選YES或NO就無所謂了。
分享到:
I. Xcode怎樣修改proct name
項目 ==> TARGETS ==> Build Settings==> 搜索proct name,修改即可 (注意紅色部分,不然修改不上去)
一般debug版可以修改為:$(TARGET_NAME)d
release版可以修改為:$(TARGET_NAME)
注意:一般配合修改的還有輸出路徑 (xcode里搜索per-)