苹果真机调试步骤

IOS Xcode证书配置和ipa打包流程(附详细图文教程) IOS Xcode证书配置和ipa打包流程(附图文教程) 阅读详情

Xcode 证书生成、设置、应用,与大家分享。如果按下面步骤还不能编译成功,我手把手教你。

开发环境:

Mac OS lion 10.7.4

XCode 4.3.3

1         点击钥匙图标

2         在菜单栏中依次选择:钥匙串访问⟶偏好设置⟶证书选项卡,下面两项全部选关闭

3         生成证书请求:钥匙串访问⟶证书助理⟶从证书颁发机构请求证书

4         输入两个电子邮件地址和常用名称。电子邮件地址是你注册AppleID。

a)   常用名称输入你在苹果网站注册的名称,其它名称没试过,不知道行不行。

b)   选择“存储到磁盘”。保存后的名称应该为:CertificateSigningRequest.certSigningRequest

c)   保存到磁盘后在你的钥匙串访问窗口应该会出两个密钥,一个公钥密钥,一个专用密钥,红色部分就是你在上面输入的常用名。

5         生成Certificates证书

a)   登录开发者中心:如果不知道路径,点下面链接:

   https://developer.apple.com/ios/manage/overview/index.action

b)   选择左侧的Certificates标签,再选择右侧的:Request certificate ,在弹出的页面框最下端选择文件,上传刚刚生成的证书请求(CertificateSigningRequest.certSigningRequest),提交之后会出现Download下载按钮。生成之后先不要下载。

6         设置Devices

a)   在页面的左侧选 devices 添加你的设备

a)         输入你的手机名称,(可以在手机上通用⟶关于本机,查看手机名称)

b)         输入你的UDID  (连接你的手机到电脑,打开Xcode⟶window⟶organizer,在打开的窗口中选择 Devices)如图:最下面一行identifier就是UDID

7         设置APP IDs

a)   在页面的左侧选APP IDs,

b)   在页面右侧选择 New APP ID ,打开页面如下图,

c)   输入一个APPID描述符,这个描述符没有实际意义,就是描述你的这个APP ID 是做什么用的,如“MyDebug”,在下面一个框中输入你的应用程序ID,通常以“com.英文域名.*”这种方式命名。设置好之后提交。

注意!在这里要详细说明一下,"*"号表示所有程序都可以用此证书编译,如果后面不用*号而是用具体的名称那么这个证书只能用于和这个名称相同的程序。但是如果需要编译带发送push通知消息或需要游戏中心服务的程序必须设置成与你的程序名称相同的名子,不能用"*"。

8         在打开的页面选择你的证书类型。如图:第一项和最后一项不能选,就是因为我的ID用了*

9         设置Pass type IDs

a)   在页面的左侧选Pass type IDs,分别输入一个名称和ID,名称随便填,ID必须以pass. 开头,加域名

b)   提交之后选择 configure 来配制。

c)   点完 configure  后可能还需要点一次,相当于刷新了。

d)   在打开的页面点 continue继续,点选择文件 上传你的请求证书 (CertificateSigningRequest.certSigningRequest)提交之后会出现Download下载按钮。同样,现在不要下载。

10   生成Profile

a)   在页面的左侧选Provisioning   分别设置下面几项,ProFile Name 就是这个证书的名子,如:“MyDebug”,APP ID如果都是唯一的话,没有其它可以选择。

b)   提交之后回到Certificates 标签页

注意!如果提交之后   status 状态是 Pending 不是 Active,就重新刷新一遍,如果还不是检查上面的步骤哪里出了问题。

 

11   下载AppleWWDRCA.cer证书

a)   打开Certificates 标签页,下载AppleWWDRCA.cer证书,如图

 

b)   下载之后双击进行安装,钥匙串类型选“登录”

12   下载 ios_development.cer证书安装,如下图

安装完之后会出现下面如图两个证书,此处为了清楚,删除了上面生成的两个密钥,在自己机器上千万别删除。

13   下载Pass IDs证书

