블로그 이미지
Every unexpected event is a path to learning for you.

카테고리

분류 전체보기 (2731)
Unity3D (814)
Programming (474)
Server (33)
Unreal (4)
Gamebryo (56)
Tip & Tech (228)
협업 (57)
3DS Max (3)
Game (12)
Utility (136)
Etc (96)
Link (32)
Portfolio (19)
Subject (90)
iOS,OSX (51)
Android (14)
Linux (5)
잉여 프로젝트 (2)
게임이야기 (3)
Memories (20)
Interest (38)
Thinking (38)
한글 (30)
PaperCraft (5)
Animation (408)
Wallpaper (2)
재테크 (18)
Exercise (3)
나만의 맛집 (3)
냥이 (10)
육아 (16)
Total
Today
Yesterday
03-29 07:22

많은 사람들이 pod install 을 코코아팟 프로젝트를 처음 세팅할 때 딱 한 번 쓰고 pod update 는 그 이후에 사용된다고 생각합니다. 그러나 전혀 그렇지 않습니다! 😝

 

이번 포스팅에서 pod install  pod update 를 정확히 알아보도록 하겠습니다.

pod install

  pod을 프로젝트에 세팅하기 위하여 맨 처음에 사용됩니다. 하지만 Podfile의 pod을 추가, 수정, 삭제할 때에도 사용됩니다.

 

pod install 명령어를 실행하면 새로운 pod을 다운받고 설치합니다. 그리고 각 pod 마다 설치된 버전을 Podfile.lock 에 기록해 놓습니다. Podfile.lock은 설치된 pod들의 버전을 계속 추적하여 기록해놓고 유지시키는 역할을 합니다.

 

pod install 을 실행하면,

Podfile.lock에 리스트된 팟들에 대해선 지정된 버전만 다운받습니다. 새로운 버전이 존재하는지 체크하지 않는 것이죠!

Podfile.lock에 리스트되지 않은 팟들은 Podfile에 명시된 버전 조건으로 검색하여 다운로드 받습니다. (ex. pod 'MyPod', '~>1.2')

Podfile.lock 예시

PODS: - Alamofire (4.8.2) - Crashlytics (3.13.2) . . . PODFILE CHECKSUM: 567f647c0698abc31d48952ce58077we758abse2

Podfile.lock에는 CHECKSUM이 부여됩니다. Podfile.lock의 유일성을 보증하는 해쉬값인 셈이죠. 만약 버전에 변경이 생기면 CHECKSUM 또한 변하게 됩니다.

pod update

  pod update {팟이름} 을 실행시키면, 코코아팟은 해당 팟의 업데이트된 버전이 있는지 검색합니다. Podfile.lock을 참조하지 않죠. 이 명령어는 팟을 최신 버전으로 업데이트 시켜주는 것입니다. (단, Podfile의 버전 조건과 일치해야 합니다.) 단순하게 pod update 만 실행시키면 코코아팟은 모든 팟에 대해 가능한 최신 버전으로 업데이트를 실행합니다.

pod outdated

  pod outdated 를 실행하면, 코코아팟은 Podfile.lock에 리스트된 것보다 새로운 버전을 가진 모든 팟을 나열합니다. 이 팟들에 대해 pod update {팟이름} 을 실행한다면 업데이트가 될 것이라는 것을 의미합니다. (역시나 Podfile의 버전 조건과 부합하는 한!)

pod repo update

  /Users/{사용자이름}/.cocoapods/repos 에 있는 모든 podspec 파일을 업데이트 합니다. podspec 파일에는 해당 pod 의 주소 등 중요한 정보들이 담겨있습니다.

 

spec.source = { :git => 'https://github.com/Alamofire/Alamofire.git', :tag => 'v3.1.1' }

 

~/.cocoapods/repos 에는 모든 pod에 대해 가능한 버전들의 podspec 파일들이 모여있습니다. pod repo update 를 실행하게 되면 최신 podspec 파일들로 업데이트되게 되는 것입니다. 추가한 라이브러리에 대한 podspec 이 업데이트되지 않아 오류가 날 경우 이 명령어를 통하여 해결할 수 있습니다.

Podfile.lock을 커밋하세요!

  동료와 같이 협업하고 있다면! 꼭 Podfile.lock을 공유해야 합니다. pod 버전을 모두가 동일하게 쓰도록 유지시키는 역할을 하는 것이죠. 그리고 Podfile이 수정될 일이 생긴다면 pod install 명령어를 통해 의존성을 관리하면 됩니다. 만약 동료들과 같은 CHECKSUM을 얻는데에 실패했다면 간단하게 rm -rf Pods && pod install 을 실행하면 됩니다. 😎

