标签: xcode8

Swift Framework 构建针对设备失败,但针对模拟器失败

任何想法为什么构建会成功用于模拟器而不是设备?

我创建了一个 Cocoa 框架,并且能够将它添加到一个新的单页应用程序项目中,并调用框架中定义的方法。只要我将模拟器选为构建目标而不是设备,就可以构建项目。我没有试过运行它,只是构建。我正在使用 Swift 3 和 XCode 8.1。

我收到Use of unresolved identifier错误。

ios-frameworks swift3 xcode8

5
推荐指数
1
解决办法
6791
查看次数

使用 Cocoapods 时如何包含我自己的 xcconfigs?

有没有办法在Cocoapods 生成Podfilexcconfig文件中指定一个文件#include

是否有公开的方法/变量来附加这个,#include或者我是否需要阅读生成的内容xcconfig并用附加文本反刍它?

例如,在生成的Pods-SomeTarget.[configuration].xcconfig,我想看到:

#include "my_other_config.xcconfig" //<-- I want this to be inserted

FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Crashlytics" "${PODS_ROOT}/Fabric" "${PODS_ROOT}/Google-Mobile-Ads-SDK/Frameworks" "${PODS_ROOT}/GoogleAds-IMA-iOS-SDK-For-AdMob/GoogleInteractiveMediaAds/GoogleInteractiveMediaAds-GoogleIMA3ForAdMob" "${PODS_ROOT}/NewRelicAgent/NewRelicAgent" "${PODS_ROOT}/TwitterCore/iOS" "${PODS_ROOT}/TwitterKit/iOS"
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
Run Code Online (Sandbox Code Playgroud)

xcconfig cocoapods xcode8 podfile

5
推荐指数
1
解决办法
1459
查看次数

如何设置 UIScrollView 的大小?

我正在关注一些关于如何设置 UI 滚动视图的在线示例,但在设置滚动视图的大小时遇到​​了问题。我试图将大小设置为高度 = 屏幕高度和宽度 = 3x 屏幕宽度。这是我正在尝试的代码,但 Swift3 不再支持 CGSizeMake。关于如何在没有 CGSizeMake 的情况下完成此任务的任何建议?

    self.scrollView.contentSize = CGSizeMake(self.view.frame.width * 2, self.view.frame.size.height)
Run Code Online (Sandbox Code Playgroud)

谢谢!

ios swift3 xcode8

5
推荐指数
1
解决办法
2230
查看次数

将 pod 文件和应用程序扩展推送到 Github 的问题

我在 Github 上遇到了一些麻烦:

当我将我的 Xcode 项目推送到 github 时,它似乎不会推送有关 pod 和应用程序扩展的所有文件,因为当我在另一台 Mac 上拉下该项目时,我收到了很多不存在的错误原始文件。

提前致谢!

我得到的错误

git xcode github xcode8

5
推荐指数
1
解决办法
1201
查看次数

在 Xcode 8 中更改签名团队

我在 Xcode 中创建了一个项目,它的 Bundle ID 为“ com.example.programOne ”。该项目下的团队是个人的,即;美国广播公司。现在我想用不同的 Bundle ID 更改这个现有项目中的个人团队,假设com.example.programTwo和不同的个人团队,即;ABCD。我已经为 ABCD 创建了一个 Apple ID 并在首选项中与 Xcode 链接,但我无法将此项目分配给具有不同 Bundle ID 的 ABCD。

它给了我警告:

  1. 未能创建配置文件。

您在开发者网站上的帐户中没有注册设备。插入并选择一个设备让 Xcode 注册它。

  1. 找不到“ com.example.programTwo ”的配置文件

Xcode 找不到与“ com.example.programTwo ”匹配的配置文件。

xcode ios swift xcode8

5
推荐指数
1
解决办法
1万
查看次数

在 .ipa 文件中包含 .dSYM 文件

对于使用 Xcode 8 构建的 iOS,是否可以将生成的 .dSYM 文件包含到 .ipa 文件中?

我正在像这样构建我的 ipa 文件(在 Jenkins 中,但应该无关紧要)......

# Create xarchive
xcodebuild
    -workspace /sourcepath/myapp.xcworkspace
    -sdk iphoneos
    -scheme 'Distribution Production'
    -configuration 'Distribution Production'
    -archivePath '/outputpath/Distribution Production-iphoneos/myapp.xcarchive'
    'CODE_SIGN_IDENTITY=********'
    'PROVISIONING_PROFILE=App Enterprise PRD'
    DEBUG_INFORMATION_FORMAT=dwarf-with-dsym
    archive

# Create IPA
xcodebuild
    -exportArchive
    -archivePath '/outputpath/Distribution Production-iphoneos/myapp.xcarchive'
    -exportOptionsPlist '/outputpath/Distribution Production-iphoneos/export_options.plist'
    -exportPath '/outputpath/Distribution Production-iphoneos'
Run Code Online (Sandbox Code Playgroud)

这将生成一个 xarchive,最后生成一个 ipa 文件。然后 xarchive 包含 .dSYM 文件,但我希望在 IPA 文件中包含 .dSYM。这可能吗?

在创建 xarchive 时,我还尝试使用这些参数:

'DWARF_DSYM_FOLDER_PATH=/outputpath/Distribution Production-iphoneos'
'DWARF_DSYM_FILE_NAME=Distribution Production.dSYM'
Run Code Online (Sandbox Code Playgroud)

...但是 xarchive 不包含 dSYM,并且在其他任何地方都找不到。

xcode ios ipa dsym xcode8

5
推荐指数
0
解决办法
1218
查看次数

Dsymutil 警告“可执行文件中没有调试符号”

我正在努力通过尽可能多地修复导致警告的问题来消除 Xcode 中 iOS 程序的警告。值得庆幸的是,我在这方面取得了很大的成功,但是我有两个警告拒绝消失:我收到了“Dsymutil 警告”的报告,相关日志说它在尝试生成 .dSYM 文件时报告。这两个警告是:

警告:可执行文件中没有调试符号(-arch armv7)

警告:可执行文件中没有调试符号(-arch arm64)

我可以通过清理和清理构建文件夹来消除这些警告。但是,当我再次编译时,它们只会再次出现。

相关统计:

测试手机:iPhone 5s、iPhone SE

操作系统:iOS 10.3.2

开发环境:Xcode 8.3.2

仅构建活动架构:否

有谁知道为什么我会收到这些警告,他们有什么可担心的吗?我并没有真正通过 Google 或 Apple 的文档找到任何特别相关的内容。

预先感谢任何人可以提供的任何帮助。

iphone ios dsymutil xcode8

5
推荐指数
1
解决办法
2929
查看次数

如何在 iOS 上使用 AVFoundation 降低 CPU 使用率提取相机帧?

我正在研究一个需要以 60fps 访问相机帧的机器学习项目。良好的图像质量不是要求,但处理时间是要求。

在我尝试实现用于帧提取的轻处理器使用率时,我正在更改captureSession.sessionPresetAVCaptureSessionPresetLowAVCaptureSessionPresetHigh但 CPU 使用率在 iPhone 6 上保持不变:

?AVCaptureSessionPresetLow AVCaptureSessionPresetHigh

注意:在这两种情况下,我都强制使用 60 fps:

captureDevice.activeVideoMaxFrameDuration = CMTimeMake(1, 60) captureDevice.activeVideoMinFrameDuration = CMTimeMake(1, 60)

我对低预设的 192x144 分辨率没问题,但是关于如何在处理器使用率 (5-10%) 方面获得更好结果的任何线索?

avfoundation ios swift xcode8

5
推荐指数
0
解决办法
317
查看次数

在框架目标中包含一个 pod:找不到文件

我正在使用框架目标(为了更好的代码重用和 IB_Designables),并且我已经有了一个完美运行的框架目标。我也决定将其他一些类移至框架目标。

我已经设置了 pods(在这种情况下只有一个),但是每当我尝试包含 pod 时,我都会收到 not found 错误。

在此处输入图片说明

如果我也尝试使用模块方法,则没有变化:

在此处输入图片说明

问题是我也已经有了另一个框架,具有相同的设置(交叉检查所有编译器设置/链接器标志/构建阶段等),并且该框架在导入其 pod 时没有问题。

这是我的 podfile(TUComponents正在处理,TUModels是失败的):

[...]
target 'TUComponents' do


    pod 'AHKNavigationController'
    pod 'TTTAttributedLabel'

    use_frameworks!


end

target 'TUModels' do


    pod 'JSONModel'

    use_frameworks!


end
Run Code Online (Sandbox Code Playgroud)

更奇怪的是;Xcode 在代码完成导入JSONModel/JSONModel.h标头(或JSONModel在模块 @import 的情况下)没有问题。但是当我尝试编译时,它失败了。

我的配置可能有什么问题?

更新:如果我放弃在 pod 中使用框架并使用常规的旧静态库,并将框架中的允许非模块化包含设置为是,我可以构建。但是我不知道为什么我在使用 Pod 框架时无法构建。

xcode ios ios-frameworks cocoapods xcode8

5
推荐指数
1
解决办法
2240
查看次数

Xcode 8 在构建之前更新多个目标的构建号

我有一个有 3 个目标的应用程序:

  • 应用目标
  • 消息应用
  • 应用扩展

我正在尝试更新每个构建的构建号,所有目标的这个数字必须相等,否则 App Store 将使构建无效。
我尝试过不同的方法,这也是一个,但我不喜欢它,因为我必须硬编码的plist文件名称到脚本,而我更愿意把它尽可能通用。
在寻找不同的解决方案时,我从 Apple 找到了这个名为avgtool 的工具。
我能够创建一个脚本,为所有目标以相同的值更新内部版本号,但这似乎只有当我将它添加到列表顶部的构建阶段时才有效。问题是这个脚本必须在构建之前启动。
为此,必须将其添加到Edit Scheme->Build->Pre-Actions 但是当我在这里写它时,它没有任何效果。

#!/bin/bash
buildNumber=$(date +%s)
echo "$buildNumber"
xcrun agvtool new-version -all "$buildNumber"
Run Code Online (Sandbox Code Playgroud)

bash xcode build-script ios xcode8

5
推荐指数
0
解决办法
494
查看次数