打开Pass Type标签页下载安装。

14   下载用于编译的证书

a)   打开Provisioning 下载,这个证书不要双击安装。安装方法如下:

b)   连接你的iPhone到电脑;

c)   将你的Xcode图标拖到Doc上;

d)   拖动你的证书到Xcode上立即释放。

e)   在organizer窗口Devices标签中下面两个位置就会出现你的证书名称。并且 Status状态一定会绿色。到次证书就设置完成,下面继续说使用证书。

15   打开Xcode新建一个工程。

a)   在左侧中找到xxxx-info.list文件,设置右侧“Bundle identifier”的值,将原来的xxxx.${PRODUCT_NAME:rfc1034identifier} 替换为你在页面里设置的值如com.英文域名.${PRODUCT_NAME:rfc1034identifier1}

b)   选中左侧的工程图标,如下图所示位置设置你的证书,如右侧红线部分。

16   在Xcode的左上角选择你的设备如图,然后点击最左边那个三角型,这时你的iPhone上就会出现你的程序了。

编译证书就此设置完毕,仅供参考。欢迎各位互相交流。

在Xcode上导入已有的开发者账号进行真机调试 背景:公司项目偶尔会需要修改ios客户端的代码,联调一下下,IDE不太熟。            开发者账号是公司统一的。关键的文件有.p12文件和mobileprovision描述文件。 需要先将自己iphone的UDID添加到开发者账号拿到开发者账号的.p12和.mobileprovision文件双击p12文件,自动打开“钥匙串”工具,输入p12密码双击.mobileprovisi 阅读详情

相关推荐

在线创建苹果app IOS证书该如何添加秘钥呢

