當前位置:首頁 » 編程軟體 » cocoapods管理編譯速度

cocoapods管理編譯速度

發布時間: 2022-09-28 04:40:10

❶ ios cocoapods 工程怎麼調試靜態庫

創建靜態庫,有2種方法:
1.不基於pod手動創建(deprecated)
過程比較繁瑣,純體力活不推薦,大體步驟說下
在Xcode中創建一個Cocoa Touch Static Library;
創建Podfile文件;
執行pod install完成整個項目的搭建;
如果需要demo,手動創建示常式序,使用pod添加對私有靜態庫的依賴,重復執行pod install完成示例項目的搭建。
2.基於pod自動創建
只需要輸入pod的lib命令即可完成初始項目的搭建,下面詳細說明具體步驟,以BZLib作為項目名演示。
1.執行命令pod lib create BZLib。在此期間需要確認下面4個問題。
Would you like to provide a demo application with your library? [ Yes / No ]
yes
Which testing frameworks will you use? [ Specta / Kiwi / None ]
Kiwi
Would you like to do view based testing? [ Yes / No ]
No
What is your class prefix?
BZ

第一個問題詢問是否提供一個demo項目,通常選擇Yes,其他的可以根據需要選擇。命令執行完後,就會創建好一個通過cocoapods管理依賴關系的基本類庫框架。
2.打開BZLib.podspec文件,修改類庫配置信息,結果像這樣。
Pod::Spec.new do |s|
s.name = "BZLib"
s.version = "0.1.0"
s.summary = "A short description of BZLib."
s.description = <<-DESC
An optional longer description of BZLib

* Markdown format.
* Don't worry about the indent, we strip it!
DESC
s.homepage = "https://github.com/<GITHUB_USERNAME>/BZLib"
# s.screenshots = "www.example.com/screenshots_1", "www.example.com/screenshots_2"
s.license = 'MIT'
s.author = { "brycezhang" => "[email protected]" }
s.source = { :git => "https://github.com/<GITHUB_USERNAME>/BZLib.git", :tag => s.version.to_s }
# s.social_media_url = 'https://twitter.com/<TWITTER_USERNAME>'

s.platform = :ios, '6.0'
s.requires_arc = true

s.source_files = 'Pod/Classes/**/*.{h,m}'
s.resource_bundles = {
'BZLib' => ['Pod/Assets/*.png']
}

s.public_header_files = 'Pod/Classes/**/*.h'
s.frameworks = 'MobileCoreServices', 'CFNetwork', 'CoreGraphics'
s.libraries = 'z.1'
s.dependency 'YSASIHTTPRequest', '~> 2.0.1'
end

按照默認配置,類庫的源文件將位於Pod/Classes文件夾下,資源文件位於Pod/Assets文件夾下,可以修改s.source_files和s.resource_bundles來更換存放目錄。s.public_header_files用來指定頭文件的搜索位置。
s.frameworks和s.libraries指定依賴的SDK中的framework和類庫,需要注意,依賴項不僅要包含你自己類庫的依賴,還要包括所有第三方類庫的依賴,只有這樣當你的類庫打包成.a或.framework時才能讓其他項目正常使用。示例中s.frameworks和s.libraries都是ASIHTTPRequest的依賴項。
podspec文件的詳細說明可以看Podspec Syntax Reference。
3.進入Example文件夾,執行pod install,讓demo項目安裝依賴項並更新配置。
localhost:Example bryce$ pod install --no-repo-update
Analyzing dependencies
Fetching podspec for `BZLib` from `../`
Downloading dependencies
Installing BZLib 0.1.0 (was 0.1.0)
Using Kiwi (2.3.1)
Installing Reachability (3.2)
Installing YSASIHTTPRequest (2.0.1)
Generating Pods project
Integrating client project

4.添加代碼。因為是示例,只簡單封裝一下GET請求。
添加BZHttphelper類,注意文件存放的位置在Pod/Classes目錄下,跟podspec配置要一致。
運行Pod install,讓demo程序載入新建的類。也許你已經發現了,只要新增加類/資源文件或依賴的三方庫都需要重新運行Pod install來應用更新。
編寫代碼。示例代碼很簡單,創建了一個GET請求的包裝方法。
#import "BZHttphelper.h"
#import <YSASIHTTPRequest/ASIHTTPRequest.h>

@implementation BZHttphelper

