今天通过网络安装企业证书发布的程序,发现下载完后就直接消失了。通过xcode 看了下 device log
报错如下:
console:Jul 24 09:16:12 iPad installd[3162] <Error>: entitlement 'application-identifier' has value not permitted by a provisioning profile
查了下官网的资料,找到原因,发现plist中的bundle-identifier和程序中的bundle-identifier没对应上。
具体原因分析如下:
Mismatch between App ID and Bundle Identifier
If your App ID (in your provisioning profile) and your Bundle Identifier (in your Info.plist
) do not match, your application won't launch on the device. Check your Console log for an "entitlement 'application-identifier' has value not permitted by provisioning profile
" error to confirm this mismatch (see Listing 1).
Listing 1 A Console Log error pointing to a App ID/Bundle ID mismatch.
Mon Sep 22 19:38:20 unknown securityd[391] <Error>: mobile_installat[399] SecItemCopyMatching: missing entitlement |
Mon Sep 22 19:38:20 unknown mobile_installation_proxy[399] <Error>: entitlement 'application-identifier' has value not permitted by a provisioning profile |
Mon Sep 22 19:38:20 unknown mobile_installation_proxy[399] <Error>: verify_executable: Could not validate signature: e8008016 |
|
[...] |
|
Mon Sep 22 19:38:20 unknown mobile_installation_proxy[399] <Error>: install_application: Could not preflight application install |
Mon Sep 22 19:38:20 unknown mobile_installation_proxy[399] <Error>: handle_install: Installation failed |
To resolve this, make sure your App ID and your Bundle Identifier match. For example, if your App ID is A1B2C3D4E5.com.yourcompany.productname
then your Bundle Identifier needs to becom.yourcompany.productname
.
参考地址:http://developer.apple.com/library/ios/#technotes/tn2242/_index.html
在发布企业应用的时候一定要注意,发布用的plist中的bundle-identifier,程序中info.plist中的bundle-identifier,网上注册的AppId必需要一致才行。