ios重签名工具 ios重签名原理124

  企业签名具体步骤:

  1、登录亥著账号,点击左侧导航栏里的“企业证书签名”

  

  

  

  2、上传自己的应用,选择合适的服务类型,进行签名即可

  

  亥著五一活动,企业签名500起

  如何对iOS应用进行修改并重新签名

  1.预先准备始程序提交AppStore前需要AppID效发布证书及效Provisioningprofile面看看各自作用Step1:AppID(应用ID)AppID识别同应用程序唯标示符每app都需要AppID或者app标识目前两种类型App标识:精确AppID(explicitAppID)通配符AppID(wildcardAppID)使用通配符AppID用构建安装程序尽管通配符AppID非便精确AppID需要尤其App使用iCloud或者使用其iOS功能候比GameCenter、PushNotifications或者IAP确定AppID适合项目我推荐读苹关于主题文档:TechnicalNoteQA1713Step2:DistributionCertificate(发布证书)iOS应用都安全证书用于验证发者身份签名向AppStore提交app需要创建iOSprovisioningprofile首先需要创建distributioncertificate(发布证书)程类似于创建developmentcertificate(发证书)已经实体设备测试App创建developmentcertificate已经熟悉熟悉我建议读苹关于signingcertificatesprovisioningprofiles详细指导Step3:ProvisioningProfile(配置文件)旦创建AppIDdistributioncertificate创建iOSprovisioningprofile便AppStore销售App能使用adhocdistribution相同provisioningprofile需要AppStore销创建单独provisioningprofile使用通配符AppIDapp使用相同provisioningprofileStep4:BuildSettings(设置)配置AppID、distributioncertificateprovisioningprofile已经完候配置XcodetargetbuildsettingsXcodeProjectNavigatortargets列表选择target打顶部BuildSettings选项更新CodeSigning跟前创建distributionprovisioningprofile相匹配近添加provisioningprofiles候立马buildsettingsCodeSigning看重启Xcode解决问题配置TargetBuildSettingsStep5:DeploymentTarget(部署目标)非必要说deploymenttargetXcode每target都deploymenttarget指app运行版本旦应用AppStore效再修改deploymenttarget要考虑定更新app候提高deploymenttarget已经购买应用用户并没遇新deploymenttarget应用能用户移设备运行用户通iTunes(设备)载更新app替代设备原先版本却发现新版本能设备运行确实问题(1)决定提高现appdeploymenttarget要新版本版本注释进行说明提前告知用户至少点已经尽力阻止问题发(2)于款新app我经deploymenttarget设置近发布系统版本新iOS版本发布渗透率增速度令难置信认提高deploymenttarget失部市场说并准确比iOS6iOS6发布月超60%设备已经进行更新Android言另外事Android用户并像iOS用户热衷于更新操作系统版本【简言项目设计决定否考虑兼容低版本用户支持写代码使用ios新特性做判断if版本if新版本】新WWDC2014公布数字显示iOS7市场占率已经87%2.Assets(资源包)Step1:Icons(图标)IconApp割部要确保icon尺寸现差错iTunesArtwork:1024pxx1024px(required)iPad/iPadMini:72pxx72pxand114pxx114px(required)iPhone/iPodTouch:57pxx57pxand114pxx114px(required)120pxx120px(required)foriPhone5/iPhone5c/iPhone5sSearchIcon:29pxx29pxand58pxx58px(optional)SettingsApplication:50pxx50pxand100pxx100px(optional)Step2:屏幕截图屏幕截图作用言喻每app传5张截图虽至少需要传张能少传张图片另外需要别iPhone/iPodTouchiPad/iPadMini准备同屏幕截图工作量却能展示应用另面ShinyDevelopment发款售价6.99美元Mac软件StatusMagic节省少间StatusMagic帮状态栏放截图确位置屏幕截图icon应用给用户第觉直接关系用户购买所传屏幕截图定非实际截图看看Where’sMyWater?截图通使用策略更具吸引力说服力我连调试机利用XcodeOrganizerNewScreenshot轻松截标准图片Step3:元数据提交应用前要管理app元数据包括1应用名称、2版本号、3主要类别4简洁描述5关键词6.支持URL需要更新应用要提供新增加版本内容应用需要注册【打APP需要登录比飞信】向苹提供测试账户或者demo账户审核员能快进入app用再注册账号3.提交准备Xcode4发者提交应用程简单直接使用Xcode进行提交首先iTunesConnect创建app访问iTunesConnect使用iOS发者账号登陆点击右边ManageYourApps点击左角AddNewApp选择iOSApp完表格

  w

  ios个人开发者证书怎么重签名

  1.首先升级后的ipa标识,证书ID+BundleID,只有两者完全匹配,安装包才能覆盖安装

  

  

  2.打开ipa包,会发现_CodeSignature和embedded.mobileprovision两个文件

  

  

  3.解压ipa安装包

  

  

  4.替换证书配置文件(文件名必须为embedded,不得自定义)

  

  

  5.重签名(certifierName为重签名证书文件名,可以加证书ID后缀)

  

  

  6.打包

  

  ps:在重签名时会忽略第二步或者没有指定entitlements.plist,都会造成ipa包安装失败。

  如何重新签名修改过的苹果应用程序

  1.预先准备

  在你开始将程序提交到AppStore之前,你需要有一个AppID,一个有效的发布证书,以及一个有效的Provisioningprofile。下面来看看它们各自的作用。

  Step1:AppID(应用ID)

  AppID是识别不同应用程序的唯一标示符。每个app都需要一个AppID或者app标识。目前有两种类型的App标识:一个是精确的AppID(explicitAppID),一个是通配符AppID(wildcardAppID)。使用通配符的AppID可以用来构建和安装多个程序。尽管通配符AppID非常方便,但是一个精确的AppID也是需要的,尤其是当App使用iCloud或者使用其他iOS功能的时候,比如GameCenter、PushNotifications或者IAP。

  如果你不确定什么样的AppID适合你的项目,我推荐你读下苹果关于这一主题的文档:TechnicalNoteQA1713。

  Step2:DistributionCertificate(发布证书)iOS应用都有一个安全证书用于验证开发者身份和签名。为了可以向AppStore提交app,你需要创建一个iOSprovisioningprofile。首先需要创建一个distributioncertificate(发布证书),过程类似于创建一个developmentcertificate(开发证书)。如果你已经在实体设备上测试你的App,那么你对创建developmentcertificate就已经很熟悉了。

  如果对此不熟悉,我建议你读下苹果关于signingcertificates和provisioningprofiles的详细指导。

  Step3:ProvisioningProfile(配置文件)一旦你创建了AppID和distributioncertificate,你可以创建一个iOSprovisioningprofile以方便在AppStore中销售你的App。不过,你不能使用和adhocdistribution相同的provisioningprofile。你需要为AppStore分销创建一个单独的provisioningprofile,如果你使用通配符AppID,那么你的多个app就可以使用相同的provisioningprofile。

  Step4:BuildSettings(生成设置)

  配置AppID、distributioncertificate和provisioningprofile已经完成,是时候配置Xcode中target的buildsettings了。在XcodeProjectNavigator的targets列表中选择一个target,打开顶部的BuildSettings选项,然后更新一下CodeSigning来跟之前创建的distributionprovisioningprofile相匹配。最近添加的provisioningprofiles有时候不会立马就在buildsettings的CodeSigning中看到,重启一下Xcode就可以解决这个问题。

  配置Target的BuildSettings

  Step5:DeploymentTarget(部署目标)

  非常有必要说下deploymenttarget,Xcode中每个target都有一个deploymenttarget,它可以指出app可以运行的最小版本。不过,一旦应用在AppStore中生效,再去修改deploymenttarget,你要考虑到一定后果。如果你在更新app的时候提高了deploymenttarget,但是已经购买应用的用户并没有遇到新的deploymenttarget,那么应用就不能在用户的移动设备上运行。如果用户通过iTunes(不是设备)下载了一个更新过的app,然后替代了设备上原先的版本,最后却发现新版本不能在设备上运行,这确实是个问题。

  (1)当你决定提高现有app的deploymenttarget时,要在新版本的版本注释中进行说明。如果你提前告知用户,那么至少有一点,你已经尽力阻止问题的发生了。

  (2)对于一款新app,我经常会把deploymenttarget设置为最近发布的系统版本。因为新iOS版本发布后,渗透率的增长速度是令人难以置信的。很多人认为提高deploymenttarget会失去大部分市场,这个说法并不准确,比如iOS6,iOS6发布后一个月,超过60%的设备已经进行了更新。但对Android而言,就是另外一回事了,Android用户并不会像iOS用户那样热衷于更新操作系统版本。

  【以上简而言之,最好从项目设计时,就决定是否考虑兼容低版本用户,支持的话,写代码时使用ios新特性时最好做一下判断,if是老版本if是新版本】

  在最新的WWDC2014上,公布的数字显示,iOS7的市场占有率已经为87%

  2.Assets(资源包)

  Step1:Icons(图标)

  Icon是App中不可分割的一部分,你要确保icon尺寸不会出现差错。

  iTunesArtwork:1024pxx1024px(required)

  iPad/iPadMini:72pxx72pxand114pxx114px(required)

  iPhone/iPodTouch:57pxx57pxand114pxx114px(required)

  120pxx120px(required)foriPhone5/iPhone5c/iPhone5s

  SearchIcon:29pxx29pxand58pxx58px(optional)

  SettingsApplication:50pxx50pxand100pxx100px(optional)

  Step2:屏幕截图

  屏幕截图的作用不言而喻,你可以为每个app上传5张截图,虽然至少需要上传一张,可能很少有人会只上传一张图片。另外,你还需要分别为iPhone/iPodTouch和iPad/iPadMini准备不同的屏幕截图。这也是不小的工作量,但却能展示应用的另一面。ShinyDevelopment开发的一款售价6.99美元的Mac软件StatusMagic可以为你节省不少时间。StatusMagic可以帮你把状态栏放在截图的正确位置。

  屏幕截图和icon是应用给用户的第一感觉,直接关系到用户会不会购买。不过,你所上传的屏幕截图也不一定非得是实际的截图,看看Where’sMyWater?截图可以通过使用此策略,更具吸引力和说服力。

  当我们连上调试机以后。可以利用Xcode中Organizer中的NewScreenshot轻松的截出标准大小的图片。

  Step3:元数据在提交应用之前,要管理好app的元数据,包括1应用名称、2版本号、3主要类别,4简洁的描述,5关键词,6.支持URL。如果你需要更新应用,你还要提供新增加的版本内容。

  如果你的应用需要注册【打开APP需要登录,比如飞信】,你还得向苹果提供一个测试账户或者demo账户,这样审核人员就能很快进入app,而不用再注册账号。

  3.提交准备

  Xcode4以后,开发者提交应用的过程就简单多了,可以直接使用Xcode进行提交。首先在iTunesConnect中创建app,访问iTunesConnect,使用你的iOS开发者账号登陆,点击右边的“ManageYourApps”,点击左上角的“AddNewApp”,选择“iOSApp”,然后完成表格。

  如何对ipa文件重签

  准备

  在重签名之前要做一些准备工作。

  1.首先要下载并安装Xcode,里面有个codesign_allocate程序,在安装时/usr/bin中会多一个codesign的程序,该程序用于ipa包的签名。

  2.企业证书的Certificate文件,私钥文件,ProvisioningProfile文件等。注意企业证书一定要是iOSDistribution的类型,不能是iOSDevelopment。

  重签名步骤

  1.解压ipa

  解压ipa得到Payload/[Appname].bundle,打开bundle。

  2.删除旧的ipa签名信息

  删除bundle中的_CodeSignature文件夹,也就是删除之前ipa的签名信息。

  3.更换证书

  将bundle中旧的ProvisioningProfile删除,用我们自己的企业证书的ProvisioningProfile替代。

  注意,要将ipa包中我们的企业证书改名为embedded.mobileprovision。

  4.修改bundle内容

  此时我们可以尽情地修改bundle中的内容,例如添加一个动态库,删除一张图片等。

  注意:如果要往bundle中添加动态库,必须要先将其压缩成zip文件,在程序启动时将其解压到Documents目录下再dlopen,否则程序在启动时加载动态库文件会卡死在那里。

  5.重新签名

  在完成bundle内容的修改后,需要通过/usr/bin/codesign程序重新签名,命令如下:

  /usr/bin/codesign-f-s"iPhoneDistribution:YourCompanyName"--resource-rulesPayload/MYAPP.app/ResourceRules.plistPayload/MYAPP.app

  其中iPhoneDistribution可以从钥匙串访问中获取,就是企业证书的名字,例如下面的"iPhoneDistribution:XXXXXXXXXX":

  具体的命令示例:

  codesign-f-s"iPhoneDeveloper:XXXXXXXXXX"--resource-rulesPayload/NdCP_Game_Demo.app/ResourceRules.plistPayload/NdCP_Game_Demo.app

  这条命令的意思是:使用keychain中"iPhoneDeveloper:XXXXXXXXXX"标识的证书,根据Payload/NdCP_Game_Demo.app/ResourceRules.plist文件中的规则进行签名,如果ipa包中已经存在签名,那么将被替换,该过程生成的_CodeSignature目录将存放在Payload/NdCP_Game_Demo.app目录下。

  在命令执行后,在bundle中会生成一个新的_CodeSignature目录,里面包含了新的签名信息。

  6.重新打包成ipa

  在完成上述工作后,可以生成新的ipa进行发布。示例命令如下:

  zip-rResignTest.ipaPayload

  #注意Payload后面不能有“/”

  ?

  7.发布

  经过打包发布测试,得出结论:对修改了ipa包内容和其中的签名后,重签名的ipa文件可以在非越狱设备和越狱设备上成功安装。注意,是通过带有SSL证书的网站和Apple系统安装的(企业内部分发程序),不是通过PP助手那样的第三方工具安装的。

  如何利用开发者账号重签ipa文件,并部署到IOS设备做测试

  1.先通过TestFlight安装build

  2.再把build通过ifanbox把build导出来成为ipa文件

  3.下面就需要把ipa文件重新签名,方法有两种

  方法一:

  利用商业化工具签名,SeeTest支持把ipa重新签名,签名需要提供provision文件,和开发者证书私钥和密码

  方法二:

  自己想办法签,代码参考如下

  unzipapp.ipa

  rm-rfPayload/MyApp.app/_CodeSignature/

  cp~/Downloads/AdHoc.mobileprovisionPayload/MyApp.app/embedded.mobileprovision

  codesign-f-s"iPhoneDistribution:CompanyCertificate"--resource-rulesPayload/MyApp.app/ResourceRules.plistPayload/MyApp.app

  zip-qrapp-resigned.ipaPayload/

  其中"iPhoneDistribution:CompanyCertificate"是你证书的commonname,别的没什么要注意的。

  方法三:

  网上有推荐用一个叫iresign的工具签名,其实挺好用,该工具只能工作在mac下面

  个人推荐用方法三,但是要注意一个问题,就是iresign需要你提供四个信息,一个是ipa文件,一个是provision文件,一个是证书的commonname,最后一个是entitlements.plist文件。前三个想必大家都懂,但是第四个之前真没听过,网上资料也有限。

  请用下面的方法生成entitlements.plist文件

  /usr/libexec/PlistBuddy-x-c"print:Entitlements"/dev/stdin<<<$(securitycms-D-iproduction.app/embedded.mobileprovision)>entitlements.plist

  /usr/libexec/PlistBuddy-c'Set:get-task-allowtrue'entitlements.plist

  生成之后,再利用iresign,就可以做出一个可以被xcodeinstrument的ipa包了。

2020-09-22


上一篇:手机锁屏签名 手机锁屏签名语录唯美

下一篇:英文签名带翻译霸气 英文签名带翻译霸气超拽