如何生成 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 批准了我的应用程序 但我收到类似这样的错误“同上:无法归档多个来源用法:同上 [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 12 上启动应用程序时出错