- (void)getWithUrl:(NSString *)url withCompletion:(void (^)(id responseObject))completion failed:(void (^)(NSError *error))failed
{
ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:[NSURL URLWithString:url]];
__weak ASIHTTPRequest *weakrequest = request;
[request setCompletionBlock:^{
NSString *responseString = [weakrequest responseString];
completion(responseString);
}];

[request setFailedBlock:^{
NSError *error = [weakrequest error];
failed(error);
}];
[request start];
}

@end

demo項目中調用測試。
#import "BZViewController.h"
#import <BZLib/BZHttphelper.h>

@interface BZViewController ()
{
BZHttphelper *_httpHelper;
}
@end

@implementation BZViewController

- (void)viewDidLoad
{
[super viewDidLoad];
_httpHelper = [BZHttphelper new];
[_httpHelper getWithUrl:@"http://wcf.open.cnblogs.com/blog/u/brycezhang/posts/1/5" withCompletion:^(id responseObject) {
NSLog(@"[Completion]:%@", responseObject);
} failed:^(NSError *error) {
NSLog(@"[Failed]:%@", error);
}];
}

- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}

@end

成功列印,調用成功!
2014-11-23 16:52:23.946 BZLib[6329:96133] [Completion]:<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom"><title type="text">

❷ iOS 的自動構建流程

用來打包做類似事情的工具很多,更主要的是為什麼使用自動構建:

• 效率上,解放出開發人員的時間。也更方便其他同事使用。

• 保證打包的標准,避免配置或環境問題,帶來的失敗。把事情做對,比做快更重要。

• 許可權安全上,通過構建系統集中管理,對於使用者來說是一個黑盒。

• 項目流程上,便於有需求時做 Daily Build 或者 自動測試。

對於 如何安裝 Jenkins 或者 Jenkins 參數配置 之類的基本配置不做涉及。

網上已經有不少詳細的文章進行介紹。比如 手把手教你利用Jenkins持續集成iOS項目 https://www.jianshu.com/p/41ecb06ae95f 。

先介紹整體的構建流程,具體的內容會在下面分步驟介紹.

構建前

• 設置構建名

• 配置 app 圖標水印(build號,分支)

• ruby 腳本根據參數,修改工程 bundleID ,宏等

• 安裝第三方依賴,pod update

執行構建

• xcodebuild clean

• xcodebuild archive

• xcodebuild exportArchive

構建完成

上傳分發平台: 蒲公英/fir/appstore(歷史版本記錄: git tag )

• 符號表處理:上傳 bugly

• 歸檔產物: 上傳 FTP 伺服器

• 清理: 刪除 IPA 等

• 設置構建描述

• 通知: 企業微信 webhook 機器人推送

首先設置我們的構建名稱,我這里使用到幾個參數:

• BUILD_NUMBER ,Jenkins 自帶的參數,代表第幾次構建

• BetaPlatform ,設置的選項參數,代表分發平台。我這里的值分別是:fir,pgyer,appstore

• Mode,設置的選項參數,代表 Xcode 構建的環境設置,為 Snapshot 和 Release

• Branch,Jenkins 自帶的參數,代表 Git 分支名稱

為了打包後進行測試的 APP ,便於定位問題,可以在 App Logo 上打上水印,加入構建使用的 git 分支名,jenkins 構建號,app 版本號 等關鍵信息。

配置圖標水印的流程為:

• 判斷此次是否為 appstore 分發平台。如果是 appstore 的話,將舊有的圖標目錄清理掉,然後將圖標復制到使用的目錄中。

• 如果不是 appstore ,則為測試平台分發,進行水印處理。

因為要使用替換資源的方式,所以准備兩個目錄。

一個目錄作為 源目錄,存放未處理的圖片。一個目錄作為目標目錄,存儲 App Logo 使用的圖片。

為什麼使用兩個圖片目錄存儲?假設只用一個,原圖為A,當第一次處理,圖片為 A1水印圖片,當第二次再拿到的圖片,已經是被處理過的 A1水印圖片了,而不是原圖A 。

這里注意 icons_path 為存放原圖的地址, icons_dest_path 為要修改使用的目標路徑。命名為 AppIcon-Internal。

可以參考 iOS APP圖標版本化 https://www.jianshu.com/p/a37e114b7e66

關於 version 的獲取, 因為目前版本有改動,使用 ruby 去獲取,腳本會在後面提供鏈接:

