導航:首頁 > 版本升級 > ios生成文件

ios生成文件

發布時間:2024-07-14 02:54:10

⑴ ios 開發怎麼用代碼生成xml文件

在ios開發中,可以使用GDataXML生成xml

GDataXML只有兩個文件GDataXMLNode.h和GDataXMLNode.m。使用方法如下:

將文件包含進工程後,添加libxml2.dylib:

現在可以編寫代碼了:

#import"GDataXMLNode.h"

// 創建一個根標簽

GDataXMLElement *rootElement = [GDataXMLNode elementWithName:@"root"];

// 創建一個屬性

GDataXMLElement *attribute = [GDataXMLNode attributeWithName:@"a" stringValue:@"b"];

// 創建一個標簽元素

GDataXMLElement *element = [GDataXMLNode elementWithName:@"user" stringValue:@"HelloWorld"];

// 把標簽與屬性添加到根標簽中

[rootElement addAttribute:attribute];

[rootElement addChild:element];

// 生成xml文件內容

GDataXMLDocument *xmlDoc = [[GDataXMLDocument alloc] initWithRootElement:rootElement];

NSData *data1 = [xmlDoc XMLData];

NSString *xmlString = [[NSString alloc] initWithData:data1 encoding:NSWindowsCP1253StringEncoding];

NSLog(@"xmlString %@", xmlString);

結果:

<?xml version="1.0"?>

<root a="b"><user>HelloWorld</user></root>

⑵ iOS寮鍙戠敓鎴恡xt鏂囦歡

涓寮濮嬫垜鐢ㄧ殑鏂規硶涓鍐欙紝浣嗘槸鍚庢潵鍙戠幇鍦ㄩ珮緋葷粺涓婃姤閿欙紙澶ф傛姤閿欏唴瀹癸細NSCocoaErrorDomain錛257錛夈

鍚庢潵瑙e喅浜嗭紝鍋氫釜璁板綍銆

1銆佸湪浣庝簬iOS13鐨勭郴緇熶腑銆傜敤鍒涘緩鏂囦歡澶圭殑褰㈠紡鍙浠ュ備笅錛
+ (NSString *)tmpLogPath

{

    NSString *docPath = [NSHomeDirectory() :@"Library"];

    NSString *dirPath = [docPath :@"mylog"];

    NSString *filePath = [dirPath :@"tmpLog.txt"];

    return filePath;

}

+ (void)writeTmpLog:(NSString *)aMsg

{

    NSString *filePath = [[self class] tmpLogPath];

    if (![[NSFileManager defaultManager] fileExistsAtPath:filePath]) {

        BOOL isDir = NO;

        BOOL hasDir = [[NSFileManager defaultManager] fileExistsAtPath:filePath isDirectory:&isDir];

        if (!hasDir || !isDir) {

            [[NSFileManager defaultManager] createDirectoryAtPath:filePath withIntermediateDirectories:NO attributes:nil error:nil];

        }

    }

    NSError *error;

    NSString *content =[NSString stringWithContentsOfFile:filePath

                                                encoding:NSUTF8StringEncoding

                                                    error:&error];

    NSString *newContent = [NSString stringWithFormat:@"%@\n%@",content,aMsg];

    [newContent writeToFile:filePath atomically:YES encoding:NSUTF8StringEncoding error:nil];

}

+ (void)clearTmpLog

{

    NSString *filePath = [[self class] tmpLogPath];

    [@"" writeToFile:filePath atomically:YES encoding:NSUTF8StringEncoding error:nil];

}

2銆佷絾鏄鍦╥OS13涓婏紝涓嶈兘榪欐牱鍐欍傜郴緇熶細榛樿ゅ壋寤轟互涓***.txt鐨勬枃浠跺す錛屽湪鍐欏叆鐨勬椂鍊欏氨鍑洪棶棰樹簡銆

浼氭姤閿欙細NSCocoaErrorDomain錛257 灝辨槸
NSFileReadNoPermissionError = 257,/ /璇誨彇閿欒(鏉冮檺闂棰)

鎵浠ュ彲浠ヨ繖鏍峰啓錛

+ (NSString *)tmpLogPath {

    NSString *documentPath = [(NSLibraryDirectory, NSUserDomainMask, YES) lastObject];

    NSString *filePath = [documentPath :@"mylog/tmpLog.txt"];

    returnfilePath;

}