참조

https://guides.cocoapods.org/using/pod-install-vs-update.html

 

 

[출처] onelife2live.tistory.com/30

 

[Cocoapods] pod install? pod update? 제대로 알고 쓰자

많은 사람들이 pod install 을 코코아팟 프로젝트를 처음 세팅할 때 딱 한 번 쓰고 pod update 는 그 이후에 사용된다고 생각합니다. 그러나 전혀 그렇지 않습니다! 😝 이번 포스팅에서 pod install 과 pod

onelife2live.tistory.com

 

반응형
Posted by blueasa
, |

[링크] m.clien.net/service/board/cm_iphonien/15617008

 

[Scriptable] 국내 코로나 확진자현황 위젯 : 클리앙

11/27 09:53 수정 현재 코로나 라이브 받으신분들 동작이 안되실텐데요. 원인을 살펴보니, 돔구조가 변경이 되었더라구요.. 우선 Gist에 변경된 구조를 반영을 해두기는 했습니다만... 변경의 내용이

m.clien.net

 

반응형
Posted by blueasa
, |

 

 

iOS 빌드를 업로드 하고 받은 에러

위 경우는 NSBluetoothAlwaysUsageDescription, NSBluetoothPeripheralUsageDescription로

Bluetooth 관련 2가지가 추가로 떴다.

 

아래와 같이 plist에 Privacy 관련 Description 2개 추가해줌

 

-----------------------------------------------------------------------------------------------

<key>NSBluetoothAlwaysUsageDescription</key>

<string>App would like to use your bluetooth for communication purposes</string>

<key>NSBluetoothPeripheralUsageDescription</key>

<string>App would like to use your bluetooth for communication purposes</string>

-----------------------------------------------------------------------------------------------

 

 

[출처]

https://stackoverflow.com/questions/57987863/nsbluetoothalwaysusagedescription-required-but-bluetooth-is-not-used

 

NSBluetoothAlwaysUsageDescription required, but bluetooth is not used

In my ios app with new Xcode 11 GM Seed 2 after deploy, apple returned error: ITMS-90683: Missing Purpose String in Info.plist with NSBluetoothAlwaysUsageDescription. https://developer.apple.com/

stackoverflow.com

 

반응형
Posted by blueasa
, |

[추가]

아이폰11프로(iOS13)를 사고 이전 폰(iOS12) 데이터를 백업&복원했는데 프로파일 메뉴가 없어서 찾아보니 아래와 같은 방법이 있다.

 

----

같은 문제로 검색하다하, 다른 곳에서 해결 방안을 찾아서 여기에도 공유드립니다.
2018년 8월 기준으로... ios12를 설치하기 위한 준비 단계인 프로파일 설치 과정을 따라하시면 됩니다.
물론 ios12를 설치할 필요는 없습니다.

<아이폰의 웹브라우저에서 >
1) beta.apple.com에 접속
2) 애플아이디로 로그인
3) 같은 페이지에, 기기등록 탭 클릭( 가이드 옆) -> 좀 스크롤을 내리시면, (2)프로파일을 다운로드합니다. 아래
-> [프로파일 다운로드] 파란버튼 클릭...
4) ios 12용 프로파일이 설치됨.

< 아이폰의 설정 >
1) 일반 > 프로파일 항목 생긴 것 확인됨.
2) 그 아래 ios12용 프로파일도 같이 설치됨
3) ios12를 설치할 필요는 없습니다.

< 출처는 아래 유튜브 영상입니다. >

 

 

[출처] https://www.clien.net/service/board/cm_iphonien/9610173

 

설정-일반-"프로파일" 메뉴가 없네요 : 클리앙

작년에도 한번 이런적이 있어서 베타를 안올린적이 있는데 지금도 이러네요.. 아이튠즈로 gm을 올리면 먹통이 된다하셔서 사파리에서 받아다가 ota로 올리려고 gm프로파일 링크를 눌러도 설정에 프로파일 메뉴가 없으니 홈화면으로 자꾸 튕겨버립니다. 설정-검색에서 프로파일로 검색하면 프로파일및 모바일기기관리라고 뜨는데 이동이 안되고 뜨지도 않네요. 혹시 해결법을 아시는 분 계신가요?

www.clien.net

 

반응형
Posted by blueasa
, |

