在 Expo.io 中,我们如何为 ios Build 指定配置设备?

In Expo.io how can we specify the provisioning devices for ios Build?

我正在尝试使用 expo.io 构建一个 ipa 文件 - 按照说明进行操作非常简单 - 但是,每当我尝试将文件同步到真实设备时 - iPhone 7,它安装失败,提供以下消息:

"A valid provisioning profile for this executable was not found"

我决定打开 ipa 文件并查找应该具有必要配置的 embedded.mobileprovision 文件。我很惊讶在这个文件中没有找到任何东西 - 没有配置如:

   <key>ProvisionsAllDevices</key>
   <true>

甚至

 <key>ProvisionedDevices</key>
    <array>
        <string>caf2b03e4a4e1a80d9492c8bdcea0ea8df6a14a7</string>
        <string>1a5b7515ed0751d6de312f9520267f502b20eab0</string>
        <string>f4c368bb6c27119feb877e0d95d3891166ab48c8</string>
        <string>72234de7149e980a9e659e5417f764c47c5e7327</string>
    </array>

因此我想知道 - 我的 exp.json 文件中是否缺少配置?我应该将文件和 "recompact it" 更改为 zip/ipa 格式吗?

 {
  "name": "nonononnon",
  "description": "App for nononoon",
  "slug": "xxxxxxxx",
  "privacy": "public",
  "sdkVersion": "17.0.0",
  "version": "1.0.0",
  "orientation": "portrait",
  "primaryColor": "#cccccc",
  "icon": "./assets/icons/xxxx_64x64.png",
  "notification": {
    "icon": "./assets/icons/xxx_64x64.png",
    "color": "#000000"
  },
  "loading": {
    "icon": "./assets/icons/xxxxxxx.png",
    "hideExponentText": false
  },
  "packagerOpts": {
    "assetExts": ["ttf"]
  },
  "ios": {
    "supportsTablet": false,
    "bundleIdentifier": "xxxxxxxxx"
  },
  "android":{
    "package": "xxxxxxxxxxx"
  }
}

谢谢!!!

看到你的问题后,我尝试通过 xcode 在我的 phone 上安装我自己的 expo 应用程序。

我遇到了同样的错误。 看来你不能直接 运行 你的 phone 上的 ipa。 您必须先将 ipa 文件上传到 Itunes connect 进行审核,一旦获得批准,您才能将其提交到应用商店或通过 Test Flight App 在特定设备上进行测试。 您可以使用应用程序加载器上传它。

有关应用程序加载器的更多信息: https://developer.apple.com/library/content/documentation/LanguagesUtilities/Conceptual/iTunesConnect_Guide/Chapters/UploadingBinariesforanApp.html