+ (void)writeTmpLog:(NSString*)aMsg {

    NSString*fieldPath = [[self class]tmpLogPath];

    NSLog(@"褰撳墠鏂囦歡澶у皬錛%llu",[self fileSizeWithPath:fieldPath]);

    NSFileManager *manager = [NSFileManager defaultManager];

    if(![managerfileExistsAtPath:fieldPath]){

        NSError*error;

        [aMsgwriteToFile:fieldPath atomically:YES encoding:NSUTF8StringEncoding error:&error];

        if(error) {

            NSLog(@"鍐欏叆澶辮觸:%@\n",[error localizedDescription]);

        }

    }else{

        NSError*error;

        NSError*writeError;

        NSString *content =[NSString stringWithContentsOfFile:fieldPath

                                                     encoding:NSUTF8StringEncoding

                                                        error:&error];

        if(error) {

            NSLog(@"璇誨彇澶辮觸:%@\n",[error localizedDescription]);

        }

        NSString*newContent = [NSString stringWithFormat:@"%@\n%@",content,aMsg];

        [newContentwriteToFile:fieldPath atomically:YES encoding:NSUTF8StringEncoding error:&writeError];

        if(writeError) {

            NSLog(@"鍐欏叆澶辮觸:%@\n",[]);

        }

    }

}

//鑾峰彇鏂囦歡澶у皬

+ (unsignedlonglong)fileSizeWithPath:(NSString*)path {

    signedlonglongfileSize =0;

    NSFileManager *fileManager = [NSFileManager defaultManager];

    if([fileManagerfileExistsAtPath:path]) {

        NSError*error =nil;

        NSDictionary*fileDict = [:patherror:&error];

        if(!error && fileDict) {

            fileSize = [fileDictfileSize];

        }

    }

    returnfileSize;

}

+ (void)clearTmpLog {

    NSError*error;

    NSFileManager *manager = [NSFileManager defaultManager];

    NSString*filePath = [[selfclass]tmpLogPath];

    [managerremoveItemAtPath:filePatherror:&error];

    if(error) {

        NSLog(@"鍒犻櫎澶辮觸:%@\n",[error localizedDescription]);

    }

}

⑶ iOS MDM璇﹁В錛3錛夆 鐢熸垚mobileconfig閰嶇疆鏂囦歡鍙婄懼悕

姣斿傦細

鍒朵綔涓涓閰嶇疆鏂囦歡鍙浠 iPhone閰嶇疆浣跨敤宸ュ叿 鍜 鎵嬪啓XML鏂囦歡 涓ょ嶆柟寮忋備負浜嗘柟渚挎搷浣滄垜鐢ㄤ簡鍓嶈咃紙緗戜笂璇磋繖涓宸茶鑻規灉鎶涘純錛屽ソ鍍忎笉褰卞搷鏂囦歡鐢熸垚錛夈

鎵撳紑鏂囦歡鈥斺旀柊寤洪厤緗鏂囦歡錛屼富瑕佹秹鍙婁嬌鐢ㄥ埌鐨勯厤緗濡備笅錛

鑷蟲ら厤緗璁劇疆鍩烘湰瀹屾垚錛屼繚瀛樸佸煎嚭浼氭彁紺虹粰閰嶇疆鏂囦歡絳懼悕錛岄夋嫨鏃犲嵆鍙銆

鎴戜滑鍙浠ョ洿鎺ヤ慨鏀規XML鏂囦歡錛屾嵁姝 Configuration Profile Reference 鍙娣誨姞鍏朵粬鎵闇鐨勫瓧孌點備綘涔熷彲浠ュ湪姝ゅ熀紜涓婁慨鏀歸傚悎涓鴻嚜宸辯殑錛堜及璁″緢瀹規槗閬楁紡鎴栧嚭閿欙級錛屾垜榪樻槸鍠滄㈠湪 iPhone閰嶇疆浣跨敤宸ュ叿 涓鎿嶄綔姣旇緝鏂逛究銆