還有一個臨時存放路徑,要提前創建好這個文件夾:

添加水印主要使用到了命令行工具 ImageMagick ,所以要先安裝:

具體的腳本如下:

這里使用 ruby 實現參數修改(當然也可使用 python 等各種語言,自己方便就 OK )。

目前做的操作:

• 區分是否 beta 版本 -- 修改定義 beta 宏 的真假值

• 不同分發平台,使用不同 bundleID -- 對 bundleID 進行修改

腳本里依靠 CocoaPods 開源的 Xcodeproj ,對工程的 name.xcodeproj/project.pbxproj 文件進行配置修改。

python 的話,可以使用這個項目 mod-pbxproj

安裝/更新第三方庫,這里使用到的是 Cocoapods,其它的包管理器可使用其它方式。

在開始之前,我們要做些准備工作,比如設置要使用的變數,常量。

需要提前寫好,盡量避免散落。

舊有的方式,是直接通過 info.plist 取:

然而在新的 Xcode 取 版本號 和 bundleID 的方式發生變化,現在 info.plist 里的值是變數名,取版本號為 $(MARKETING_VERSION) , bundleID 為 $(PRODUCT_BUNDLE_IDENTIFIER) .

結局思路是通過腳本到工程配置里去獲取,下面使用 ruby 實現了這兩個目的。

我們將 App 與 Jenkins 的 build number 設置為同一個,方便需要時,查看構建的參數以及符號表等:

加入 security 解鎖操作的原因,是在子節點 ssh 登錄上去之後,keychain 沒有被解鎖.導致打包失敗.
解決方案是用 security unlock-keychain 命令將證書解鎖。

另外可以通過命令查看描述文件的詳細信息 包括UUID等信息

對工程進行構建打包,主要在於使用 Xcodebuild .
分為三個階段:

• Clean

• Archive

• Export

如果在執行過程中又不喜歡日誌輸出的,可以在命令行最後加上

每次構建時,對工程進行 clean ,保證沒有其它影響的因素。
使用xcodebuild clean [-optionName]...清除編譯過程生成文件,使用如下:

非 cocoapods 的工程,將 -workspace "${APP_NAME}.xcworkspace" 換成 -project ${APP_NAME}.xcodeproj 即可。
新版本的 Xcode 有了新的構建系統,使用 -UseModernBuildSystem= 來做新舊區分。

Xcodebuild archive

更新到Xcode9.0後,之前寫的自動打包腳本不可用了。

需要添加 -allowProvisioningUpdates,獲取訪問鑰匙串許可權的關鍵所在,設置了這個欄位就會在打包過程彈框請求獲取鑰匙串內容許可權。

特別說明的是,exportOptionsPlist 一定要檢查,不同的環境和分發平台要選擇對。

最簡單方式,就是調好需要的環境後,直接手動 archive ,export 出來,使用產物里的 exportOptionsPlist 文件。

檢查對應路徑是否有 **.ipa 文件:

這里分為 蒲公英,fir,appstore 三個平台,上傳 IPA.

下面使用的三個上傳命令,最好先提前在機器上實驗可以正常用再構建。

上傳 bugly

進行完所有操作後,對於產物做一次保存,需要時可以用上。

首先將文件壓縮

通過 FTP 插件,把 zip 文件上傳到歸檔的路徑下

刪除 IPA 等文件,注意的是,當狀態為 success 才清理,避免有時上傳出問題,可以進行手動上傳。

設置構建描述

完成後,企業微信 webhook 機器人推送,效果如下:

這里設置成可選項,避免頻繁打擾其它同事。腳本如下:

[1] https://juejin.im/post/6844903843994533896
[2] https://www.cnblogs.com/zhou--fei/p/11371019.html
[3] https://www.jianshu.com/p/4f4d16326152
[4] https://www.jianshu.com/p/f50053d50436
[5] https://dengweijun.com/2018/12/26/Xcode%E8%87%AA%E5%8A%A8%E6%89%93%E5%8C%85%E9%82%A3%E4%BA%9B%E4%BA%8B/

❸ xcode Cocoapods 編譯問題

選中Zxing的target,然後build

❹ iOS中如何提高上傳大文件的效率