iOS 10 버전 부터, Apple은 앱 개발자에게 사용하는 프레임웍에 대한 설명을 info.plist 파일에 기술하도록 요청하고 있습니다. 이 설명은 사용자에게 해당 기능 사용에 대한 허가를 요청할때 보여지게 됩니다(e.g. location, accelerometer, etc.). 이 요구사항은 탭조이 같은 써드파티 SDK까지 확대 되었습니다. 탭조이는 편의를 위해 탭조이가 사용하고 있는 프레임웍에 대해서 info.plist에 포함해야할 내용을 다음과 같이 제공해 드립니다.

Function Key Suggested Text
Accessing media library NSAppleMusicUsageDescription 광고 경험 향상을 위해서 미디어 라이브러리가 사용됩니다.
Accessing location data all time* NSLocationAlwaysUsageDescription 광고 경험 향상을 위해서 위치 정보에 접근할 수 있습니다.
Accessing location data when the app is in use* NSLocationWhenInUseUsageDescription 광고 경험 향상을 위해서 위치 정보에 접근할 수 있습니다.
Accessing accelerometer NSMotionUsageDescription 광고 경험 향상을 위해서 가속센서를 사용할 수 있습니다.
Accessing photo library NSPhotoLibraryUsageDescription 개인화된 광고 경험 향상을 위해서 사진 정보에 접근할 수 있습니다.

* SDK 11.9.0부터 CoreLocation.framework 은 optional 입니다.

만일 위와 같은 정보를 info.plist에 추가하지 않으면 다음과 같은 사유로 앱스토어 등록이 거부될 수 있습니다.

This app attempts to access privacy-sensitive data without a usage description. The app’s Info.plist must contain an NSAppleMusicUsageDescription key with a string value explaining to the user how the app uses this data.

This app attempts to access privacy-sensitive data without a usage description. The app’s Info.plist must contain an NSLocationAlwaysUsageDescription key with a string value explaining to the user how the app uses this data.

This app attempts to access privacy-sensitive data without a usage description. The app’s Info.plist must contain an NSLocationWhenInUseDescription key with a string value explaining to the user how the app uses this data.

This app attempts to access privacy-sensitive data without a usage description. The app’s Info.plist must contain an NSMotionUsageDescription key with a string value explaining to the user how the app uses this data.

This app attempts to access privacy-sensitive data without a usage description. The app’s Info.plist must contain an NSPhotoLibraryUsageDescription key with a string value explaining to the user how the app uses this data.

보다 자세한 정보는 Apple Developer Forum의 내용을 확인해 주세요. info.plist 수정 방법은 Apple이 제공하는 info.plist 관련 문서를 참조해 주세요.

 

[출처] https://dev.tapjoy.com/ko/faq/ios-10-data-authorization/

반응형
Posted by blueasa
, |
반응형
Posted by blueasa
, |

[참고] https://blueasa.tistory.com/2185

macOS에서 숨겨진 폴더, 숨긴 파일을 표시하는 가장 간단한 방법

 

-------------------------------------------------------------

맥의 하드용량이 내가 파일을 하드에 저장하는 것을 인지하는 것 보다 더 빨리 줄어드는 것 같다. 그래서 Hazel 에 규칙을 만들어서 주기적으로 안쓰는 파일을 지우거나 외장하드에 백업하기도 한다.

최근에는 맥북의 SSD에 16GB정도가 남아 있었는데, spotlight 인덱싱 때문인지 임시적으로 0이 될때도 있어서, 몇일 전에는 애플메일에는 spotlight 인덱싱을 뺐더니 하드확보는 되는 것 같다.  magican으로 임시파일들을 청소하기도하고, Hazel 규칙을 만들어서 청소하기도 한다.

근데 오늘 뜻하지 않게 약 70GB를 확보하게 되었다.

결론 부터 얘기하면, Xcode 가 빌드할때 마다 아카이브하고 있는 파일들을 청소해서이다.

Xcode 프로젝트에서 기존에 있던 파일명으로 새로 파일을 만들고나서 빌드 오류가 나서 해결책을 찾다가 ~/Library/Developer/Xcode/DerivedData directory  라는 것을 발견했는데, 여기게 62GB가 있었다.

xcode directory

1. ~/Library/Developer/Xcode/DerivedData   지우기

찾아보니 이 디렉토리에 프로젝트 별로 빌드에 관한 정보가 다 저장되어 있다고 한다.  그래서 프로젝트 인덱싱이 잘 안되면 이 디렉토리를 지우는 것이 좋다는 팁도 있는데, 이게 계속 쌓이기만 하고 있는 것이 문제인 것 같다.  이 디렉토리를 지우고 다시 빌드를 하면 다시 생기니 여러 프로젝트를 하는 경우에 이 디렉토리를 지워도 되는 것 같다. 

이 디렉토리르 지워서 62GB 가 생겼다.

