在没有99美元的苹果证书的情况下,我如何在真正的 iPhone 设备上部署 Xcode 的 iPhone 应用程序?
你必须破解你的设备。
如果您讨论的是使用官方 SDK 构建的应用程序并直接从 xcode 部署,那么就不能这样做。
从 Cydia 下载 ldid,然后像这样使用它:
还要确保二进制文件被标记为可执行文件: chmod +x /Applications/AccelerometerGraph.app/AccelerometerGraph
chmod +x /Applications/AccelerometerGraph.app/AccelerometerGraph
不,这很简单。在 Xcode,将活动配置设置为发布。将设备从模拟器更改为设备-随便什么 SDK。如果您想直接导出到您的 iPhone,请将其连接到您的计算机。按 Build and Go。如果您的 iPhone 没有连接到您的电脑,将弹出一条消息说您的 iPhone 没有连接。
如果这适用于你: (iPhone 未连接)
转到您的项目文件夹,然后转到内部的生成文件夹。进入 Release-iphoneos 文件夹,将应用程序放入其中,拖放到 iTunes 图标上。当你同步你的 iTouch 设备时,它会把它复制到你的设备上。它也将以 iPhone 应用程序的形式出现在 iTunes 中。
希望这个能帮上忙!
附言: 如果说证书无效,只需点击文件堆栈左侧的 Xcode 项目图标,然后按下 Apple + I,或者从菜单栏获取信息。点击顶部的 Build。在“代码签名”下,更改代码签名身份——任何 iPhone OS 设备都不要签名。
没有解决办法。如果应用程序已在设备中注册,则只能临时部署它们。这会阻止您构建自己的应用程序商店。.
这实际上完全取决于不同版本所使用的 Xcode 的版本,它们使用不同的方法部署到您的 iPhone 上,而不使用配置配置文件。
Xcode 3.2.1是一个很好的版本,并且很容易分类,但是我们需要知道您使用的是什么版本。
我在任何地方都没有看到任何迹象表明,您可以在没有(付费)证书的情况下将其临时部署到真正的 iPhone 上。
有一种方法可以部署 iPhone 应用程序,而无需向苹果支付费用 你必须破解你的设备,并且按照 http://www.alexwhittemore.com/?p=398中的说明操作
我混合使用了两种方法: 杰森的和 Alex 的。有了第二个,我们就有了能够进行调试的优势。我大部分时间只是复制以下两个方法(并简化 Alex 的方法) :
更新2012年1月: 这仍然可以在 SDK 4.2.1和 iOS 5.0上运行-我刚刚在一台新的计算机和设备上测试了它!
修补您的 iPhone SDK 以允许使用此证书:
启动 Keychain Access.app。在没有选择任何项目的情况下,从 Keychain 菜单中选择“证书助理”,然后创建一个证书。
单击“继续”
空白 电子邮件地址字段。
按 继续,直到完成。
您应该看到 “这个根证书不可信”。这是预期的。
设置 iPhone SDK 以允许使用自签名证书:
sudo /usr/bin/sed -i .bak 's/XCiPhoneOSCodeSignContext/XCCodeSignContext/' /Developer/Platforms/iPhoneOS.platform/Info.plist
如果打开了 Xcode,请重新启动它以使此更改生效。
如果你在 iOS5上,那就是它了!现在试试!它可能不允许调试,但应用程序将在那里!
我对此感到非常惊讶,因为,作为 你应该知道,我不知道所有这些黑客都是关于什么的!正如我指出的那样,我所做的只是稍微改进了一下我在其他地方发现的东西。
所以,是的,整个方法的工作方式已经不一样了,我也懒得去找一个新的... ... 除了 这个,使用一个叫 Theos 的工具,但我不能经历整个过程。
最后,如果你需要 卸载它的任何原因,检查这篇文章的结尾。在我的情况下,我不得不这样做,因为我不知道为什么所有的蓝色这整个方法停止工作,我不能再关心了,因为我们已经得到了长期等待的许可证。(该死的 DUNS 数字花了这么长时间...)
.
在破解的 iPhone 上,通过添加源代码 * * http://repo.hackyouriphone.org * * 安装应用程序 应用同步
删除 SDK 对代码签名和权利的要求(我喜欢 Sed!) :
sudo /usr/bin/sed -i .bak '/_REQUIRED/N;s/YES/NO/' /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.0.sdk/SDKSettings.plist
Pay attention to the iPhoneOS5.0.sdk part. If you're, for instance, using iOS 4.2 SDK, just replace it accordingly:
iPhoneOS5.0.sdk
sudo /usr/bin/sed -i .bak '/_REQUIRED/N;s/YES/NO/' /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.2.sdk/SDKSettings.plist
Conclude the requirement removal through patching Xcode. This means binary editing:
cd /Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Plug-ins/iPhoneOS\ Build\ System\ Support.xcplugin/Contents/MacOS/ dd if=iPhoneOS\ Build\ System\ Support of=working bs=500 count=255 printf "\xc3\x26\x00\x00" >> working /bin/mv -n iPhoneOS\ Build\ System\ Support iPhoneOS\ Build\ System\ Support.original /bin/mv working iPhoneOS\ Build\ System\ Support chmod a+x iPhoneOS\ Build\ System\ Support
如果打开了 Xcode,请重新启动它,以使此更改(以及最后一项更改)生效。
打开 “项目 > 编辑项目设置”(从菜单)。单击 “建造”选项卡。 在列表中查找 “代码签名身份”及其子 “任何 iPhoneOS 设备”,并将它们都设置为条目 < em > “请勿使用密码标志”:
在此之后,您可以随意撤销第3步。至少在我的情况下,它进行得很顺利。
将 Xcode 设置为使用我们自定义的 自签证书自签证书(第一个 how-to)进行代码签名。如果您不想进行调试,可以跳过这一步:
mkdir /Developer/iphoneentitlements401 cd /Developer/iphoneentitlements401 curl -O http://www.alexwhittemore.com/iphone/gen_entitlements.txt mv gen_entitlements.txt gen_entitlements.py chmod 777 gen_entitlements.py
插入 iPhone 并打开 Xcode。打开窗口 > 组织者。从左侧的列表中选择设备,然后单击“用于开发”系统会提示您登录供应网站,单击“取消”。它是为了使合法的供应更容易,但不会使非法的非供应更加困难。
现在是 每做一个新项目,都必须完成最后一部分。转到菜单项目 > 新建阶段 > 新建运行脚本构建阶段。在窗口中,复制/粘贴以下内容:
export CODESIGN_ALLOCATE=/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/codesign_allocate if [ "${PLATFORM_NAME}" == "iphoneos" ]; then /Developer/iphoneentitlements401/gen_entitlements.py "my.company.${PROJECT_NAME}" "${BUILT_PRODUCTS_DIR}/${WRAPPER_NAME}/${PROJECT_NAME}.xcent"; codesign -f -s "iPhone Developer" --entitlements "${BUILT_PRODUCTS_DIR}/${WRAPPER_NAME}/${PROJECT_NAME}.xcent" "${BUILT_PRODUCTS_DIR}/${WRAPPER_NAME}/" fi
For the 1st part:
sudo mv -f /Developer/Platforms/iPhoneOS.platform/Info.plist.bak /Developer/Platforms/iPhoneOS.platform/Info.plist
第二部分:
sudo mv -f /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.0.sdk/SDKSettings.plist.bak /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.0.sdk/SDKSettings.plist sudo mv -f iPhoneOS\ Build\ System\ Support.original iPhoneOS\ Build\ System\ Support
如果你确实做了步骤3而不是步骤2,只需要相应地修改它:
sudo mv -f /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.2.sdk/SDKSettings.plist.bak /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.2.sdk/SDKSettings.plist
对于其余的,只是恢复您在 XCode 上所做的操作,并删除 /Developer/iphoneentitlements401/gen_entitlements.py,如果您愿意的话:
/Developer/iphoneentitlements401/gen_entitlements.py
sudo rm -f /Developer/iphoneentitlements401/gen_entitlements.py
昨晚我在浏览 Apple Developer 时,在供应证书中我发现了类似“签署团队成员”的东西。我认为有一种方法可以将团队成员添加到付费档案中。 您可以直接要求 AppId 所有者(付费用户)将您添加为团队成员。我不确定。还在查。
Cawas 发布的解决方案也可以很好地与 XCode4一起工作。但是,IDE 的 UI 有一些变化,所以您需要进行一些研究来找到 Run Script:)
在 Project Navigator 视图中单击项目的根项目,然后在中间窗口中选择 Target,然后单击 Build Phases 选项卡,在底部你会看到 Add Build Stage 按钮,单击并选择 Add Run Script,然后粘贴 Cawas 发布的“ codesign”Script。
为了在真正的设备上测试你的应用程序,而不是支付苹果开发者的费用(或者越狱你的设备) ,你可以使用 Xcode 7和 iOS 9支持的新的免费供应。
下面是从 文件或多或少采取的步骤(这是相当不错的,所以请阅读) :
1. 在 Xcode 添加你的苹果 ID
转到 XCode > Preferences > Account tab > Add 按钮(+) > Add Apple ID。请参阅 那些文件以获得更多帮助。
2. 单击“项目导航器”中的“常规”选项卡
3. 从“团队”弹出菜单中选择您的苹果 ID。
4. 连接您的设备并在方案菜单中选择它。
5. 单击“修复问题”按钮
如果您得到一个关于捆绑包名无效的错误,请将其更改为惟一的。
6. 运行你的应用程序
在 Xcode,单击 Build and run 按钮。
7. 在设备设置中信任应用程序开发人员
运行应用程序后,您将得到一个安全错误,因为您要运行的应用程序不是来自应用程序商店。
在你的 装置上,进入设置 > 常规 > 配置文件 > 你的苹果 ID 名 > 信任 你的苹果 ID 名 > 信任。
在你的设备上再次运行你的应用程序。
就是这样。你现在可以运行你自己的(或者任何其他你有源代码的应用程序)而不需要花费 $99美元。苹果公司,谢谢你终于允许了。