一個適當的插件架構可以意味著一個完全不同的IDE。Sublime Text和TextMate就是很好的例子。你知道Xcode也支持插件嗎?如果你不這樣做我也不會感到吃驚,蘋果並沒有把太多精力投入到廣告Xcode中的這一部分。事實上,很少有文獻可用於為Xcode創建插件。

幸運的是,這並未能阻止開發者為Xcode開發插件。有著廣泛的插件使得Xcode上的工作更加輕松和愉快,填補了蘋果留下的空白領域。在這個快速貼士,我會告訴你一些我每天使用的插件。
Alcatraz
安裝Xcode插件通常是挺痛苦的,但用了Alcatraz就不再如此了。今年早些時候,Alcatraz達到一個重要的里程碑,1.0,現在它和Xcode5兼容了。如果你還沒有安裝Alcatraz呢,那我鼓勵你先這樣做。
1XcodeColors
XcodeColors是Robbie Hanson開發的一個插件,給Xcode的控制台增加了顏色。這個插件與CocoaLumberjack組合特別好用,那是一個很棒的日誌庫,也是Robbie寫的。這種組合一直是我多年來真正的救星,它讓調試更輕松更好,並色彩繽紛。

2XToDo
這個插件不僅凸顯TODO,FIXME,???,以及!!!注釋,也在便利列表呈現他們。

3Backlight
一些插件可能看起來微不足道或者很簡單,但如果你認同他們的價值就太棒了。Backlight是這樣的一個插件。它所做的一切,就是突出顯示當前正在編輯的行。很簡單,也很有用。

4CocoaPods
CocoaPods是事實上的iOS和OS X開發的依賴管理器。如果你不曾使用CocoaPods,那我鼓勵你嘗試一次。十分鍾內本教程可以讓你上手。

Xcode還有一個CocoaPods的插件,這使得整合CocoaPods更容易。該CocoaPods的插件增加了一個CocoaPods菜單到Xcode的產品菜單。如果你不喜歡命令行,那麼你一定會喜歡這個插件。

5 ACCodeSnippetReposito
像管理Xcode的插件一樣,在Xcode里管理代碼段是不容易的。Arnaud Coomans分享了這個意見,並創建了一個漂亮的插件,用Git倉庫來同步Xcode的代碼片段。

美妙之處在於,你已經在Xcode手動添加的代碼片段是不會被改變的。從Git倉庫導入代碼片段只需要點擊幾下。要備份你的代碼片段,這樣也是一個聰明的方法,或者如果您使用多台機器,這給了它們一個中心位置。

6GitDiff
圖形用戶界面使git對開發者不顯得那麼嚇人了。而像Tower和SourceTree這樣的程序是偉大的,我常常想知道我目前工作的文件中有什麼改變,在Xcode的代碼編輯器。這個GitDiff插件,使這一切成為可能,多麼偉大。

它是Xcode的代碼編輯器的一個微妙的補強,加上了足夠的可見信息以了解上次提交以來發生了什麼變化。

7KSImageNamed
自動完成是很大的,特別是如果你正在寫Objective-C。如果Xcode能自動完成文件名難道不會很偉大嗎?比如圖像文件的名稱。
Kent Sutherland創建的KSImageNamed插件正是這么做的。它不僅將節省您的時間,這將確保錯別字是過去的事情了。

8Peckham
添加import語句有時候挺讓人討厭的。如果您需要導入一個pod的頭文件,例如,然後Xcode的自動完成功能不會為你工作。Peckham插件解決了這個問題。

按Command-Control-P,輸入您要查找的頭文件的幾個字母,在插件給出的選項列表中選擇它。這是一個偉大的對Xcode的自動完成功能的補強。

9FuzzyAutocomplete
說到自動完成的,大多數iOS和OS X開發者已經開始依賴於Xcode的強大的自動完成功能。然而,Xcode的實現自動完成還不完美,你並不總是給出你所期望或想要的建議。

Jack Chen和Leszek Ślażyński已經創造了FuzzyAutocomplete插件來替代之。它利用Xcode用於其快速打開的演算法,這在模式匹配方面做得很出色。它工作得非常,非常好。

10Xcode的Dash
Dash是一個用於瀏覽文檔的了不起的軟體。我每天都用它。我更喜歡的是它的集成到Xcode,感謝它的Xcode插件。你可能yij知道,你可以按住Option鍵單擊Xcode的編輯器中的符號去跳到文檔。不過,我不是Xcode的文檔瀏覽器的忠實粉絲,而這也正是Dash插件工作的地方。

