如果我在 Mac 上创建应用程序,有什么方法可以让它在 iPhone 上运行而无需通过应用程序商店?

iPhone 是否越狱并不重要,只要我仍然可以运行使用官方 SDK 创建的应用程序即可。由于一些我不想透露的原因,我无法让这个程序通过应用程序商店。

有帮助吗?

解决方案

官方开发者计划

对于标准 iPhone,您需要每年支付 99 美元才能成为开发者计划的成员。然后,您可以使用临时系统将应用程序安装到最多 100 台设备上。开发人员计划有详细信息,但它涉及将每个设备的 UUID 添加到您的应用程序包中。使用以下方法可以最轻松地检索 UUID 临时助手 可从 App Store 获取。有关此方法的更多详细信息,请参阅 Craig Hockenberry 的 iPhone 2.0 Beta 测试 文章

越狱的iPhone

对于越狱的iPhone,可以使用以下方法,这是我亲自测试过的 加速度计图 iPhone OS 3.0 上的示例应用程序。

创建自签名证书

首先,您需要创建一个自签名证书并修补您的 iPhone SDK 以允许使用此证书:

  1. 启动钥匙串访问应用程序。在未选择任何项目的情况下,从“钥匙串”菜单中选择“证书助手”,然后选择“创建证书”。

    姓名:iPhone 开发者
    证书类别:代码签名
    让我覆盖默认值:是的

  2. 单击继续

    有效性:3650天

  3. 单击继续

  4. 空白电子邮件地址字段。

  5. 单击继续直至完成。

    您应该看到“此根证书不受信任”。这是预料之中的。

  6. 设置iPhone SDK以允许使用自签名证书:

    sudo /usr/bin/sed -i .bak 's/XCiPhoneOSCodeSignContext/XCCodeSignContext/' /Developer/Platforms/iPhoneOS.platform/Info.plist

    如果您打开了 Xcode,请重新启动它以使此更改生效。

通过 WiFi 手动部署

以下步骤需要 openssh, , 和 uikittools 首先要安装。代替 jasoniphone.local 与目标设备的主机名。请务必在两个设备上设置您自己的密码 mobileroot 安装 SSH 后的用户。

要在手机上手动编译并安装您的应用程序作为系统应用程序(绕过Apple的安装系统):

  1. 项目、设置活动 SDK、设备和设置活动构建配置、发布。

  2. 正常编译您的项目(使用 Build,而不是 Build & Go)。

  3. 在里面 build/Release-iphoneos 目录中您将拥有一个应用程序包。使用您喜欢的方法将其传输到设备上的 /Applications。

    scp -r AccelerometerGraph.app root@jasoniphone:/Applications/

  4. 让 SpringBoard 知道新应用程序已安装:

    ssh mobile@jasoniphone.local uicache

    仅当您添加或删除应用程序时才需要执行此操作。更新的应用程序只需要重新启动即可。

为了让您在开发过程中更加轻松,您可以设置 SSH 密钥身份验证并将这些额外步骤添加为项目中的自定义构建步骤。

请注意,如果您希望稍后删除该应用程序,则无法通过标准 SpringBoard 接口执行此操作,您需要使用 SSH 并更新 SpringBoard:

ssh root@jasoniphone.local rm -r /Applications/AccelerometerGraph.app &&
ssh mobile@jasoniphone.local uicache

其他提示

是的,一旦您加入 iPhone 开发者计划并支付 Apple 99 美元,您就可以在最多 100 台 iOS 设备上配置您的应用程序。

  • 构建您的应用程序
  • 上传到破解网站
  • (如果您的应用程序足够好)破解版将在几分钟后发布并可供大家下载;-)

在...的帮助下 这个帖子, ,我制作了一个脚本,将通过应用程序 Installous 安装以进行快速部署:

# compress application.
/bin/mkdir -p $CONFIGURATION_BUILD_DIR/Payload
/bin/cp -R $CONFIGURATION_BUILD_DIR/MyApp.app $CONFIGURATION_BUILD_DIR/Payload
/bin/cp iTunesCrap/logo_itunes.png $CONFIGURATION_BUILD_DIR/iTunesArtwork
/bin/cp iTunesCrap/iTunesMetadata.plist $CONFIGURATION_BUILD_DIR/iTunesMetadata.plist

cd $CONFIGURATION_BUILD_DIR

# zip up the HelloWorld directory

/usr/bin/zip -r MyApp.ipa Payload iTunesArtwork iTunesMetadata.plist