2.  ~/Library/Developer/Xcode/Archives  지우기

찾은 김에 Xcode 디렉토리들을 하나씩 봤는데, Archives 디렉토리도 있었다.  이건 릴리즈한 것에 대해서 디버깅을 할 수 있는 정보들이 있었다.  이것도 Xcode 에서 archive 할때마다 쌓이는 모양이다.   이 디렉토리는 지워서 8GB를 얻었다.

3. ~/Library/Developer/Xcode/iOS Device Logs 지우기

여기에  560MB 가 있었고,  로그를 볼일이 없어서 지웠다.

4. ~/Library/Developer/Xcode/ iOS DeviceSupport 필요 없는 시뮬레이터 지우기

여기에 8.64 GB 가 있었는데, 보니  iOS 5 부터 시뮬레이터들이 있었다.  최근것 남기도 다 지웠다.

Xcode

Xcode 디렉토리들을 지워서 약 70GB를 확보 했다.  256 GB SSD 에서 70GB는 겁나 큰 수확이었다.

DerivedData directory 는 빌드할때 문제가 있을때 지우고 해보거나 하는 식의 팁들이 있었지만, 내 경우에는 하드용량을 확보하기 위해서 지우게된 셈이다.

매번 볼수는 없으니 Hazel 로 이 빌드 폴더가  5 기가 이상이 되면 자동으로 지워지게 규칙을 만들었다.

혹시 Xcode 를 사용하는 분 중에서 하드용량 확보 필요가 있다면 ~/Library/Developer/Xcode/ 디렉토리 용량이 얼마나 되는지 확인한번 해보는 것도 좋을 것같다.

 

[출처] http://dobiho.com/7192/

반응형
Posted by blueasa
, |

애플에서 제공한 문서 에서 자세한 내용을 확인할 수 있습니다.

<중요> 테스트를 진행하 때는 반드시 로컬 IPv6 네트워크만 활성화 되어 있어야 합니다. 예를 들어 셀룰러 서비스가 켜져 있다면 비활성화 하여 Wi-Fi만으로 테스트가 진행되도록 설정해야 합니다.

환경구성 개요

(1) MAC 컴퓨터 (혹은 노트북)이 Wi-Fi가 아닌 방식으로 인터넷에 연결되어 있는 지 확인하세요.

(2) 시스템 환경 설정을 실행하세요.

(3) Option(Alt) 키를 누른 상태로 공유 메뉴를 실행합니다. 5번 항목까지 **Option(Alt)**키를 누른 채로 유지해 주세요.