該插件打開Xcode的文檔瀏覽器,而不是Dash,如果你按住Option鍵點擊符號。不僅是Dash速度非常快,它也集成了CocoaDocs。例如,如果你按住Option鍵點擊AFNetworking庫的方法,那麼Dash將顯示該方法的文檔。我愛這個功能。

❺ iOS開發~CocoaPods最新使用詳細說明

一、概要
iOS開發時,項目中會引用許多第三方庫,CocoaPods(https://github.com/CocoaPods/CocoaPods)可以用來方便的統一管理這些第三方庫。

二、安裝
CocoaPods是用Ruby實現的,要想使用它首先需要有Ruby的環境。幸運的是OS X系統默認已經可以運行Ruby了,因此我們只需執行以下命令:
註:身在天朝的我們經常被牆在國內,程序員看不翻出去看看的話永遠不知道外邊的世界是多麼的精彩。為了下載速度,我們得換鏡像(用淘寶的鏡像去安裝)

$ gem sources -l
$ gem sources --remove https://rubygems.org/ <span class="comment">//移除自帶的鏡像</span>
$ gem sources -a https://ruby.taobao.org/
$ gem sources -l // 查看本地的鏡像是不是換成淘寶的了
最後,執行下面的命令,如果網路暢通的話就大功告成了(安裝的時候,會讓你輸入你的mac的密碼,輸入後,按Enter鍵。註:你要是不知道密碼的話,試試123 ,或許有奇跡哦)

gem install cocoapods
至此安裝就完成了,我們可以嘗試搜索一個第三方類庫:

pod search AFNetworking
你會發現搜出git上的跟它相關的信息

三、使用
使用CocoaPods的第一步,是在當前項目下,新建一個Podfile文件:

touch Podfile
然後利用vim打開Podfile文件編輯,加入你想要使用的類庫,格式如下:

vim Podfile //打開文件
輸入:
<pre name="code" class="ruby"><pre><span style="font-family:'courier new', courier;font-size:12px;"><span style="color:#000000;">platform :ios</span></span>

pod 'AFNetworking', '~> 2.3.1'

輸入完上面的東西後,先按esc停止編輯,再按:號,輸入wq,點enter鍵。(創建完成)

最後一步,執行命令:

pod install
當終端出現類似下面的提示後,就代表成功了:

[!] From now on use `XXXXX.xcworkspace`.

註:

關於Podfile文件編輯時,第三方庫版本號的各種寫法:

pod 『AFNetworking』 //不顯式指定依賴庫版本,表示每次都獲取最新版本
pod 『AFNetworking』, 『2.0』 //只使用2.0版本
pod 『AFNetworking』, 『>2.0′ //使用高於2.0的版本
pod 『AFNetworking』, 『>=2.0′ //使用大於或等於2.0的版本
pod 『AFNetworking』, 『<2.0′ //使用小於2.0的版本
pod 『AFNetworking』, 『<=2.0′ //使用小於或等於2.0的版本
pod 『AFNetworking』, 『~>0.1.2′ //使用大於等於0.1.2但小於0.2的版本,相當於>=0.1.2並且<0.2.0
pod 『AFNetworking』, 『~>0.1′ //使用大於等於0.1但小於1.0的版本
pod 『AFNetworking』, 『~>0′ //高於0的版本,寫這個限制和什麼都不寫是一個效果,都表示使用最新版本

❻ 使用pod打開xcodeproj為什麼報錯

一、什麼是CocoaPods
CocoaPods是iOS項目的依賴管理工具,該項目源碼在Github上管理。開發iOS項目不可避免地要使用第三方開源庫,CocoaPods的出現使得我們可以節省設置和第三方開源庫的時間。
在使用CocoaPods之前,開發項目需要用到第三方開源庫的時候,我們需要
1.把開源庫的源代碼復制到項目中
2.添加一些依賴框架和動態庫
3.設置-ObjC,-fno-objc-arc等參數
4.管理他們的更新
在使用CocoaPods後,我們只需要把用到的開源庫放到一個名為Podfile的文件中,然後執行pod install.Cocoapods就會自動將這些第三方開源庫的源碼下載下來,並且為我們的工程設置好響應的系統依賴和編譯參數。
二、CocoaPods的原理
CocoaPods的原理是將所有的依賴庫都放到另一個名為Pods的項目中,然後讓主項目依賴Pods項目,這樣,源碼管理工作都從主項目移到了Pods項目中。Pods項目最終會編譯成一個名為libPods.a的文件,主項目只需要依賴這個.a文件即可。
三、CocoaPods的安裝
CocoaPods可以方便地通過Mac自帶的RubyGems安裝。
打開Terminal,然後鍵入以下命令:
$ sudo gem install cocoapods
執行完這句如果報告以下錯誤:
ERROR: Could not find a valid gem 'cocoapods' (>= 0), here is why:
Unable to download data from https://rubygems.org/ - Errno::ETIMEDOUT: Operation timed out - connect(2) (https://rubygems.org/latest_specs.4.8.gz)
ERROR: Possible alternatives: cocoapods
這是因為ruby的軟體源rubygems.org因為使用亞馬遜的雲服務,被我天朝屏蔽了,需要更新一下ruby的源,過程如下:
$ gem sources -l (查看當前ruby的源)
$ gem sources --remove https://rubygems.org/
$ gem sources -a https://ruby.taobao.org/
$ gem sources -l
如果gem太老,可以嘗試用如下命令升級gem
$ sudo gem update --system
升級成功後會提示: RubyGems system software updated
然後重新執行安裝下載命令
$ sudo gem install cocoapods
這時候應該沒什麼問題了
接下來進行安裝,執行:
$ pod setup
Terminal會停留在 Setting up CocoaPods master repo 這個狀態一段時間,是因為要進行下載安裝,而且目錄比較大,需要耐心等待一下.如果想加快速度,可使用cocoapods的鏡像索引.(文章末尾附使用鏡像索引的方法)

❼ Android有沒有像類似於 IOS 的 cocoapods這樣的包管理工具

每種語言發展到一個階段,就會出現相應的依賴管理工具, 或者是中央代碼倉庫。比如

Java: maven,Ivy
Ruby: gems
Python: pip, easy_install
Nodejs: npm
隨著iOS開發者的增多,業界也出現了為iOS程序提供依賴管理的工具,這個工具叫:CocoaPods。

CocoaPods簡介

CocoaPods是一個負責管理iOS項目中第三方開源代碼的工具。CocoaPods項目的源碼在Github上管理。該項目開始於2011年8月12日,經過一年多的發展,現在已經超過1000次提交,並且持續保持活躍更新。開發iOS項目不可避免地要使用第三方開源庫,CocoaPods的出現使得我們可以節省設置和更新第三方開源庫的時間。

拿我之前開發的粉筆網iPhone客戶端為例,其使用了14個第三方開源庫。在沒有使用CocoaPods以前,我需要:

把這些第三方開源庫的相關文件復制到項目中,或者設置成git的submole,然後這些開源庫通常需要依賴系統的一些framework,我需要手工地將這些framework一一增加到項目依賴中,比如ASI網路庫就需要增加以下framework: CFNetwork, SystemConfiguration, MobileCoreServices, CoreGraphics and zlib。
對於RegexKitLite這個正則表達式庫,我還需要設置-licucore的編譯參數
手工管理這些依賴包的更新。
這些體力活雖然簡單,但毫無技術含量並且浪費時間。在使用CocoaPods之後,我只需要將用到的第三方開源庫放到一個名為Podfile的文件中,然後執行pod install。CocoaPods就會自動將這些第三方開源庫的源碼下來,並且為我的工程設置好相應的系統依賴和編譯參數。

熱點內容
手機優酷緩存視頻格式 發布:2025-05-15 04:13:45 瀏覽:209
公益電影分鏡頭腳本插畫 發布:2025-05-15 04:08:37 瀏覽:960
數據壓縮編碼 發布:2025-05-15 03:58:44 瀏覽:725
java字元為空 發布:2025-05-15 03:57:11 瀏覽:546
速訊安卓哪裡下載 發布:2025-05-15 03:55:02 瀏覽:48
緩存區數據讀寫原理 發布:2025-05-15 03:39:57 瀏覽:585
編譯器生成的是二進制文件嗎 發布:2025-05-15 03:38:42 瀏覽:955
運營為什麼區分ios和安卓 發布:2025-05-15 03:30:02 瀏覽:630
主播網站源碼 發布:2025-05-15 02:50:56 瀏覽:168
中文編程語言有哪些 發布:2025-05-15 02:48:59 瀏覽:536