上面引用的帖子中缺少的是 iTunesMetadata。如果没有这个,Installous 将无法正确安装应用程序。以下是 iTunesMetadata 的示例:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>appleId</key>
    <string></string>
    <key>artistId</key>
    <integer>0</integer>
    <key>artistName</key>
    <string>MYCOMPANY</string>
    <key>buy-only</key>
    <true/>
    <key>buyParams</key>
    <string></string>
    <key>copyright</key>
    <string></string>
    <key>drmVersionNumber</key>
    <integer>0</integer>
    <key>fileExtension</key>
    <string>.app</string>
    <key>genre</key>
    <string></string>
    <key>genreId</key>
    <integer>0</integer>
    <key>itemId</key>
    <integer>0</integer>
    <key>itemName</key>
    <string>MYAPP</string>
    <key>kind</key>
    <string>software</string>
    <key>playlistArtistName</key>
    <string>MYCOMPANY</string>
    <key>playlistName</key>
    <string>MYAPP</string>
    <key>price</key>
    <integer>0</integer>
    <key>priceDisplay</key>
    <string>nil</string>
    <key>rating</key>
    <dict>
        <key>content</key>
        <string></string>
        <key>label</key>
        <string>4+</string>
        <key>rank</key>
        <integer>100</integer>
        <key>system</key>
        <string>itunes-games</string>
    </dict>
    <key>releaseDate</key>
    <string>Sunday, December 12, 2010</string>
    <key>s</key>
    <integer>143441</integer>
    <key>softwareIcon57x57URL</key>
    <string></string>
    <key>softwareIconNeedsShine</key>
    <false/>
    <key>softwareSupportedDeviceIds</key>
    <array>
        <integer>1</integer>
    </array>
    <key>softwareVersionBundleId</key>
    <string>com.mycompany.myapp</string>
    <key>softwareVersionExternalIdentifier</key>
    <integer>0</integer>
    <key>softwareVersionExternalIdentifiers</key>
    <array>
        <integer>1466803</integer>
        <integer>1529132</integer>
        <integer>1602608</integer>
        <integer>1651681</integer>
        <integer>1750461</integer>
        <integer>1930253</integer>
        <integer>1961532</integer>
        <integer>1973932</integer>
        <integer>2026202</integer>
        <integer>2526384</integer>
        <integer>2641622</integer>
        <integer>2703653</integer>
    </array>
    <key>vendorId</key>
    <integer>0</integer>
    <key>versionRestrictions</key>
    <integer>0</integer>
</dict>
</plist>

显然,将 MyApp 的所有实例替换为您的应用程序的名称,将 MyCompany 替换为您公司的名称。

基本上,这将安装在任何安装了 Installous 的越狱设备上。设置完成后,部署速度非常快,因为它可以从任何地方安装,只需将其上传到您公司的网站,然后将文件直接下载到设备,然后将其复制/移动到 ~/Documents/Installous/Downloads.

随着即将推出的 Xcode 7,现在无需 Apple 开发人员许可证即可在设备上安装应用程序,因此现在可以 跳过 应用商店,您无需越狱您的设备。

现在每个人都可以在他们的 Apple 设备上获取他们的应用程序。

Xcode 7 和 Swift 让每个人都能更轻松地构建和运行应用程序 直接在他们的苹果设备上使用。只需使用 Apple ID 登录即可、 并将您的想法转化为可在 iPad 上触摸的应用程序、 iPhone 或 Apple Watch。下载 Xcode 7 测试版并亲自体验 今天。不需要计划会员资格。

引用自: https://developer.apple.com/xcode/

更新:

XCode 7 现已发布:

免费设备上开发 现在,每个人都可以运行和测试自己的应用程序 在设备上免费使用。您可以在一个 Mac、iPhone、iPad、iPod touch 或 Apple Watch,无需支付任何费用,也无 加入的计划。您只需将免费 Apple ID 输入到 Xcode您甚至可以使用已经用于应用程序的 Apple ID 商店或 iTunes。一旦你完善了自己的应用程序,Apple Developer 程序可以帮助您将其放到 App Store 上。

在设备上启动您的应用程序 的详细信息 在设备上安装和运行。

值得注意的是,如果你选择越狱,iPhone 操作系统更新可能会导致你无法运行这些应用程序。我会走官方路线并支付 99 美元以获得授权。除了不必担心您的应用程序被破坏之外,您还有机会(如果您选择)在商店中发布您的应用程序。

按照@Jason Weathered 描述的方式将应用程序复制到 iPhone 后,请确保应用程序“chmod +x”,否则它将无法运行。

*使其适用的更改/注释 Xcode 3.2.1iPhone SDK 3.1.2

通过 WiFi 手动部署

2)修改Info.plist后一定要重启Xcode

3)找不到“uicache”命令,使用killall -HUP SpringBoard对我来说效果很好。

除此之外,我可以确认这工作正常。

Mac 用户使用 PwnageTool 3.1.4 非常适合越狱(通过 torrent 进行深度学习)。

如果你打补丁 /Developer/Platforms/iPhoneOS.platform/Info.plist 然后尝试使用 Apple 提供的真实开发配置文件来调试设备上运行的应用程序,它可能无法正常工作。症状是奇怪的错误消息 com.apple.debugserver 并且您可以使用任何包标识符,而在 Xcode 中构建时不会出现错误。解决办法就是恢复 Info.plist.

您可以使用 应用程序盒, ,如果您想从任何其他浏览器安装,则使用您的 Dropbox 帐户向您分发临时和企业应用程序的 Mac 应用程序。

https://github.com/vineetchoudhary/AppBox-iOSAppsWirelessInstallation/releases


选项

存档并上传 IPA

  • 只需选择项目/工作区即可 档案 -> 制作IPA -> 上传ipa -> 发送邮件 -> 和 关闭Mac

仅上传 IPA

  • 只需选择 IPA 文件即可 上传ipa -> 发送邮件 -> 和 关闭Mac

特征

  • 保持相同的链接
    • 此功能将为使用相同捆绑包标识符上传的所有未来 ipa 保留相同的短网址。
    • 如果启用此选项,您还可以使用相同的 url 下载以前的版本。
  • 自动电子邮件 应用程序分发链接
  • 自动关机Mac 分配后
  • 最大上传大小 => 等于您的 Dropbox 帐户存储空间
  • 上传的应用程序过期 => 直到您从 Dropbox 中删除
  • 每个应用程序的安装量 => 无限
  • 仪表板*

    * 将在未来版本中提供


AppBox 与 Diawi

截屏

上传国际音标

存档并上传 IPA

上传国际音标

在这里尝试一下 https://github.com/vineetchoudhary/AppBox-iOSAppsWirelessInstallation/releases

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top