![공유 항목 열기] (https://developer.apple.com/library/mac/documentation/NetworkingInternetWeb/Conceptual/NetworkingOverview/art/systempreferences_sharing_2x.png)

(4) 공유 의 서비스 중 인터넷 공유를 선택합니다.

![인터넷 공유 설정] (https://developer.apple.com/library/mac/documentation/NetworkingInternetWeb/Conceptual/NetworkingOverview/art/systempreferences_sharing_internetsharing_2x.png)

(5) Option(Alt) 키에서 손을 뗍니다. (release를 뭐라고 번역해야 하죠????)

(6) 아래 쪽에 보이는 NAT64 네트워크 생성 체크 박스를 선택합니다.

![로컬 IPv6 NAT64 네트워크 활성화] (https://developer.apple.com/library/mac/documentation/NetworkingInternetWeb/Conceptual/NetworkingOverview/art/systempreferences_sharing_internetsharing_ipv6_2x.png)

(7) 연결 공유 콤보박스에서 이더넷을 선택합니다.

랜선으로 연결된 경우 이더넷을 선택합니다.
이외의 경우 자신의 MAC이 인터넷에 연결된 방식을 골라서 선택하시면 됩니다.

![자신의 MAC이 인터넷에 연결된 방식 선택] (https://developer.apple.com/library/mac/documentation/NetworkingInternetWeb/Conceptual/NetworkingOverview/art/systempreferences_sharing_internetsharing_connection_2x.png)

(8) 다음 사용항목에서 Wi-Fi를 선택합니다.

![Wi-Fi 공유 활성화] (https://developer.apple.com/library/mac/documentation/NetworkingInternetWeb/Conceptual/NetworkingOverview/art/systempreferences_sharing_internetsharing_ports_2x.png)

(9) Wi-Fi 옵션... 버튼을 클릭하여 네트워크 이름과 보안 옵션(암호)를 설정합니다.

![Wi-Fi 네트워크 옵션 설정] (https://developer.apple.com/library/mac/documentation/NetworkingInternetWeb/Conceptual/NetworkingOverview/art/systempreferences_sharing_internetsharing_wi-fioptions_button_2x.png)

![Wi-Fi 옵션 설정창] (https://developer.apple.com/library/mac/documentation/NetworkingInternetWeb/Conceptual/NetworkingOverview/art/systempreferences_sharing_internetsharing_wi-fioptions.png)

(10) 인터넷 공유 체크박스를 선택하여 네트워크 공유를 활성화합니다.

![인터넷 공유 활성화] (https://developer.apple.com/library/mac/documentation/NetworkingInternetWeb/Conceptual/NetworkingOverview/art/systempreferences_sharing_internetsharing_sharingenabled_2x.png)

(11) Wi-Fi를 통해 이더넷(랜) 네트워크를 공유하려면 Wi-Fi를 켜야 합니다. 이후 인터넷 공유를 하겠냐는 대화창에서 시작을 누르시면 인터넷 공유가 시작됩니다.

![인터넷 공유 시작] (https://developer.apple.com/library/mac/documentation/NetworkingInternetWeb/Conceptual/NetworkingOverview/art/systempreferences_sharing_internetsharing_enabledconfirmation.png)

![인터넷 공유가 되고 있는 모습] (https://developer.apple.com/library/mac/documentation/NetworkingInternetWeb/Conceptual/NetworkingOverview/art/internet_sharing_wi-fi_menu_2x.png)




[출처] https://gist.github.com/stzhyegeun/48a4937b869897f7e7c1f479a74fe3bf

반응형
Posted by blueasa
, |

맥 운영체제 기본적으로 특정 시스템 및 백업 파일을 Finder에 표시하지 않습니다.

컴퓨터 오작동을 막기 위해 이러한 파일이 실수로 수정되거나 삭제되지 않게 하기 위해서입니다. 하지만 컴퓨터를 사용하다 보면 여러 가지 이유로 숨겨진 파일이나 폴더를 열어봐야 할 때가 있죠. 특히 컴퓨터에 문제가 생겼거나, 소프트웨어의 숨겨진 세팅을 변경할 때 숨겨진 파일에 접근해야 합니다. 아니면 단순히 다른 사람의 눈에 띄지 않도록 폴더를 숨겨놓고는 합니다.

맥에서 특정 파일이 숨겨져 있다면, 어떻게 이 파일을 볼 수 있을까?

지금까지는 터미널 명령어를 사용해 숨겨진 설정을 활성화하거나 이를 대신해주는 트윅 프로그램을 이용해야 했는데요. macOS 시에리부터는 멀리 돌아갈 필요 없이, 키보드 단축키만으로 간단히 숨김 파일·폴더를 볼 수 있습니다.

Finder 또는 데스크탑에서 shift +command + . 키를 누르면 해당 폴더에 숨겨진 파일과 하위 폴더가 스르륵 나타납니다. 그리고 다시 해당 키 조합을 누르면 사라집니다.

정말 간단해졌죠? 조심할 점은 운영체제를 구동하거나 시스템 설정과 관련된 많은 파일이 같이 나타나는데, 특별한 이유가 없다면 이들 파일에 손을 대지 않는 것이 좋습니다. 이렇게 숨겨진 파일과 폴더는 색갈이 희미하게 표시되어 일반적인 파일·폴더와 쉽게 구별할 수 있습니다.

응용 프로그램에서 파일을 열고 저장할 때도 위와 같은 방법을 사용할 수 있습니다.

확장된 파일 열기/저장 대화상자가 열린 상태에서 shift +command + . 키를 누르면 숨겨진 파일과 폴더를 볼 수 있습니다. (Finder처럼 색상 흐림 표시는 되지 않습니다.) 은밀한 곳에 파일을 저장하고 열고 싶을 때가 있다면 이번 기회에 꼭 익혀두세요.



[출처] http://macnews.tistory.com/5286

반응형
Posted by blueasa
, |

기기가 잠겨있는 동안에는 개발을 사용 할 수 없습니다..

Development cannot be enabled while your device is locked.


맥에 아이폰을 연결 할 당시 뭔가를 하고 있거나 해서.. 신뢰 버튼을 누르지 않은 경우에 발생 함.


설정 > 일반 > 재설정 > 위치 및 개인 정보 보호 재설정 누른 뒤


다시 선을 뺐다가 꼽으면 신뢰하시겠습니까? 가 뜨고


신뢰를 누르면 잘 됨 :)



출처: http://babysunmoon.tistory.com/entry/Xcode-빌드-오류-Development-cannot-be-enabled-while-your-device-is-locked [주로로 통신]

반응형
Posted by blueasa
, |