代码之家  ›  专栏  ›  技术社区  ›  Dan Walker

iPhone应用减去应用商店?

  •  193
  • Dan Walker  · 技术社区  · 16 年前

    只要我仍然可以运行使用官方SDK创建的应用程序,iPhone是否必须被越狱并不重要。由于我不想进入的原因,我不能让这个程序通过应用商店。

    10 回复  |  直到 9 年前
        1
  •  187
  •   Jason Weathered    15 年前

    官方开发者计划

    对于标准的iPhone,您需要支付99美元/年才能成为开发者计划的成员。然后,您可以使用临时系统将应用程序安装到多达100台设备上。开发人员程序有详细信息,但它涉及将每个设备的UUID添加到应用程序包中。UUID可以使用 Ad Hoc Helper 可从应用商店获得。有关此方法的更多详细信息,请参阅Craig Hockenberry的 Beta testing on iPhone 2.0

    越狱iPhone

    对于越狱iPhone,您可以使用以下方法,我已经使用 AccelerometerGraph

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

    1. 启动Keychain Access.app。在未选择任何项目的情况下,从Keychain菜单中选择Certificate Assistant,然后创建证书。

      姓名:iPhone开发者

      让我覆盖默认值:是的

    2. 有效期:3650天

    3. 单击“继续”

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

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

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

    通过WiFi手动部署

    以下步骤需要: openssh uikittools 首先安装。代替 jasoniphone.local 使用目标设备的主机名。请确保在两个服务器上都设置您自己的密码 mobile root 安装SSH后的用户。

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

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

    2. build/Release-iphoneos

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

    3. ssh mobile@jasoniphone.local uicache

      只有在添加或删除应用程序时才能执行此操作。更新的应用程序只需要重新启动。

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

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

    ssh root@jasoniphone.local rm -r /Applications/AccelerometerGraph.app &&
    ssh mobile@jasoniphone.local uicache
    
        2
  •  18
  •   logancautrell    13 年前

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

        3
  •  13
  •   ohho    14 年前
    • 上传到一个破解网站
        4
  •  8
  •   tshepang Arrie    10 年前

    借助 this post ,我制作了一个脚本,将通过应用程序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
    

    <?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>
    

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

        5
  •  7
  •   Community basarat    4 年前

    跳过 应用商店,你不必越狱。

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

    Xcode 7和 直接在他们的苹果设备上。只需使用您的Apple ID登录, 并将你的想法转化为一款可以在iPad上触摸的应用程序, iPhone或苹果手表。下载Xcode 7测试版并亲自尝试 今天不需要计划成员资格。

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

    XCode 7现已发布:

    现在每个人都可以运行和测试自己的应用程序 Mac、iPhone、iPad、iPodtouch或Apple Watch,不收取任何费用,也不收取任何费用 计划加入。您只需将您的免费苹果ID输入 商店或iTunes。一旦你完善了你的应用程序,苹果的开发者 该程序可以帮助您在应用程序商店中获得它。

    看见 Launching Your App on Devices 在设备上安装和运行。

        6
  •  4
  •   August    16 年前

    值得注意的是,如果你选择越狱路线,那么iPhone操作系统的更新很可能会扼杀你运行这些应用程序的能力。我会走官方路线,付99美元才能获得授权。除了不必担心你的应用程序被破坏之外,你还可以(如果你选择的话)在商店里发布你的应用程序。

        7
  •  2
  •   David Airapetyan    13 年前

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

        8
  •  1
  •   Rev316    15 年前

    *更改/注释以使其适用于 iPhone SDK 3.1.2

    通过WiFi手动部署

    2) 请确保在修改Info.plist后重新启动Xcode

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

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

    Mac用户使用PwnageTool 3.1.4进行越狱(DL通过torrent)非常有效。

        9
  •  1
  •   logancautrell    13 年前

    如果你修补 /Developer/Platforms/iPhoneOS.platform/Info.plist com.apple.debugserver 而且,在Xcode中构建时,您可以使用任何包标识符而不会出错。解决办法是恢复 Info.plist .