如何生成 iPhone 模拟器构建或 .zip 文件以在 Facebook 中提交以在 iOS 中进行审核

Posted

技术标签:

【中文标题】如何生成 iPhone 模拟器构建或 .zip 文件以在 Facebook 中提交以在 iOS 中进行审核【英文标题】:How to generate iPhone simulator build or .zip file for submit in Facebook for review in iOS 【发布时间】:2015-08-11 04:13:04 【问题描述】:

我将 my_app.ipa 文件提交给 Facebook,但被 Facebook 拒绝。 并向我发送此消息“来自我们审核团队的注释 苹果手机 您能否重新提交审核,提供您的 ios 应用程序的模拟器版本,而不是 .ipa 文件?我正在 iOS 模拟器中审核您提交的内容,该模拟器需要按照以下说明构建您的应用程序:(.zip) https://developers.facebook.com/docs/ios/creating-ios-simulator-build-for-review" 但我可以创建模拟器构建的 .zip 文件。我也尝试了以下步骤

Step 1: open finder and press option+ shift+g
Step 2: paste "~/Library/Developer/Xcode/DerivedData"
Step 3: select my_app-jkfksdfhskdhfksdh some this like this folder
Step 4: my_app-jkfksdfhskdhfksdh >>Build >>Products>>Debug-iphonesimulator
Step 5: I see 2 file one is my_app(icon like rounder and 1 cross line ) and 2nd file is my_app.app.dsym

【问题讨论】:

【参考方案1】:

就我而言,我使用以下命令来构建 zip 文件 ditto -ck --sequesterRsrc —-keepParent “source" "destination"

其中source/Users/home/Library/Developer/Xcode/DerivedData/yourapp.../Build/Products/Debug-iphonesimulator/yourapp.app

destination 是您保存 .zip 文件的位置。

【讨论】:

我可以使用下面的步骤吗?我发现完成这项工作的最简单方法是: 在 xcode 中为模拟器构建并运行应用程序。转到 Xcode 左侧导航中的 Products 并按住 Control 单击(右键单击)YourApp.app 并选择 Show In Finder。 (这是您要使用的 .app)如果您想要一个 .zip,只需在应用程序上按住 Control 键单击(右键单击)并选择“Compress YourApp.app” 我不这么认为,压缩方式与命令相同,我提到的命令是直接使用它。我使用它并从 Facebook ppl 批准了我的应用程序 但我收到类似这样的错误“同上:无法归档多个来源用法:同上 [] src [... src] dst” @Stela 我也有这个错误。我意识到这是因为我的应用名称中有一个空格。为了解决这个问题,我首先执行了命令ls -1 -d -t ~/Library/Developer/Xcode/DerivedData/*/Build/Products/*-iphonesimulator/*.app | head -n 1,它显示了/some/long/path/to/my appname.app。然后,当我执行 ditto -ck --sequesterRsrc --keepParent '/some/long/path/to/my appname.app' outputfile.zip 时,我在该结果周围添加了单引号,它起作用了。 @RobP 你的回答是它为我工作的原因。我的应用名称中也有空格,这就是问题所在。但是,当我复制并粘贴您的第一个命令时,由于某种原因,它在 iphonesimulator 中随机添加了一个空格。所以,它在我的终端中作为 iphon 模拟器,我必须纠正它才能让它工作。【参考方案2】:

我使用了下面的命令,它对我有用。

ditto -ck --sequesterRsrc --keepParent /Users/mac/Library/Developer/Xcode/DerivedData/yourapp.../Build/Products/Debug-iphonesimulator/yourapp.app  /Users/mac/Desktop/yourapp.zip

您可以使用目标路径而不是 /Users/mac/Desktop/yourapp.zip

【讨论】:

【参考方案3】:

对于那些收到错误“”同上:无法存档多个来源“的人:

使用--keepParent,前面有两个破折号

ditto -ck --sequesterRsrc —-keepParent “source" "destination"

【讨论】:

这根本不是我的问题,我已经有了两个破折号。请参阅我在 muku 的回答下的评论,如果您的应用名称有内部空间,则会出现相同的错误消息。 此外,如果您从其他地方复制命令,则它们有可能被错误表征。我遇到了这个问题,我花了很长时间才找出问题所在。【参考方案4】:

    基于Facebook developer documentation,您只需要 下面的命令(记得更改你的目标路径)。

    ditto -ck --sequesterRsrc --keepParent `ls -1 -d -t ~/Library/Developer/Xcode/DerivedData/*/Build/Products/*-iphonesimulator/*.app | head -n 1` path/to/YourApp.zip
    

    要验证您的构建,请安装 ios-sim 包并运行以下命令(d 是 devicetypeid)。

    ios-sim launch /path/to/your-app.app -d iPhone-X
    

【讨论】:

这是对我有用的答案。我尝试运行 ditto -ck --sequesterRsrc —-keepParent “source" "destination" 并收到“同上:无法归档多个源”,尽管它们在我的源路径中没有空格。【参考方案5】:

你不需要做这些奇怪的事情。

您只需将应用压缩并上传即可。我已经有几个应用通过这种方式获得批准。

应用通常位于:/Users/home/Library/Developer/Xcode/DerivedData/yourapp.../Build/Products/Debug-iphonesimulator/yourapp.app

【讨论】:

【参考方案6】:

使用下面的命令。它会起作用的。更改您的应用文件的以下路径。

同上 -ck --sequesterRsrc --keepParent '/some/long/path/to/my appname.app' /Desktop/outputfile.zip

在“/Users/home/Library/Developer/Xcode/DerivedData/yourapp.../Build/Products/Debug-iphonesimulator/yourapp.app”上找到您的应用文件路径

【讨论】:

【参考方案7】:

    步骤:在模拟器中运行应用程序 在 Xcode iPhone 5 模拟器中运行您的应用程序。这会自动在 Xcode 的 DerivedData 缓存中创建一个模拟器版本。

    步骤:ZIP 模拟器构建 通过以下命令压缩模拟器构建:

同上 -ck --sequesterRsrc --keepParent ls -1 -d -t ~/Library/Developer/Xcode/DerivedData/*/Build/Products/*-iphonesimulator/*.app | head -n 1 path/to/YourApp.zip

    步骤:验证构建 您可以使用 ios-sim 实用程序 Command-line App Launcher for Simulator 来验证模拟器构建。安装后运行:

ios-sim 启动 /path/to/your-app.app

【讨论】:

以上是关于如何生成 iPhone 模拟器构建或 .zip 文件以在 Facebook 中提交以在 iOS 中进行审核的主要内容,如果未能解决你的问题,请参考以下文章

如何在构建时自动重置 iPhone 模拟器

ttf 字体在界面生成器或模拟器中不适用于 iPhone

无法为模拟器构建应用程序。在 iPhone 12 上启动应用程序时出错

为 iPhone 应用程序构建滚动视图页面

如何让任何 ionic2 项目在任何 iPhone 模拟器上运行? (来自 osX El Capitan)

如何创建使用在 iPhone 和模拟器中运行的 Jquery mob/Sencha touch 开发的应用程序