東川印記

一本東川,笑看爭龍斗虎;寰茫兦者,度橫佰昧人生。

XCode5.1没证书打包ipa

2014年8月27日星期三



$99每年也很贵的。。。。
1,创建证书
打开钥匙串访问
钥匙串,创建证书

名称是iPhone Developer,用于代码签名,覆盖默认值
一路可以不用改,直到完成
在钥匙串里找到他然后总是信任

证书OK

下面这个没做验证,不确定可不可行,不过好简单。
然后在Xcode里配置
Produckt—Scheme—Edit Scheme.

把Debug变成Release模式。


然后生成ipa文件Product—Build For—Profiling.

Build Success.

目录/Users/senRsl/Library/Developer/Xcode/DerivedData/HelloWorld-dukgjrfvuigszgglybmzpmphgvci/Build/Products/Release-iphonesimulator/
找到.app
。。。。没有。。。。

/Users/senRsl/Library/Developer/Xcode/DerivedData/HelloWorld-dukgjrfvuigszgglybmzpmphgvci/Build/Products/Release-iphonesimulator
/Applications/Xcode.app/Contents/Developer/Platforms


导出成功,步骤明天写。

2,修改两个配置文件
要改配置文件!
改配置文件的时候在里面改没权限,就把他拷到外面来,然后改了之后再拖回去。

编辑文件SDKSettings.plist
位置
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS7.1.sdk/SDKSettings.plist
打开,改

CODE_SIGNING_REQUIRED和ENTITLEMENTS_REQUIRED值改成NO;
再去改/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Info.plist文件
打开
空白处右键Add Row.
增加两行
PROVISIONING_PROFILE_ALLOWED和
PROVISIONING_PROFILE_REQUIRED
值都为NO
然后搜索XCiPhoneOSCodeSignContext替换为XCCodeSignContext.

这俩配置文件OK

3,下载设置脚本
然后设置gen_entitlements.py脚本

  1. localhost:workspace senRsl$ mkdir /Applications/Xcode.app/Contents/Developer/iphoneentitlements
  2. mkdir: /Applications/Xcode.app/Contents/Developer/iphoneentitlements: Permission denied
  3. localhost:workspace senRsl$ sudo -s
  4. Password:
  5. bash-3.2# mkdir /Applications/Xcode.app/Contents/Developer/iphoneentitlements
  6. bash-3.2# cd /Applications/Xcode.app/Contents/Developer/iphoneentitlements
  7. bash-3.2# curl -O http://www.alexwhittemore.com/iphone/gen_entitlements.txt
  8.   % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
  9.                                  Dload  Upload   Total   Spent    Left  Speed
  10. 100   812  100   812    0     0    917      0 --:--:-- --:--:-- --:--:--   917
  11. bash-3.2# mv gen_entitlements.txt gen_entitlements.py
  12. bash-3.2# chmod 777 gen_entitlements.py
脚本OK

4,修改项目属性
TARGETS下的项目,Buid Settings下 CODE SIGN 全部改成 Don't Code Sign.

点Project下项目,Code Signing 值全都是Iphone Developer.

点击Target项目图表,点击Buid Phases,然后菜单栏Edit—Add Build Phase—Add Run Script Build Phase.

输入脚本
  1. export CODESIGN_ALLOCATE=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/codesign_allocate
  2. if [ "${PLATFORM_NAME}" == "iphoneos" ] || [ "${PLATFORM_NAME}" == "ipados" ]; then /Applications/Xcode.app/Contents/Developer/iphoneentitlements/gen_entitlements.py "DC.${PROJECT_NAME}" "${BUILT_PRODUCTS_DIR}/${WRAPPER_NAME}/${PROJECT_NAME}.xcent";
  3. codesign -f -s "iPhone Developer" --entitlements "${BUILT_PRODUCTS_DIR}/${WRAPPER_NAME}/${PROJECT_NAME}.xcent" "${BUILT_PRODUCTS_DIR}/${WRAPPER_NAME}/";
  4. fi

5,连接设备并导出
以前连接过设备对应用做了备份,之后不连接设备也可以。。。。
可以查看连接上的设备
打开iTunes
可以查看设备安装的程序

clean 然后 重新生成
然后打开目录
/Users/senRsl/Library/Developer/Xcode/DerivedData/HelloWorld-dukgjrfvuigszgglybmzpmphgvci/Build/Products/Release-iphonesimulator
说好的.app呢。。。

拖进去

然后里面有了,再拖出来



就有了



--------
senRsl
Tongzhou,Beijing




没有评论 :

发表评论