浠ヤ笂鐢熸垚鐨勯厤緗鏂囦歡鍏跺疄鍙浠ョ洿鎺ュ畨瑁呭埌璁懼囦笂錛屽傛灉瀹夎呮垚鍔熷悗浼氭湁涓涓綰㈣壊鐨勬彁紺衡樻湭絳懼悕鈥欏備笅銆

絳懼悕瑕佺粡鍘嗕袱涓鎿嶄綔錛屼竴銆丮DM Sever絝絳懼悕銆備簩銆佺敤鑻規灉棰佸彂鐨勮瘉涔︾懼悕銆

闇瑕佷互涓嬭瘉涔︽枃浠訛細

鍙浠ュ啀緇堢涓鎵ц岋細 openssl smime -sign -in unsigned.mobileconfig -out signed.mobileconfig -signer server.crt -inkey server.key -certfile cert-chain.crt -outform der -nodetach

(浠ヤ笂鏄疛ava鍚庡彴絳懼悕鐨勬搷浣滆繃紼嬶紝鎴戞病鏈夐獙璇侊紝鍦ㄦや綔涓轟竴涓鎿嶄綔姝ラゆ葷粨鏀懼湪榪欓噷)銆

鎴戠寽嫻婱DM Sever鐨勭懼悕鍙鏄涓轟簡鍜屽㈡埛絝榪涜屼笅璁よ瘉鍜屽規弿榪版枃浠剁殑鍔犲瘑榪囩▼錛屽彧鏄璁╄繖涓や釜涔嬮棿鐩鎬簰璁ょ煡瀵規柟錛屽拰iOS緋葷粺鏄鍚︽壙璁ゆ棤鍏熾傛墍浠ヤ互涓婃搷浣滀箣鍚庤繕浼氭彁紺衡樻湭絳懼悕鈥欍傦紙瀹為檯嫻嬭瘯涓榪欎釜鎿嶄綔鍙浠ョ渷鐣ワ級銆

浠ヤ笅鎿嶄綔寮曡嚜緗戠粶

榪欎釜鎿嶄綔鏈夊嚑縐嶆柟娉曞彲渚涢夋嫨錛岃繖閲屾垜浣跨敤浜嗚剼鏈絳懼悕銆

鍊熷姪浜庡己澶х殑github,鎵懼埌浜嗕竴涓 python鑴氭湰 榪涜岀懼悕

1.絳懼悕涓涓猰obileconfig

profile_signer.py涓 mobileconfig 鏀懼湪鍚屼竴鐩褰,緇堢榪涘叆鐩褰曟墽琛

./profile_signer.py -n "3rd Party Mac Developer Application" sign AcrobatPro.mobileconfig AcrobatProSigned.mobileconfig
2.鍔犲瘑涓涓猰obileconfig

./profile_signer.py -n "3rd Party Mac Developer Application" encrypt AcrobatPro.mobileconfig AcrobatProEnc.mobileconfig
3.絳懼悕騫朵笖鍔犲瘑涓涓猰obileconfig

./profile_signer.py -n "3rd Party Mac Developer Application" both AcrobatPro.mobileconfig AcrobatProBoth.mobileconfig
"3rd Party Mac Developer Application"涓轟綘鐨勮瘉涔﹀湪閽ュ寵涓蹭腑鐨勫叏鍚,閫夋嫨璇佷功=>鏄劇ず綆浠=>澶嶅埗甯哥敤鍚嶇О鍔犱笂寮曞彿鍗沖彲,姣斿

"iPhone Developer: jakey.shao [email protected] "

"iPhone Distribution: Skyfox Network Technology Co., Ltd."

66911171-EE9C-4DB7-BFCE-6564CC1B4E1A濡傛灉鑳芥g『璇誨彇鍒拌瘉涔︼紝浼氭彁紺哄厑璁歌塊棶閽ュ寵涓詫紝鐐瑰嚮鍏佽稿嵆鍙錛

鏈緇堝畨瑁呮彁紺哄凡楠岃瘉鍟︺

⑷ ios 真機測試生成的文件夾怎麼什麼地方

1、授權設備:

進入Apple Developer會員中心,點擊圖中的iOS Provisioning Portal,進入開發者授權設置系統

在設置界面中,可以選擇點擊頁面下方的助手來運行向導:

點擊左側導航的Device,進入授權設備的頁面,點擊右上方的Add Device按鈕可以添加一個設備:

添加設備的時候可以指定設備的名字(隨便寫),以及設備的UDID。每一個Apple的設備都有一個唯一的標識符,獲得這個標識符的方法很簡單,有兩種方式:

(1)將你的設備連接到電腦,然後在iTunes里找到你的設備信息(如下圖),點擊圖中紅色方框的位置,設備UDID就會顯示出來。右擊UDID會提示拷貝,將拷貝的結果復制到框內即可;

(2)打開xcode,window→organizer→devices,在裡面可以看到identifier信息

2、添加App ID:

點擊左側導航的App IDs按鈕可以進入應用程序ID的配置頁面,可以點擊頁面右方的New App ID按鈕添加一個新的應用。這個ID對應的是即將開發和測試的應用程序。如下圖,在description里添加一個單一應用的名稱(不支持特殊字元),然後在最下面的Bundle Seed ID裡面填入一個含有domain格式的字元串(如com.bo.test)。Bundle Seed ID是一個集合了開發商與應用程序的信息,格式為(com.[開發商].[應用]),這里可以指定為單一應用,也可以指定為全部應用。如果是單一應用,建議剛才填寫的description與Bundle Seed ID的最後一項相同(如test和com.bo.test),如果是全部應用,可以使用這樣的Bundle Seed ID: com.bo.

3、添加證書:

(1)首先在mac電腦上生成開發者證書:

在Applications->Utilities裏手動打開Keychain Access。按照下圖操作最終點擊「從證書頒發機構請求證書」


正確填寫自己的郵箱和姓名即可,選擇「存儲到磁碟」,點擊繼續。最終會生成一個名為「CertificateSigningRequest.certSigningRequest」的文件。

這時候返回剛才的iOS Provisioning Portal網頁界面,點擊左側的「Certificate」,點擊頁面右方的Request Certificate申請一個證書,然後點擊頁面下方的按鈕上傳生成的certSigningRequest文件,這樣就完成了證書的申請流程。申請成功後,Certificate頁面里就有了一條證書,刷新幾次頁面後證書的狀態就變成Issued,點擊download按鈕可以下載一個cer文件。

4、使用開發者授權:

(1)回到iOS Provisioning Portal網頁界面,點擊左側的「provisioning」,點擊右側的New Profile按鈕創建一個新的授權文件:

填寫profile Name;在Certificates中選擇剛剛創建好的證書(一勞永逸的一步,之後只需勾選該證書即可,不必再手動添加);APP ID選擇剛剛建的那個;Devices 選擇剛剛添加的設備;Submit(綁定設備到應用程序);刷新頁面,會看到剛剛建的那個後邊有個Download,點擊Download,下載了一個.mobileprovision文件。

(2)打開xcode→window→organizer,將下載的.mobileprovision文件拖到Provisioning中(此步驟綁定設備到應用程序,並生成證書)

(3)項目中的plist 文件,將Bundle Identifier 這一項的內容改成Bundle Seed ID(格式:com.[開發商].[應用])即可

將run按鈕右邊的設備選為對應的真機設備,接下來就編譯運行看看吧!

閱讀全文

與ios生成文件相關的資料

熱點內容
vivo手機數據如何備份 瀏覽:888
ithmb文件轉換器 瀏覽:66
看病找什麼網站好 瀏覽:579
linux如何查看文件系統 瀏覽:581
linux統計點頻率 瀏覽:627
全民泡泡大戰安琪兒升級 瀏覽:620
編程scratch如何保存 瀏覽:750
aspnetmvc傳json 瀏覽:132
如何下載看神片的狐狸視頻app 瀏覽:579
怎樣將木紋文件添加到cad 瀏覽:223
java中的hashset 瀏覽:70
mate8升級emui50嗎 瀏覽:396
網路怎麼校線 瀏覽:546
會玩app稀有寶箱裡面有什麼 瀏覽:718
打開icloud備份文件在哪裡看 瀏覽:602
一個表格多個數據怎麼樣查找數據 瀏覽:466
qq飛車微信簽到app有哪些 瀏覽:299
如何製作虛擬貨幣app 瀏覽:303
ug50能通過補丁升級到高版本嗎 瀏覽:766
dxf文件cad打不開的原因 瀏覽:525

友情鏈接