OS Development工具如何添加苹果开发者帐号(apikey)很简单只需要倆三个步骤即可完成。 打开苹果开发者官网(Sign In - Apple) 登录你的帐号进去开发者中心按如下图操作 进入People后接着点击选择“秘钥”再点击生成主秘钥共享。如果没有看到秘钥可以点(https://appstoreconnect.apple.com/access/api)快捷跳转到秘钥页面 如下图: 点击生成API秘钥,会弹出如下窗口,名称自定义填写,访问选择.

qq_16083953的博客 2009

xcode 开发者证书创建流程

这是每一个应用的独立标识,在设置项中可以配置该应用的权限,比如是否用到了PassBook,GameCenter,以及更常见的push服务,如果选中了push服务,那么就可以创建生成下面第3条所提到的推送证书,所以,在所有和推送相关的配置中,首先要做的就是先开通支持推送服务的appID;开发者证书(分为开发证书和发布证书,类型为ios Development,ios Distribution),这个是最基础的,不论是真机调试,还是上传到appstore都是需要的,是一个基证书,用来证明自己开发者身份的;

u011569892的博客 4864

关于苹果手机的真机调试

首先,你要有苹果手机,苹果电脑,硬件都有了的话请看下面的步骤 1、将你的手机连接到电脑,手机上会提示是否信任此电脑,一定要选择信任哦! 2、打开你电脑上的这个东西 然后 点击这里, 再然后 一直点这个东西,直到出现UDID,右键复制下来。 3、登陆你的开发者账号 点这个 4、然后点击这个 进去之后是这样的 第一个填用户名

Peng_Ruan的博客 2972

Xcode 证书生成、设置、应用。

转载请注明出处,希望多多交流,谢谢! Xcode 证书生成、设置、应用,与大家分享。如果按下面步骤还不能编译成功,我手把手教你。 开发环境: Mac OS lion 10.7.4 XCode 4.3.3 1 点击钥匙图标 2 在菜单栏中依次选择:钥匙串访问⟶偏好设置⟶证书选项卡,下面两项全部选关闭 ...

598

uniapp ios 真机调试 操作步骤

因苹果公司禁止企业证书用于非企业内部开发者。所以开发者无法再使用DCloud的企业证书签名的标准运行基座。运行标准基座到iOS真机设备前,需要使用开发者的证书对基座签名后才能运行。(运行到xcode模拟器不受限制)注意:HBuilderX每次升级,因为标准基座更新,都需要重新对iOS标准基座进行签名。准备步骤:1、确保usb线的连接通畅(如果无法识别时候请尝试更换数据线)2、如果windows电脑连接iOS设备,电脑需要安装”爱思助手”软件。

nelly521的博客 1844

iOS创建调试证书真机调试

众所周知,apple是一个比较封闭的生态,不同于android的随意安装,ios开发者想要看到自己开发的app成功地在自己手机上跑起来,甚至上架app store,简直是一件喜极而泣奔走相告的事情,相信每一个ios开发者,也都经历过被各种证书折磨得头疼心累得过程,而我也正在这个过程之中...现在初步弄清楚了真机调试证书的获取流程,能够让app在真机上跑起来了,赶紧记录下来。

Minecraft 4007

xcode 真机调试 需要付费吗_iOS真机调试配置

一、进入苹果开发者网站需要真机测试,首先你的apple账号必须加入了开发者计划。当然,这需要花钱,而且不便宜。个人账号$99/year,企业账号有两种,一种$99/year,一种$299/year,$299的账号不能上架app store。如果已经加入了开发者计划Paste_Image.png选择Certificates, Identifiers & Profiles进入证书管理页面。Pa...

weixin_42099815的博客 1817

苹果开发证书与uniapp基座生成步骤

随后就会生成测试的基座,不用移动以上就是uniapp真机调试生成基座的步骤了。

qq_27756989的博客 1455

真机调试

申请真机调试证书全过程,最新更新:2014-05-192014-10-16记:由于现在 itunes 更新变化较大,本文可能不能很好地解决您的问题,而我现在不负责公司的发布调试问题,暂未及时更新,请大家谅解,找到更好的资料我会与大家分享,谢谢! 苹果真机调试 provisioning Profile 真机调试证书 App ID 目录[-] 一、真机调试所需

u014221412的专栏 584

思科路由器IPv6各种路由协议配置

思科路由器IPv6路由协议配置:1、静态路由配置;2、默认路由配置;3、RIPng路由配置;4、OSPFv3路由配置。

weixin_41687096的博客 6543

【护网行动-红蓝攻防】第一章-红蓝对抗基础 认识红蓝紫

军事上的演练,是除了实战以外最能检验军队战斗力的一种考核方式,他可以模拟面对外部势力的攻击时候,如何更好的去维护国家和主权的安全。同样的,在网络上面,真实环境下的网络攻防演练也是检验一个单位,企业网络防御能力,发现潜在危险最好的方法。1.政策要求2安全威胁驱动当前,我国关键信息基础设施面临的网络安全形势严峻复杂,网站平台大规模数据泄露事件频发,生产业务系统安全隐患突出,甚至有的系统长期被控面对高级持续性的网络攻击,防护能力十分欠缺。目前,我国面临的网络安全威胁主要有以下几点。

wxh的博客 1574

XCode 真机调试

1.无证书的 测试证书生成 :https://developer.apple.com 添加新证书 下载证书 XCode -> Preferences -> Accounts. 下 Apple IDs 点击+ 添加一个 开发者账号 点击 Download Manual Profiles 按钮 2.已有证书须添加真机调试机器的 在XCode 的工具栏上 Product -> Scheme -> Edit Scheme 把Run -&...

feelinghappy的专栏 1759

Unity性能优化 - 动态图集

Unity 动态图集是 Unity 引擎中用于处理游戏纹理优化的一种技术。本文介绍了什么是动态图集,动态图集的优缺点,以及提供了一套完整的代码供大家参考。

qq_33808037的博客 4840

ios 真机调试

步骤: 一、真机调试所需材料说明 二、进入申请界面 三、添加App ID 四、添加设备(Devices) 五、添加证书(Certificates) 六、添加描述文件(Provisioning Profiles) 七、配置XCode 一、真机调试所需材料说明 在申请真机调试证书之前,先对苹果真机调试所需的文件进行说明: 苹果真机调试需要证书(Certificates)和描述文件(...

ios、Android、j2ee项目实用技能分享 156

树莓派4B玩转ROS2 Humble:Ubuntu Desktop一键安装与配置教程

本文详细介绍了在树莓派4B上安装和配置ROS2 Humble的完整教程,包括硬件准备、Ubuntu Desktop系统安装、一键部署ROS2、网络配置优化以及常见问题解决方案。通过简化安装流程和性能调优技巧,帮助开发者快速搭建机器人开发环境,充分发挥树莓派4B在ROS2应用中的潜力。

w8x9y0z1的博客 963

别再到处找离线包了!Visual Studio 2022 企业版/社区版离线安装保姆级教程(含工作负载选择指南)

本文提供Visual Studio 2022企业版/社区版离线安装的详细教程,包括工作负载选择指南和批量安装优化策略。针对网络隔离或带宽受限环境,介绍如何制作离线安装包、选择合适的工作负载组合,并分享高级技巧如增量更新和自动化部署,帮助团队高效统一开发环境配置。

weixin_28745821的博客 731

ios开发真机调试配置

一、真机调试所需材料说明 在申请真机调试证书之前,先对苹果真机调试所需的文件进行说明:  苹果真机调试需要证书(Certificates)和描述文件(Provisoning Profiles)  1、证书(Certificates) 通过苹果自带的钥匙串生成后上传到Developer中再生成来完成 2、描述文件(Provisoning Profi

迎着清晨的阳光,踏上梦想的旅程 589

解密CANoe数据回放:从BLF到ASC的格式转换与优化策略

本文深入解析CANoe数据回放中BLF与ASC格式的转换与优化策略,帮助工程师高效处理汽车电子测试数据。详细介绍了两种格式的特性、转换方法及性能优化技巧,包括CANoe内置功能、命令行自动化和第三方工具应用,提升故障诊断和系统验证效率。

weixin_28331555的博客 536

真机调试步骤

真机调试的步骤: 1.注册成为苹果开发者(99$) 2.登陆苹果开发者主页 https://developer.apple.com/membercenter/index.action 3.点击 Certificates, Identifiers & Profiles 4.点击Certificates 点击左上角的加号 选择iOS App Development >点击下一步 直...

蓝云阁主的博客 468

CANoe如何实现TLS协议

TLS,Transport Layer Security,传输层安全协议。是在传输层和应用层之间,为了保证应用层数据能够安全可靠地通过传输层传输且不会泄露的安全防护。

jasonj333 1159

Qt QCustomPlot 图形库详解及使用

QCustomPlot 是一个开源的 Qt C++ 库,专门用于创建数据图表。易于集成到 Qt 项目中。支持多种图表类型,如折线图、散点图、条形图等。提供丰富的交互功能,如缩放、平移、选择和拖动。高度可定制,支持图形的各种样式设置。// 添加第一条曲线i < 101;++i) {// 设置曲线颜色// 添加第二条曲线i < 101;++i) {// 设置曲线颜色// 设置散点样式// 添加图例。

MusicScore的博客 764

iOS申请真机调试证书-图文详解

转载:http://my.oschina.net/joanfen/blog/167730 一、真机调试所需材料说明 在申请真机调试证书之前,先对苹果真机调试所需的文件进行说明:  苹果真机调试需要证书(Certificates)和描述文件(Provisoning Profiles)  1、证书(Certificates) 通过苹果自带的钥匙串生成

KEN Bolg 4348

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

iOS 真机调试

目录[-] 一、真机调试所需材料说明 二、进入申请界面 三、添加App ID 四、添加设备(Devices) 五、添加证书(Certificates) 六、添加描述文件(Provisioning Profiles) 七、配置XCode 版权声明:本文由本人亲自一步步完成,并细心排版生成,望广大同仁尊重一下本人的劳动成果,转载请注明出处,原文地址http://my

706

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

上一篇: IOS之GDB调试命令
下一篇: 用JasperReport+iReport进行Web报表开发
临红尘
博客等级 码龄19年 10粉丝 0原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值