目前编写的ipa,需要entilements.plist包含com.apple.itunesstored.private,在越狱机可以实现正常运行。但迁移到非越狱机,重新用企业签名打包,提示无法安装到机器上。查找原因说是可执行文件的entilement与企业签名的entitlement不一致,查看企业签名的制作过程,只有 App IDs这一步与entilement有关,entitlement都限制死了,无法生成带有com.apple.itunesstored.private这样的entiltement的moblieprovision文件。有办法让这样的entitlement的ipa在非越狱机成功运行吗?
ent是provision里限制好的
对,而且provision使用的还是苹果签名,无法篡改. 那就是非越狱机无法使用特殊权限的ipa了吗?
理论上来说是这样。不过我并不玩企业签名并不能100%打包票。
常见的做法是使用另一个没有ent限制的私有API来实现,不过你这个API我觉得应该没有等价的替代
问一个问题哈,从AppStore下载下来的ipa里面都没有包含embeded.mobileprovision这个文件,提交到AppStore的ipa不也是要打签名吗
那个是App Store重新签名的,在CodeSig和可执行文件内部有对应的数据
所以重签名的时候,要把embeded.mobileprovision这个文件加进去?
企业签名是要的.
可执行文件可以看到,但就是看不到embeded.mobileprovision.
我下载的也没有embeded.mobileprovision这个文件
可以签在app内部应该。
Naville-Zhang-Retina-MacBook-Pro-2:Social468 Naville$ codesign --display --verbose=4 /Users/Naville/Desktop/RPHunter/nHBLS/data/Library/MobileSubstrate/DynamicLibraries/hblso.dylib
Executable=/Users/Naville/Desktop/RPHunter/nHBLS/data/Library/MobileSubstrate/DynamicLibraries/hblso.dylib
Identifier=hblso.dylib.ba964c90.unsigned
Format=Mach-O universal (armv7 armv7s arm64)
CodeDirectory v=20001 size=374 flags=0x0(none) hashes=13+2 location=embedded
Hash type=sha1 size=20
Hash choices=sha1
CDHash=da652470f848ef65b5c8bc4b3e079ce2d8e2e021
/Users/Naville/Desktop/RPHunter/nHBLS/data/Library/MobileSubstrate/DynamicLibraries/hblso.dylib: no signature
Info.plist=not bound
TeamIdentifier=not set
Sealed Resources=none
Internal requirements count=0 size=12
找了个有合法签名的app做演示
Naville-Zhang-Retina-MacBook-Pro-2:Social468 Naville$ codesign --display --verbose=4 /Applications/1Password.app/Contents/MacOS/1Password
Executable=/Applications/1Password.app/Contents/MacOS/1Password
Identifier=com.agilebits.onepassword-osx
Format=app bundle with Mach-O thin (x86_64)
CodeDirectory v=20200 size=18913 flags=0x200(kill) hashes=936+5 location=embedded
Hash type=sha1 size=20
Hash choices=sha1
CDHash=d3fa49a8d3411147c7dbe9349567e1ab64d80c10
Signature size=4169
Authority=Apple Mac OS Application Signing
Authority=Apple Worldwide Developer Relations Certification Authority
Authority=Apple Root CA
Info.plist entries=31
TeamIdentifier=2BUA8C4S2C
Sealed Resources version=2 rules=12 files=2537
Internal requirements count=1 size=232
爱思助手,XY苹果助手(至尊版),都可以不使用企业签名就安装到非越狱机上了。而且他们的可执行文件要脱壳,和AppStore下载下来的ipa很相似。知道是怎么回事吗
这种不是和快用差不多吧?
把授权安装到你的手机上, 你就可以使用.
但是很麻烦, 这一类账号封的超级快,然后你升级, 还必须使用爱思来升级.
包括安装爱思程序的企业证书, 也基本是一周左右封一个.
你去下爱思助手的IPA来 看看 ,她里面没有embedded.mobileprovision.在IOS9.2.1系统装上,也没有提示描述文件。这就可以排除是使用企业签名的方式了。
你是指爱思的自身安装的IPA还是通过爱思来安装的的应用的IPA?
这个先讲清楚.
爱思的自身安装的IPA
我是用PC端的爱思助手去安装移动端的。
能下载的到吗?可以用抓包工具抓出IPA的下载地址。